I'm packaging pylint for python2 on centos8 and it builds fine but will not install. (Yes I know python2 is end of life - working on it)
mock is used to do the builds.
Here is what happens with I do the dnf install:
# dnf install -y ods-python-pylint Last metadata expiration check: 0:19:59 ago on Fri 13 Mar 2020 16:22:30 UTC. Error: Problem: conflicting requests - nothing provides /usr/bin/python needed by ods-python-pylint-1.9.3-2.noarch (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
And this is what rpm thinks are the requirements:
$ rpm -qpR ods-python-pylint-1.9.3-2.noarch.rpm ods-python-astroid ods-python-backports.functools_lru_cache ods-python-configparser ods-python-enum34 ods-python-futures ods-python-isort ods-python-lazy-object-proxy ods-python-mccabe ods-python-singledispatch ods-python-wrapt python(abi) = 2.7 python2 python2-six rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1
Anyone know where is the /usr/bin/python coming from or how I can debug this?
Barry
Barry Scott wrote:
I'm packaging pylint for python2 on centos8 and it builds fine but will not install. (Yes I know python2 is end of life - working on it)
At least on EL8, python2 will be supported for a number of years still. Obviously, moving to python3 is still the wise plan. :)
mock is used to do the builds.
Here is what happens with I do the dnf install:
# dnf install -y ods-python-pylint Last metadata expiration check: 0:19:59 ago on Fri 13 Mar 2020 16:22:30 UTC. Error: Problem: conflicting requests
- nothing provides /usr/bin/python needed by ods-python-pylint-1.9.3-2.noarch
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
And this is what rpm thinks are the requirements:
$ rpm -qpR ods-python-pylint-1.9.3-2.noarch.rpm ods-python-astroid ods-python-backports.functools_lru_cache ods-python-configparser ods-python-enum34 ods-python-futures ods-python-isort ods-python-lazy-object-proxy ods-python-mccabe ods-python-singledispatch ods-python-wrapt python(abi) = 2.7 python2 python2-six rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1
Anyone know where is the /usr/bin/python coming from or how I can debug this?
I would guess it's from a shebang in one of the scripts within the package. But I don't know what's in the ods-python-pylint package so I can only guess.
On 13 Mar 2020, at 17:33, Todd Zullinger tmz@pobox.com wrote:
Barry Scott wrote:
I'm packaging pylint for python2 on centos8 and it builds fine but will not install. (Yes I know python2 is end of life - working on it)
At least on EL8, python2 will be supported for a number of years still. Obviously, moving to python3 is still the wise plan. :)
mock is used to do the builds.
Here is what happens with I do the dnf install:
# dnf install -y ods-python-pylint Last metadata expiration check: 0:19:59 ago on Fri 13 Mar 2020 16:22:30 UTC. Error: Problem: conflicting requests
- nothing provides /usr/bin/python needed by ods-python-pylint-1.9.3-2.noarch
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
And this is what rpm thinks are the requirements:
$ rpm -qpR ods-python-pylint-1.9.3-2.noarch.rpm ods-python-astroid ods-python-backports.functools_lru_cache ods-python-configparser ods-python-enum34 ods-python-futures ods-python-isort ods-python-lazy-object-proxy ods-python-mccabe ods-python-singledispatch ods-python-wrapt python(abi) = 2.7 python2 python2-six rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1
Anyone know where is the /usr/bin/python coming from or how I can debug this?
I would guess it's from a shebang in one of the scripts within the package. But I don't know what's in the ods-python-pylint package so I can only guess.
I fixed up all the shebangs to be #!/usr/bin/python2.7 and that did not fix it.
Then I rm'ed all the files with a '#!' in the first line.
Then I rm'ed the egg stuff (I think the find_requires logic can dig something out of it)
What I expected to use is rpm -q -R would print the /usr/bin/python requirement, but it does not.
Barry
-- Todd _______________________________________________ users mailing list -- users@lists.fedoraproject.org mailto:users@lists.fedoraproject.org To unsubscribe send an email to users-leave@lists.fedoraproject.org mailto:users-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org
Barry Scott wrote:
On 13 Mar 2020, at 17:33, Todd Zullinger tmz@pobox.com wrote:
I would guess it's from a shebang in one of the scripts within the package. But I don't know what's in the ods-python-pylint package so I can only guess.
I fixed up all the shebangs to be #!/usr/bin/python2.7 and that did not fix it.
Then I rm'ed all the files with a '#!' in the first line.
Then I rm'ed the egg stuff (I think the find_requires logic can dig something out of it)
What I expected to use is rpm -q -R would print the /usr/bin/python requirement, but it does not.
Perhaps it's somehow a weak dep, i.e. Recommends or Suggests? That doesn't seem too likely, but might be worth checking (rpm -qp --recommends --requires --suggests <rpm>).
Is it possible that the package you're getting from
dnf install -y ods-python-pylint
isn't the one you're querying with rpm? You could try using the path to the ods-python-pylint rpm rather than pulling it from a repo.
If you have the package spec files and/or srpms online, maybe someone will spot the issue, if it's in the packaging.