On Thu, Jul 13, 2023 at 6:09 PM Demi Marie Obenour <demiobenour@xxxxxxxxx> wrote: > > On 7/13/23 11:52, Demi Marie Obenour wrote: > > On 7/13/23 11:32, Fabio Valentini wrote: > >> On Thu, Jul 13, 2023 at 5:25 PM Demi Marie Obenour > >> <demiobenour@xxxxxxxxx> wrote: > >>> > >>> On 7/5/23 02:22, Jens-Ulrik Petersen wrote: > >>>> I have submitted a Flock proposal to have a common discussion session for > >>>> (modern) Language SIGs. I think for this to be successful we need > >>>> representatives from various Language SIGs to be there (Rust, Haskell, > >>>> OCaml, Golang and of course Python and older ecosystems like Perl, R, TeX > >>>> come to mind immediately - surely there are more). Language packaging > >>>> experts are also welcome of course independently or affiliated to one or > >>>> more language SIGs. Of course I also hope there will be broad attendance by > >>>> interested contributors. > >>>> > >>>> The idea is to talk about common and distinct problems faced, both to learn > >>>> from each other and to come up with practical ideas and plans for generally > >>>> easing Fedora's mass packaging efforts. > >>>> > >>>> If you plan to be at Flock and are willing and able to represent your > >>>> Language SIG at this Flock session do please reply or reach out to me. I > >>>> think each SIG could do a brief presentation there to kick off the dialogue. > >>>> > >>>> Thanks, Jens > >>> > >>> This could be made much easier if Fedora’s build system supported automated > >>> cascading rebuilds of transitive dependencies. Haskell and OCaml are currently > >>> linked statically in Fedora, but could be linked dynamically if cascading > >>> rebuilds were supported. Rust is likely, IMO, gain improved support for dynamic > >>> linking in the future. > >>> > >>> I am _not_ going to start a debate as to whether requiring cascading rebuilds > >>> is a good idea. That requirement comes from Haskell, OCaml, and Rust, not me, > >>> and so any complaints should be directed there. This subthread is strictly > >>> about changes to Fedora’s build system that make it easier to implement > >>> cascading rebuilds. > >> > >> I'm not sure how often I have to repeat myself, but dynamic linking > >> for Rust crates is NOT GOING TO HAPPEN. Even if the build system > >> supported doing this, the average number of updates for Rust crates I > >> push every week would keep the build system busy for a month, not even > >> mentioning the fact that it would blow up package sizes exponentially > >> (yes, *exponentially*, by about a factor of 2^n, with the number n of > >> optional features they support). Please stop mentioning Rust in this > >> context, it is misleading. > >> > >> Fabio > > > > Why is static linking any better? I’m not suggesting building the > > Cartesian product of all possible build configurations. That would be > > absurd. From my perspective it looks like static linking actually > > requires _more_ effort from the builders: they must build everything > > for each application that uses it instead of just building it once. > > Also if Rust winds up being a significant fraction of the overall system, > > the storage requirements of statically linking everything that uses Rust > > will be a serious problem. > > Is what I am missing that the builders cannot handle rebuilding all > of the transitive dependencies whenever a new version of a Rust crate > comes out? If so, that means that Fedora is shipping binaries built > from old versions of Rust crates. Yes, that is exactly what I'm saying. If all Rust binaries were to be rebuilt for any change in their dependency tree, there wouldn't be any builder resources left for anything else. Note that this is *still* better than just building using vendored dependencies, because in that case, applications only get rebuilt against newer dependencies for new versions (i.e. when the vendor tarball is updated). Currently applications get rebuilt against new dependencies at least every 6 months (i.e. for every mass rebuild), plus any rebuilds for security updates that I do, plus for any patches that need to be applied for other reasons (mostly, porting to new versions of dependencies). Fabio _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue