The following modular packages require Python 3.7 on Fedora 30:
$ dnf repoquery --releasever 30 --repo=fedora-modular --repo=updates{,-testing}-modular --whatrequires 'libpython3.7m.so.1.0()(64bit)' python3-pygit2-0:0.27.4-1.module_f30+2959+693db98d.x86_64
$ dnf repoquery --releasever 30 --repo=fedora-modular --repo=updates{,-testing}-modular --whatrequires 'python(abi) = 3.7' meson-0:0.50.0-1.module_f30+3586+7354b37a.noarch meson-0:0.50.1-1.module_f30+3966+49c83da1.noarch python3-aexpect-0:1.5.1-4.module_f30+2883+7f6a800a.noarch python3-pygit2-0:0.27.4-1.module_f30+2959+693db98d.x86_64 stratis-cli-0:1.0.2-1.module_f30+3525+55cfb91a.x86_64
That's: python-pygit2-0.27.4-1.module_f30+2959+693db98d.src.rpm meson-0.50.0-1.module_f30+3586+7354b37a.src.rpm meson-0.50.1-1.module_f30+3966+49c83da1.src.rpm python-aexpect-1.5.1-4.module_f30+2883+7f6a800a.src.rpm python-pygit2-0.27.4-1.module_f30+2959+693db98d.src.rpm stratis-cli-1.0.2-1.module_f30+3525+55cfb91a.src.rpm
I have no idea how to query rawhide, because i only get nothing provides module(platform:f31) errors when I try to set releasever to 31 or to query --repo=rawhide-modular.
I'd like to know what shall I do about Python 3.8 rebuilds of those. How do I do it? Where do I do it?
How do I test it against my copr before we proceed in a rawhide side tag? Should I just fetch the srpms and use them as they are? Will they build? Do I have all their build dependencies? How can I tell without trying?
How do I cc their maintainers? Does <srpm_name>-maintainers@fedoraproject.org include the maintainers of the modular build?
So many questions. Can somebody please help me handle those?
Thanks,
On 4/26/19 8:01 AM, Miro Hrončok wrote:
The following modular packages require Python 3.7 on Fedora 30:
$ dnf repoquery --releasever 30 --repo=fedora-modular --repo=updates{,-testing}-modular --whatrequires 'libpython3.7m.so.1.0()(64bit)' python3-pygit2-0:0.27.4-1.module_f30+2959+693db98d.x86_64 meson-0.50.1-1.module_f31+3967+781a4e9d.src.rpm
$ dnf repoquery --releasever 30 --repo=fedora-modular --repo=updates{,-testing}-modular --whatrequires 'python(abi) = 3.7' meson-0:0.50.0-1.module_f30+3586+7354b37a.noarch meson-0:0.50.1-1.module_f30+3966+49c83da1.noarch python3-aexpect-0:1.5.1-4.module_f30+2883+7f6a800a.noarch python3-pygit2-0:0.27.4-1.module_f30+2959+693db98d.x86_64 stratis-cli-0:1.0.2-1.module_f30+3525+55cfb91a.x86_64
That's: python-pygit2-0.27.4-1.module_f30+2959+693db98d.src.rpm meson-0.50.0-1.module_f30+3586+7354b37a.src.rpm meson-0.50.1-1.module_f30+3966+49c83da1.src.rpm python-aexpect-1.5.1-4.module_f30+2883+7f6a800a.src.rpm python-pygit2-0.27.4-1.module_f30+2959+693db98d.src.rpm stratis-cli-1.0.2-1.module_f30+3525+55cfb91a.src.rpm
I have no idea how to query rawhide, because i only get nothing provides module(platform:f31) errors when I try to set releasever to 31 or to query --repo=rawhide-modular.
FWIW - on my rawhide system I also see python-avocado.
I'm certainly not an expert, but your questions sparked my curiosity so I tried to investigate as well.
I'd like to know what shall I do about Python 3.8 rebuilds of those. How do I do it? Where do I do it?
The first step would be to figure out what module a package comes from. dnf info/list does not currently appear to work. There is a bug for this here: https://bugzilla.redhat.com/show_bug.cgi?id=1480569
You can get it by trying to install the package and seeing what module gets activated:
# dnf install meson Last metadata expiration check: 0:05:43 ago on Sun 28 Apr 2019 01:18:21 PM MDT. Dependencies resolved. =============================================================================================================== Package Architecture Version Repository Size =============================================================================================================== Installing: meson noarch 0.50.1-1.module_f31+3967+781a4e9d rawhide-modular 837 k Installing dependencies: ninja-build x86_64 1.9.0-1.module_f31+3361+bdb2aa23 rawhide-modular 126 k vim-filesystem noarch 2:8.1.1137-1.fc31 rawhide 29 k Enabling module streams: meson latest
ninja latest
So presumably it comes from the meson module.
To rebuild a module (say meson) you would do:
- first rebuild (or at least push the changes to) the meson package, so that the module-build system picks up the change
- then rebuild the meson module: fedpkg clone modules/meson cd meson git commit -a -m 'rebuild for python 3.8' --allow-empty git push fedpkg module-build
Now, I have no idea if modules can interact with side tags at all.
How do I test it against my copr before we proceed in a rawhide side tag?
Note that there's nothing particularly special about the module build of the package vs the normal build of the package. If the meson package builds against python3.8 in your copr, it should build find as part of the module build.
Should I just fetch the srpms and use them as they are? Will they build? Do I have all their build dependencies? How can I tell without trying?
Your check for what requires the python abi seems like to should be sufficient to determine what needs building for python 3.8.
How do I cc their maintainers? Does <srpm_name>-maintainers@fedoraproject.org include the maintainers of the modular build?
So many questions. Can somebody please help me handle those?
Excellent questions...