Closed Conan-Kudo closed 3 years ago
Unfortunately this spec won't work since you reverted my earlier fixes in 1ebfbec4a47422fb4c0b904d7d05341be0f26809.
What was broken? Perhaps me or @michel-slm can help?
@egara looks like PyQt5-sip's version numbers became unsynced from sip's version numbers starting with sip 5.0.0: https://pypi.org/project/PyQt5-sip/#history https://pypi.org/project/sip/#history
Could you clarify if buttermanager really depends on sip 4 but PyQt5-sip 12 (which matches sip 5)? Fedora still has a lot of packages that depend on sip 4 / PyQt5-sip 4 and so having this depends on PyQt5-sip 12 (starting with v1.7, https://github.com/egara/buttermanager/commit/051f2313b717c34db9e3cd148f4201ef104c8b2f) will be a bit problematic for us - unless we ship PyQt5-sip with a renamed module and patch buttermanager to use that, but that's a nightmare to maintain long term.
If we can downgrade buttermanager to use PyQt5-sip 4.x that would be ideal. Thanks!
cc @Conan-Kudo
Apparently, ButterManager itself may only need PyQt5
, and the dependencies on PyQt5-sip
and sip
are because of packaging bugs in Arch's build of PyQt5, per #13.
@michel-slm @egara I think I've fixed the entrypoint change I did before in this PR, but I'm not sure how to adjust the snapcraft.yaml for this. It seems like it should just work, but I'm not terribly familiar with Snapcraft anymore...
Hi guys and thak you very much for your help with all these stuff :)
I'll answer your questions and then I'll install ButterManager with all the changes suggested to see if everything works fine.
Unfortunately this spec won't work since you reverted my earlier fixes in 1ebfbec.
What was broken? Perhaps me or @michel-slm can help?
Yes, with the changes you introduced in the previous PR ButterManager didn't run. Sorry, I'm not very familiar with Python packaging (this is my first project) so I had to revert them.
Hi @michel-slm and thank you very much for your help too.
My answers below:
@egara looks like PyQt5-sip's version numbers became unsynced from sip's version numbers starting with sip 5.0.0: https://pypi.org/project/PyQt5-sip/#history https://pypi.org/project/sip/#history
Could you clarify if buttermanager really depends on sip 4 but PyQt5-sip 12 (which matches sip 5)? Fedora still has a lot of packages that depend on sip 4 / PyQt5-sip 4 and so having this depends on PyQt5-sip 12 (starting with v1.7, 051f231) will be a bit problematic for us - unless we ship PyQt5-sip with a renamed module and patch buttermanager to use that, but that's a nightmare to maintain long term.
If we can downgrade buttermanager to use PyQt5-sip 4.x that would be ideal. Thanks!
cc @Conan-Kudo
I think sip is not necessary as @Conan-Kudo said before, but PyQT5-sip yes, because I use it to load the XML generated by QT Designer in order to set up the GUI and all its elements. I'm going to test if I can downgrade it to version 4.19 and if works, it is OK for me if it facilitates the packaging in Fedora.
I'll come back to you later when I test it :)
Regarding to this point:
@michel-slm @egara I think I've fixed the entrypoint change I did before in this PR, but I'm not sure how to adjust the snapcraft.yaml for this. It seems like it should just work, but I'm not terribly familiar with Snapcraft anymore...
No worries about snapcarft. I tried to bring ButterManager to the Snap Store https://forum.snapcraft.io/t/requesting-classic-confinement-for-buttermanager/9574 but it wasn't possible because of the nature itself of the application and the limitations imposed in the classic mode.
So this is something that I can remove without any problem.
@egara so it turns out PyQt5-sip
's API level is already 12 even when their version number was stuck at 4.x when it was paired with sip 4:
$ rpm -q --requires python3-qt5-base | grep sip
python3-pyqt5-sip-api(12) >= 12.7
$ rpm -q --whatprovides 'python3-pyqt5-sip-api(12)'
python3-pyqt5-sip-4.19.24-1.fc33.x86_64
So the setup.py
after applying this patch set is fine, since PyQt5 would pull in PyQt5-sip automatically anyway.
I'm getting this error launching this app, will try and investigate but probably won't get to it until tomorrow:
$ buttermanager
Traceback (most recent call last):
File "/usr/bin/buttermanager", line 33, in <module>
sys.exit(load_entry_point('buttermanager==2.2', 'console_scripts', 'buttermanager')())
File "/usr/bin/buttermanager", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib64/python3.9/importlib/metadata.py", line 77, in load
module = import_module(match.group('module'))
File "/usr/lib64/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/usr/lib/python3.9/site-packages/buttermanager/buttermanager.py", line 19, in <module>
import exception.exception
ModuleNotFoundError: No module named 'exception'
PR #25 resolves the issue mentioned. Now the only remaining problem is setup.py
does not install the buttermanager/ui
.
@egara This now has everything from @michel-slm and myself and you. Can you see if it works and merge it?
Hi @Conan-Kudo yes, of course!!. I'm on it. I've been testing and doing some adjustments during the last weekend (not included yet in this branch) but I have very few spare time. I'll try to finish this part this weekend in order to continue :)
Super excited about this! @Conan-Kudo or @michel-slm, is there any chance we might see a Fedora package come out of this work soon? I know there are folks who would be super excited to pilot this out on Fedora.
Hi @jwflory and thank you very much for your enthusiasm! We've been working on this during the last few weekends and I think the application is ready to be packaged finally. I've been talking to @michel-slm in order to continue with the packaging process but he is busy now, so he will continue with it when he can, so sooner or later ButterManager will be available on Fedora :)
Meanwhile I'm going to fix some bugs detected #23 and prepare version 2.3. Thank you again for your feedback!!
This pull request makes some minor cleanups and introduces an RPM spec file for building the package on Fedora.
This has been validated on Fedora 33 and should work with newer versions of Fedora and similar other RPM-based distributions.