Bug 1738033
| Summary: | kig depends on Python 2 | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Lumír Balhar <lbalhar> |
| Component: | kig | Assignee: | Kevin Kofler <kevin> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | jreznik, kde-sig, kevin, mhroncok, rdieter, than |
| Target Milestone: | --- | Keywords: | Reopened |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | kig-19.08.1-3.fc32 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2019-10-29 14:45:48 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1698500 | ||
|
Description
Lumír Balhar
2019-08-06 12:35:54 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to '31'. This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to 31. Please answer the above questions. If you don't the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages If you need any information or help, please let us know. Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages If you need any information or help, or if you need some more time, please let us know. Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages If you need any information or help, or if you need some more time, please let us know. According to the procedure described in https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages the package was now orphaned. If you think it was a mistake, you can provide the answers and claim the package back. Let us know if you need any help or just need more time. This is only a runtime dependency on python2 interpreter, so will request exception. I guess there's also boost-python to consider (but apparently that support is broken and fails to detect properly at the moment). It looks like OpenMandriva has this building with Python 3: https://github.com/OpenMandrivaAssociation/kig/commit/b7090845374eaae266e1a1648dd030ee5585573d (Their default boost-python-devel is actually the Python 3 one now, see https://github.com/OpenMandrivaAssociation/boost/blob/master/boost.spec#L310 .) That said, I suspect more changes than their one-line patch are needed for it to actually WORK. Automation has figured out the package is retired in rawhide. If you like it to be unretired, please open a ticket at https://pagure.io/releng/new_issue?template=package_unretirement Oh. Sorry for this. I've never seen the comment here and the package was never unorphaned after the initial orphaning. Let me know if you would like us to explore the code or test kig on python3 with the one line patch. Anything new here? Do you need any help from us? Upstream now has a patch which is like the OpenMandriva one-line patch, but with conditionals: https://cgit.kde.org/kig.git/commit/?id=c0aa768f28219ce8b3c275a6d13ad69757e3c7af I can try the upstream patch. I just wonder how well it will actually work. I'm trying to build the patch in Rawhide now. The funny thing is, Kig has actually not been built with Python support at all since Fedora 30. Some python2 BuildRequires were left over, but not actually used because the boost-python2-devel BuildRequires was disabled due to an issue with FindBoostPython.cmake. I am now trying to work around that issue to actually get a build with Python 3 support. Where I am stuck now is: https://kojipkgs.fedoraproject.org/work/tasks/5483/38645483/build.log [ 97%] Building CXX object CMakeFiles/kigpart.dir/scripting/python_scripter.cc.o /usr/bin/c++ -DKCOREADDONS_LIB -DKIG_ENABLE_PYTHON_SCRIPTING -DLIB_PYTHON=\"libpython3.8m.so\" -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_SVG_LIB -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS -DQT_WIDGETS_LIB -DQT_XMLPATTERNS_LIB -DQT_XML_LIB -DWITH_GEOGEBRA=1 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkigpart_EXPORTS -I/builddir/build/BUILD/kig-19.08.1/x86_64-redhat-linux-gnu -I/builddir/build/BUILD/kig-19.08.1 -I/builddir/build/BUILD/kig-19.08.1/x86_64-redhat-linux-gnu/kigpart_autogen/include -I/builddir/build/BUILD/kig-19.08.1/modes -I/usr/include/python3.8m -I/usr/include/boost -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtPrintSupport -isystem /usr/include/KF5/KCrash -isystem /usr/include/KF5 -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtConcurrent -isystem /usr/include/qt5/QtDBus -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KTextEditor -isystem /usr/include/KF5/KIconThemes -isystem /usr/include/KF5/KArchive -isystem /usr/include/qt5/QtXmlPatterns -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -std=c++0x -fno-operator-names -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -std=c++11 -fexceptions -DNDEBUG -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -fexceptions -o CMakeFiles/kigpart.dir/scripting/python_scripter.cc.o -c /builddir/build/BUILD/kig-19.08.1/scripting/python_scripter.cc /builddir/build/BUILD/kig-19.08.1/scripting/python_scripter.cc:23:10: fatal error: Python.h: No such file or directory 23 | #include <Python.h> | ^~~~~~~~~~ compilation terminated. This has -I/usr/include/python3.8m but it still cannot find <Python.h>. It might need -isystem instead, but it is CMake which decides what to put under -I and what under -isystem. Ah, actually, the issue is that the naming changed from 3.7m to just 3.8. Where is the "m" coming from? is it hardcoded somewhere? This will get the include flag(s): $ python3-config --includes I was hardcoding it, because the Find*.cmake files are not doing the right thing.
I'm trying these now:
%global _python3_include %(%{__python3} -Ic "from distutils.sysconfig import get_python_inc; print(get_python_inc())")
%global _python3_lib %{_libdir}/lib%(basename %{_python3_include}).so
Yep, that works. kig-19.08.1-3.fc32 is now built with working Python 3 support and all Python 2 dependencies should be gone. |