Re: Fedora 32 System-Wide Change proposal: Modules in Non-Modular Buildroot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 14, 2019 at 1:40 PM Stephen Gallagher <sgallagh@xxxxxxxxxx> wrote:
>
> On Thu, Nov 14, 2019 at 12:12 PM Miro Hrončok <mhroncok@xxxxxxxxxx> wrote:
> >
> > On 09. 10. 19 22:46, Ben Cotton wrote:
> > > https://fedoraproject.org/wiki/Changes/Modules_In_Non-Modular_Buildroot
> > >
> > > Enable module default streams in the buildroot repository for modular
> > > and non-modular RPMs.
> > >
> > > == Summary ==
> > > This Change (colloquially referred to as "Ursa Prime") enables the
> > > Koji build-system to include the RPM artifacts provided by module
> > > default streams in the buildroot when building non-modular (or
> > > "traditional") RPMs.
> >
> > I have one more technical concern.
> >
> > Suppose a packager decides to package the "mycoolapp" software as a non-modular
> > package. "mycoolapp" is written in Python, it builds again non-modular Python,
> > currently 3.8, it requires "python(abi) = 3.8" on runtime.
> >
> > The packager decides to use avocado in %check. Avocado comes from a module, it
> > requires "python(abi) = 3.8" as well, because the modular package was built with
> > Python 3.8. Avocado is in the bulidroot, so everything works.
> >
> > The Python maintainers (that includes me) decide to update to Python 3.9 in
> > Fedora 33. They request a side tag to do that. They update the python3 to 3.9
> > and they mass rebuild all non-modular Python packages in it. "mycoolapp" cannot
> > resolve build dependencies because avocado requires "python(abi) = 3.8".
> >
> > The Python maintainers need to detect this and figure out what happened.
> > Then, the Python maintainers need to either:
> >
> >   1. Exclude "mycoolapp" from the rebuild. That is possible until dozens of
> > other packages require "mycoolapp".
> >
> >   2. Ask the avocado maintainers to rebuild their module in the side tag and ask
> > releng to add the side-tag-built module into the side-tag buildroot (if it is
> > even possible).
> >
> >   3. Modify the spec of "mycoolapp" to temporarily disable %check and loose the
> > avocado dependency.
> >
> > Or is there some other way?
> >
>
> Does Python actually break ABI on minor releases? So a full rebuild is
> required for that case?
>

It is, yes. The Python ABI is versioned as MAJOR.MINOR.


-- 
真実はいつも一つ!/ Always, there's only one truth!
_______________________________________________
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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux