FS#70841 - [tmuxp] Doesn't run with python-click version 8
Attached to Project:
Community Packages
Opened by Michael Clark (Iiridayn) - Thursday, 13 May 2021, 18:10 GMT
Last edited by Levente Polyak (anthraxx) - Sunday, 16 May 2021, 19:51 GMT
Opened by Michael Clark (Iiridayn) - Thursday, 13 May 2021, 18:10 GMT
Last edited by Levente Polyak (anthraxx) - Sunday, 16 May 2021, 19:51 GMT
|
Details
See
https://github.com/tmux-python/tmuxp/issues/649
for a related upstream bug. Downgrading python-click to
python-click-7.1.2-4 fixed the issue. Reporting as a package
bug as the upstream `pyproject.toml` reports support for
`click = ">=7<8"` - so click version 8 is not
supported, but the package manager did not ensure this.
|
This task depends upon
Closed by Levente Polyak (anthraxx)
Sunday, 16 May 2021, 19:51 GMT
Reason for closing: Fixed
Additional comments about closing: 1.7.2-2
Sunday, 16 May 2021, 19:51 GMT
Reason for closing: Fixed
Additional comments about closing: 1.7.2-2
I'm a bit confused; how did this resolve the issue on your machine?
This test applies https://github.com/tmux-python/tmuxp/pull/679
This is build tested only.
What is your proposed solution?
[1] https://github.com/archlinux/svntogit-community/blob/855f754c2e021845b4b98c20c52f7179328ccf04/trunk/PKGBUILD#L18
As I mentioned elsewhere, it appears possible `pacman` isn't clever enough to deal with multiple versions of an installed library - one up to date, and (possibly more than) one installed at a maximally supported version for current software. The general colloquial term for this problem is "dependency hell" (https://en.wikipedia.org/wiki/Dependency_hell), and is a major motivation for using package managers with automatic dependency resolution.
Okay - dug into the PKGBUILD format a bit further - here's the bit you might have overlooked: https://wiki.archlinux.org/title/PKGBUILD#Dependencies. Looks like pacman _can_ handle version detection. If line 10 is changed from `depends=('python-click' 'python-colorama' 'python-kaptan' 'python-setuptools' 'python-libtmux')` to `depends=('python-click>=7' 'python-click<8' 'python-colorama' 'python-kaptan' 'python-setuptools' 'python-libtmux')`, `pacman` correctly detects the conflict with the new version of `python-click` and does not upgrade `python-click` to version 8. I verified this by changing the PKGBUILD, downgrading `python-click`, rebuilding on my system, reinstalling the package from the local build, and upgrading my system.
[1] https://wiki.archlinux.org/title/System_maintenance#Partial_upgrades_are_unsupported
Regarding the incompatibility patch - I have tested resolving the incompatibility - one of the two submitted patches to resolve it has the same username as the one making this comment (the hackier of the two, so if you grab one I'd suggest grabbing the other; they are fundamentally the same). So, it should be feasible to apply the patch for this distro until it is integrated into the (hopefully next) upstream release.