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