On Thu, Jul 13, 2023 at 6:09 PM Demi Marie Obenour
<demioben...@gmail.com> 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
> >> <demioben...@gmail.com> 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@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to