Re: Help needed triaging build failures without distutils
Added for kig in https://src.fedoraproject.org/rpms/kig/c/d1d0c99facdb10dce32a8bf583750efaa565eefe?branch=rawhide ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Help needed triaging build failures without distutils
Hi, On Tue, Oct 18, 2022 at 11:34 AM Miro Hrončok wrote: > The Python standard library distutils module will be removed from Python 3.12+ > https://peps.python.org/pep-0632/ It's done: https://github.com/python/cpython/commit/0faa0ba240e815614e5a2900e48007acac41b214 I created a discussion to collaborate on Python 3.12 incompatible changes like the removal of the distutils package: https://discuss.python.org/t/collaboration-on-handling-python-3-12-incompatible-changes-distutils-removal-invalid-escape-escape-etc/20721 Victor ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: distutils use in hivex libdnet libnbd (and more) [was: Re: Help needed triaging build failures without distutils]
On 24. 10. 22 12:46, Richard W.M. Jones wrote: I'm not sure what could have happened here. The RPM would have failed to build if the Python bindings had been ./configure-d out. The link shows libguestfs as "not build yet / Disabled": https://copr.fedorainfracloud.org/coprs/g/python/python-without-distutils/packages/?page=13 (I forgot to respond to this part of your email, so doing that now.) That is caused by the fact that I build packages in a custom "directory" which is a copr thing that allows me to build thousands of packages in copr without them "seeing" each other, but it has some UX downsides, such as not being visible as built on this page. but then there's a build which succeeded: https://copr.fedorainfracloud.org/coprs/g/python/python-without-distutils/build/4906970/ and it has Python bindings. (The logs of the build don't seem to be available.) Yeah, I only renewed failed builds for the logs, I had no idea people will want to examine succeeded packages. Looking at the latest succeeded root.log from Koji instead https://koji.fedoraproject.org/koji/buildinfo?buildID=2074440 https://kojipkgs.fedoraproject.org//packages/libguestfs/1.49.5/2.fc38/data/logs/x86_64/root.log I see python3-setuptools was installed, which is the likely reason the build succeeded without distutils (as said in my announcement, setuptools provide a distutils module, which is 99%-compatible replacement for the removed standard library module). -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: [Libguestfs] distutils use in hivex libdnet libnbd (and more) [was: Re: Help needed triaging build failures without distutils]
On Mon, Oct 24, 2022 at 06:00:31PM +0200, Miro Hrončok wrote: > On 24. 10. 22 15:14, Richard W.M. Jones wrote: > >Original code: > > > > $ python3 -c 'import distutils.sysconfig; > > print(distutils.sysconfig.get_python_lib(1,0));' > > /usr/lib64/python3.11/site-packages > > > >Potential replacement: > > > > $ python3 -c 'import sysconfig; print(sysconfig.get_path("platlib"));' > > /usr/local/lib64/python3.11/site-packages > > That is a correct replacement. It will return the same value in > rpmbuild environment. > > >Maybe the original code was wrong, but I guess we don't want to > >install site packages in /usr/local when running under RPM at least. > > $ python3 -c 'import sysconfig; print(sysconfig.get_path("platlib"));' > /usr/local/lib64/python3.11/site-packages > > $ RPM_BUILD_ROOT=/ python3 -c 'import sysconfig; > print(sysconfig.get_path("platlib"));' > /usr/lib64/python3.11/site-packages Ah ha! Good one, thanks :-) Here's the fix for libguestfs: https://github.com/libguestfs/libguestfs/commit/26940f64a740676103b0ee49bf0ca5ac4e297841 I'll leave this fix to stew for a while and if it works I'll fix various other projects in a similar way. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: [Libguestfs] distutils use in hivex libdnet libnbd (and more) [was: Re: Help needed triaging build failures without distutils]
On 24. 10. 22 15:14, Richard W.M. Jones wrote: Original code: $ python3 -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(1,0));' /usr/lib64/python3.11/site-packages Potential replacement: $ python3 -c 'import sysconfig; print(sysconfig.get_path("platlib"));' /usr/local/lib64/python3.11/site-packages That is a correct replacement. It will return the same value in rpmbuild environment. Maybe the original code was wrong, but I guess we don't want to install site packages in /usr/local when running under RPM at least. $ python3 -c 'import sysconfig; print(sysconfig.get_path("platlib"));' /usr/local/lib64/python3.11/site-packages $ RPM_BUILD_ROOT=/ python3 -c 'import sysconfig; print(sysconfig.get_path("platlib"));' /usr/lib64/python3.11/site-packages -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: [Libguestfs] distutils use in hivex libdnet libnbd (and more) [was: Re: Help needed triaging build failures without distutils]
[Sending 2nd email again since it didn't reach the Python-devel list first time] On Tue, Oct 18, 2022 at 11:13:47AM +0100, Richard W.M. Jones wrote: > On Tue, Oct 18, 2022 at 10:53:12AM +0100, Richard W.M. Jones wrote: > > https://github.com/libguestfs/libguestfs/blob/master/m4/guestfs-python.m4 > > Actually some help for how to replace it would be useful too as > sysconfig is not an exact replacement for distutils.sysconfig. In > particular get_python_lib doesn't exist, and I can't find an exact > replacement. > > Original code: > > $ python3 -c 'import distutils.sysconfig; > print(distutils.sysconfig.get_python_lib(1,0));' > /usr/lib64/python3.11/site-packages > > Potential replacement: > > $ python3 -c 'import sysconfig; print(sysconfig.get_path("platlib"));' > /usr/local/lib64/python3.11/site-packages > > Maybe the original code was wrong, but I guess we don't want to > install site packages in /usr/local when running under RPM at least. > Note it's used here: > > https://github.com/libguestfs/libguestfs/blob/master/python/Makefile.am#L50-L54 > > (We do not -- and cannot -- use ordinary Python install mechanisms.) > > Rich. > > -- > Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones > Read my programming and virtualization blog: http://rwmj.wordpress.com > nbdkit - Flexible, fast NBD server with plugins > https://gitlab.com/nbdkit/nbdkit -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: distutils use in hivex libdnet libnbd (and more) [was: Re: Help needed triaging build failures without distutils]
[Sending again since it didn't reach the Python-devel list first time] On Tue, Oct 18, 2022 at 10:53:12AM +0100, Richard W.M. Jones wrote: > On Tue, Oct 18, 2022 at 11:27:47AM +0200, Miro Hrončok wrote: > > Hey Pythonistas. > > > > The Python standard library distutils module will be removed from Python > > 3.12+ > > > > https://peps.python.org/pep-0632/ > > Annoying, but OK ... > > > As preparatory work, we build all python packages in a Copr repository > > with Python 3.11 sans distutils: > > > > https://copr.fedorainfracloud.org/coprs/g/python/python-without-distutils/ > > > > I've rebuilt all the failed builds again and also in a control-group copr: > > > > https://copr.fedorainfracloud.org/coprs/g/python/python-with-distutils/ > > > > 250 packages that failed to build without distuils but succeeded > > with distutils need to be examined and categorized into various > > different groups: > > > > - package uses distutils only if sys.version_info < (3, 12) > > -- this is OK but still fails here > > - package uses distutils unconditionally and the package needs to be fixed > > - package uses another package that uses distutils unconditionally > > and the dependency needs to be fixed > > > > I suspect most of the packages will fail to build with Python 3.12 > > (planned for Fedora 39, change proposal TBD). The python3-setutpools > > package provides a distutils module [^1], so sometimes "simply" > > adding BuildRequires: python3-setuptools might workaround the > > problem. > > ... > > > rjones hivex libdnet libnbd > > I think your testing methodology might have been wrong because we use > distutils in other packages that I maintain, notably: > > https://github.com/libguestfs/libguestfs/blob/master/m4/guestfs-python.m4 > > I'm not sure what could have happened here. The RPM would have failed > to build if the Python bindings had been ./configure-d out. The link > shows libguestfs as "not build yet / Disabled": > > > https://copr.fedorainfracloud.org/coprs/g/python/python-without-distutils/packages/?page=13 > > but then there's a build which succeeded: > > > https://copr.fedorainfracloud.org/coprs/g/python/python-without-distutils/build/4906970/ > > and it has Python bindings. (The logs of the build don't seem to be > available.) > > Anyway I'll see if I can fix this upstream as requested. > > Rich. > > -- > Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones > Read my programming and virtualization blog: http://rwmj.wordpress.com > virt-top is 'top' for virtual machines. Tiny program with many > powerful monitoring features, net stats, disk stats, logging, etc. > http://people.redhat.com/~rjones/virt-top -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Help needed triaging build failures without distutils
On 21. 10. 22 12:16, Miro Hrončok wrote: On 18. 10. 22 11:27, Miro Hrončok wrote: I suspect most of the packages will fail to build with Python 3.12 (planned for Fedora 39, change proposal TBD). The python3-setutpools package provides a distutils module [^1], so sometimes "simply" adding BuildRequires: python3-setuptools might workaround the problem. I've created a new copr repository: https://copr.fedorainfracloud.org/coprs/g/python/python-without-distutils-always-setuptools/ It always adds python3-setuptools to the buildroot, so packages that will be successful here will be buildable once they add BuildRequires on python3-setuptools. Note that adding such BuildRequires might however hide some transitive dependency problem, if the distutils import comes from a dependency. Builds pending. The following packages have either been fixed in the meantime, or their failure was unrelated: hplip libreswan libxml2 lttng-ust nispor nmstate photocollage python-cups python-jupyter-polymake python-m2r python-mne python-mplcursors python-rpmfluff python-sphinxcontrib-openapi python-usort rebase-helper sanlock The following packages succeeded with python3-setuptools, so adding something like this will workaround the problem for them: BuildRequires: (python3-setuptools if python3-devel >= 3.12) GConf2 MUSIC PyQt4 SoapySDR Zim anaconda anjuta appliance-tools astrometry audit awake b43-tools babeltrace babeltrace2 bamf baresip brd brial btest cairo-dock-plug-ins ccsm cdist clingo csmock cvc4 dee deltarpm distcc dmlite dnf-plugin-perfmetrics dnsviz eric etckeeper flann fonts-tweak-tool fusion-icon gdb gfal2-python gjots2 glusterfs gnome-doc-utils gnucash gnumeric gphotoframe gpodder graphviz grass gtk2 hivex hugin i2c-tools ibus ibus-anthy insight keycloak-httpd-client-install kig ldns libarcus libblockdev libcap-ng libcint libdnet libfreenect libftdi libkdumpfile libkkc libldb libnbd libneurosim libnl3 libprelude libpreludedb libproxy libpst libsavitar libselinux libsemanage libsolv libssh2-python libtalloc libtdb libtevent link-grammar livecd-tools maildirproc mailnag manafirewall marisa mathgl mpv netgen-mesher ntpsec ocaml-pyml oct2spec omniORB omniORBpy onboard openscap-daemon pam_wrapper pipx pluma policycoreutils pyflowtools pyke pyppd pystatgrab pysvn python-IPy python-PyPDF2 python-ansi python-auth-credential python-bintrees python-cmdln python-cpio python-cram python-cypy python-dbf python-empy python-firehose python-gccinvocation python-gzipstream python-iowait python-ipgetter python-kmod python-logging-tree python-logutils python-messaging python-modestmaps python-multi_key_dict python-nmap python-optcomplete python-pendulum python-py9p python-pyaes python-pycxx python-pyfim python-pylibravatar python-pynest2d python-pyoptical python-pyzolib python-rpdb python-schedutils python-simplevisor python-slip python-smbpasswd python-sysv_ipc python-termcolor python-uinput python-visionegg-quest python-whois python-yamlordereddictloader python3-cangjie python3-script python3-simpletal qpid-dispatch quodlibet rabbitvcs realtime-tests recode rednotebook rpm rteval rubber setroubleshoot simple-ccsm sip sos soundconverter sssd stp subversion syslog-ng systemd-coredump-python targetd tbb tcl-snack telepathy-logger tlsh torbrowser-launcher tuna tuned ufw urjtag uwsgi vips volume_key wiki2beamer wordxtr workrave xen xpra ydiff yokadi zbar -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Help needed triaging build failures without distutils
On 18. 10. 22 11:27, Miro Hrončok wrote: I suspect most of the packages will fail to build with Python 3.12 (planned for Fedora 39, change proposal TBD). The python3-setutpools package provides a distutils module [^1], so sometimes "simply" adding BuildRequires: python3-setuptools might workaround the problem. I've created a new copr repository: https://copr.fedorainfracloud.org/coprs/g/python/python-without-distutils-always-setuptools/ It always adds python3-setuptools to the buildroot, so packages that will be successful here will be buildable once they add BuildRequires on python3-setuptools. Note that adding such BuildRequires might however hide some transitive dependency problem, if the distutils import comes from a dependency. Builds pending. -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Help needed triaging build failures without distutils
The failure in pipx is because argparse-manpage[1], which is not in this list, requires distutils at runtime. + /usr/bin/python3 scripts/generate_man.py Traceback (most recent call last): File "/builddir/build/BUILD/pipx-1.1.0/scripts/generate_man.py", line 7, in from build_manpages.manpage import Manpage # type: ignore ^^ File "/usr/lib/python3.11/site-packages/build_manpages/__init__.py", line 7, in from .build_manpages import build_manpages, get_build_py_cmd, get_install_cmd File "/usr/lib/python3.11/site-packages/build_manpages/build_manpages.py", line 10, in from distutils.core import Command ModuleNotFoundError: No module named 'distutils' I filed an issue[2] advising argparse-manpage upstream of the situation. [1] https://src.fedoraproject.org/rpms/argparse-manpage [2] https://github.com/praiskup/argparse-manpage/issues/63 On 10/18/22 05:27, Miro Hrončok wrote: Hey Pythonistas. The Python standard library distutils module will be removed from Python 3.12+ https://peps.python.org/pep-0632/ As preparatory work, we build all python packages in a Copr repository with Python 3.11 sans distutils: https://copr.fedorainfracloud.org/coprs/g/python/python-without-distutils/ I've rebuilt all the failed builds again and also in a control-group copr: https://copr.fedorainfracloud.org/coprs/g/python/python-with-distutils/ 250 packages that failed to build without distuils but succeeded with distutils need to be examined and categorized into various different groups: - package uses distutils only if sys.version_info < (3, 12) -- this is OK but still fails here - package uses distutils unconditionally and the package needs to be fixed - package uses another package that uses distutils unconditionally and the dependency needs to be fixed I suspect most of the packages will fail to build with Python 3.12 (planned for Fedora 39, change proposal TBD). The python3-setutpools package provides a distutils module [^1], so sometimes "simply" adding BuildRequires: python3-setuptools might workaround the problem. However, upstream involvement is recommended. A few bugzillas were opened wrt this and I plan to open more: https://bugzilla.redhat.com/showdependencytree.cgi?id=PYTHON3.12&hide_resolved=0 I've also oepned some upstream Pull Requests: https://github.com/pypa/pip/pull/11522 https://github.com/pypa/setuptools/pull/3636 https://pagure.io/fedora-gather-easyfix/pull-request/10 https://github.com/filbranden/dnf-plugins-perfmetrics/pull/1 https://github.com/rpm-software-management/deltarpm/pull/17 Could you please help me by looking at your failed packages and talking to your upstreams? Feel free to reply with links, questions, bugzillas... To test this locally, you can do something like: 1. fedpkg clone $PKG && cd $PKG 2. mock -r fedora-rawhide-x86_64 init 3. mock -r fedora-rawhide-x86_64 install python3-devel 4. sudo rm -rf /var/lib/mock/fedora-rawhide-x86_64/root/usr/lib64/python3.11/distutils/ 4. fedpkg mockbuild -N Thanks! [^1]: Unfortunately, is not 100 % compatible with the removed standard library one distutils: https://github.com/pypa/setuptools/issues/3532 Maintainers by package: 0ad bruno kalev pcpa pwalter GConf2 alexl buc caillon caolanm mbarnes rhughes ssp walters MUSIC ankursinha PyQt4 sagitter than SoapySDR hobbes1069 mdomsch Zim cheeselee ohaessler anaconda anaconda-maint jkonecny m4rtink rvykydal sbueno vpodzime vponcova anjuta kalev limb moezroy rakesh appliance-tools ngompa astrometry lupinix audit sgrubb awake fab b43-tools pwalter babeltrace blarsen greenscientist keiths ktdreyer mjeanson suchakra babeltrace2 mjeanson bamf jspaleta salimma baresip robert brd jsbackus brial pcpa btest fab cairo-dock-plug-ins mtasaka ccsm jskarvad cdist fnux clingo thofmann cryptlib senderek cryptominisat jjames csmock kdudka svashisht csound ndim cvc4 brouhaha jjames dee jspaleta spot deltarpm defolos distcc grover limb dmlite adev andreamanzi gbitzes okeeble rocha vokac dnf-plugin-perfmetrics dcavalca dnsviz jonathanspw pemensik eric rdieter etckeeper thm fedora-gather-easyfix pingou flann rmattes fonts-tweak-tool jamesni tagoh fusion-icon jskarvad gdb ahajkova blarsen jankratochvil keiths kevinb sergiodj gfal2-python adev andreamanzi mipatras simonm gjots2 wef glusterfs kkeithle
Re: Help needed triaging build failures without distutils
On 20. 10. 22 6:42, Elliott Sales de Andrade wrote: For python-mplcursors, it appears to have setuptools installed anyway, but it also looks like a crash in pyproject_buildrequires.py Looks like https://github.com/anntzer/mplcursors/commit/625dc7b42ca2b0c61e85aa31a70298053e32615e For python-pikepdf, it appears you built from git while it was in a sidetag and the new dependencies were unavailable for your copr. It'll probably build fine now. Indeed, thanks. -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Help needed triaging build failures without distutils
On Tue, Oct 18, 2022 at 5:28 AM Miro Hrončok wrote: > > Hey Pythonistas. > > The Python standard library distutils module will be removed from Python 3.12+ > > https://peps.python.org/pep-0632/ > > As preparatory work, we build all python packages in a Copr repository with > Python 3.11 sans distutils: > > https://copr.fedorainfracloud.org/coprs/g/python/python-without-distutils/ > > I've rebuilt all the failed builds again and also in a control-group copr: > > https://copr.fedorainfracloud.org/coprs/g/python/python-with-distutils/ > > 250 packages that failed to build without distuils but succeeded with > distutils > need to be examined and categorized into various different groups: > > - package uses distutils only if sys.version_info < (3, 12) > -- this is OK but still fails here > - package uses distutils unconditionally and the package needs to be fixed > - package uses another package that uses distutils unconditionally >and the dependency needs to be fixed > > I suspect most of the packages will fail to build with Python 3.12 (planned > for > Fedora 39, change proposal TBD). The python3-setutpools package provides a > distutils module [^1], so sometimes "simply" adding BuildRequires: > python3-setuptools might workaround the problem. > > However, upstream involvement is recommended. > > A few bugzillas were opened wrt this and I plan to open more: > > https://bugzilla.redhat.com/showdependencytree.cgi?id=PYTHON3.12&hide_resolved=0 > > I've also oepned some upstream Pull Requests: > https://github.com/pypa/pip/pull/11522 > https://github.com/pypa/setuptools/pull/3636 > https://pagure.io/fedora-gather-easyfix/pull-request/10 > https://github.com/filbranden/dnf-plugins-perfmetrics/pull/1 > https://github.com/rpm-software-management/deltarpm/pull/17 > > Could you please help me by looking at your failed packages and talking to > your > upstreams? Feel free to reply with links, questions, bugzillas... > > To test this locally, you can do something like: > > 1. fedpkg clone $PKG && cd $PKG > 2. mock -r fedora-rawhide-x86_64 init > 3. mock -r fedora-rawhide-x86_64 install python3-devel > 4. sudo rm -rf > /var/lib/mock/fedora-rawhide-x86_64/root/usr/lib64/python3.11/distutils/ > 4. fedpkg mockbuild -N > > > Thanks! > > qulogicpython-mplcursors python-pikepdf For python-mplcursors, it appears to have setuptools installed anyway, but it also looks like a crash in pyproject_buildrequires.py For python-pikepdf, it appears you built from git while it was in a sidetag and the new dependencies were unavailable for your copr. It'll probably build fine now. ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Help needed triaging build failures without distutils
On 18. 10. 22 13:58, Hans Ulrich Niedermann wrote: I have picked up the then orphaned csound on 2022-10-17 to fix its unrelated FTBFS issues, and the current csound-6.16.2-7 package successfully builds locally with your below build instructions which "rm -rf" distutils from the mock buildroot. So the csound-6.16.2-7 package appears to be good to go for sans distutils builds (and BTW, csound.spec has been BuildRequiring python3-setuptools since at least 2019-08-19). I am therefore assuming the csound package landed on this list by mistake. Possibly csound was still FTBFS when you did your sans distutils build, and then I had just fixed csound to build successfully when you ran the control-group copr builds. I've restarted the build at https://copr.fedorainfracloud.org/coprs/g/python/python-without-distutils/package/csound/ just to verify, but your assumption csounds reasonable. -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Help needed triaging build failures without distutils
I have picked up the then orphaned csound on 2022-10-17 to fix its unrelated FTBFS issues, and the current csound-6.16.2-7 package successfully builds locally with your below build instructions which "rm -rf" distutils from the mock buildroot. So the csound-6.16.2-7 package appears to be good to go for sans distutils builds (and BTW, csound.spec has been BuildRequiring python3-setuptools since at least 2019-08-19). I am therefore assuming the csound package landed on this list by mistake. Possibly csound was still FTBFS when you did your sans distutils build, and then I had just fixed csound to build successfully when you ran the control-group copr builds. -ndim On 2022-10-18 11:27 +0200, Miro Hrončok wrote: > Hey Pythonistas. > > The Python standard library distutils module will be removed from > Python 3.12+ > > https://peps.python.org/pep-0632/ > > As preparatory work, we build all python packages in a Copr > repository with Python 3.11 sans distutils: > > https://copr.fedorainfracloud.org/coprs/g/python/python-without-distutils/ > > I've rebuilt all the failed builds again and also in a control-group > copr: > > https://copr.fedorainfracloud.org/coprs/g/python/python-with-distutils/ > > 250 packages that failed to build without distuils but succeeded with > distutils need to be examined and categorized into various different > groups: > > - package uses distutils only if sys.version_info < (3, 12) > -- this is OK but still fails here > - package uses distutils unconditionally and the package needs to > be fixed > - package uses another package that uses distutils unconditionally >and the dependency needs to be fixed > > I suspect most of the packages will fail to build with Python 3.12 > (planned for Fedora 39, change proposal TBD). The python3-setutpools > package provides a distutils module [^1], so sometimes "simply" > adding BuildRequires: python3-setuptools might workaround the problem. > > However, upstream involvement is recommended. > > A few bugzillas were opened wrt this and I plan to open more: > > https://bugzilla.redhat.com/showdependencytree.cgi?id=PYTHON3.12&hide_resolved=0 > > I've also oepned some upstream Pull Requests: > https://github.com/pypa/pip/pull/11522 > https://github.com/pypa/setuptools/pull/3636 > https://pagure.io/fedora-gather-easyfix/pull-request/10 > https://github.com/filbranden/dnf-plugins-perfmetrics/pull/1 > https://github.com/rpm-software-management/deltarpm/pull/17 > > Could you please help me by looking at your failed packages and > talking to your upstreams? Feel free to reply with links, questions, > bugzillas... > > To test this locally, you can do something like: > > 1. fedpkg clone $PKG && cd $PKG > 2. mock -r fedora-rawhide-x86_64 init > 3. mock -r fedora-rawhide-x86_64 install python3-devel > 4. sudo rm -rf > /var/lib/mock/fedora-rawhide-x86_64/root/usr/lib64/python3.11/distutils/ > 4. fedpkg mockbuild -N > > > Thanks! > > > > [^1]: Unfortunately, is not 100 % compatible with the removed > standard library one distutils: > https://github.com/pypa/setuptools/issues/3532 > > > > Maintainers by package: > [...] > csound ndim > [...] > > Packages by maintainer: > [...] > ndim csound > [...] ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Help needed triaging build failures without distutils
On 18. 10. 22 11:27, Miro Hrončok wrote: libarcus churchyard gferon https://src.fedoraproject.org/rpms/libarcus/pull-request/22 libsavitar churchyard gferon https://src.fedoraproject.org/rpms/libsavitar/pull-request/15 -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Help needed triaging build failures without distutils
On 18. 10. 22 11:27, Miro Hrončok wrote: pipenv churchyard ksurma torsava + sphinx-build-3 docs html Running Sphinx v5.1.1 Configuration error: There is a programmable error in your configuration file: Traceback (most recent call last): File "/usr/lib/python3.11/site-packages/sphinx/config.py", line 347, in eval_config_file exec(code, namespace) ... from pipenv.vendor.requirementslib import Pipfile, Requirement File "/builddir/build/BUILD/pipenv-2022.5.2/build/lib/pipenv/vendor/requirementslib/__init__.py", line 9, in from .models.lockfile import Lockfile File "/builddir/build/BUILD/pipenv-2022.5.2/build/lib/pipenv/vendor/requirementslib/models/lockfile.py", line 16, in from .requirements import Requirement File "/builddir/build/BUILD/pipenv-2022.5.2/build/lib/pipenv/vendor/requirementslib/models/requirements.py", line 10, in from distutils.sysconfig import get_python_lib ModuleNotFoundError: No module named 'distutils' I've opened https://github.com/sarugaku/requirementslib/pull/348 -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-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/python-devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue