Description of problem: python36-tabulate-0.8.3-7.el7.noarch.rpm has a dependency on python3.4, which is probably unwanted. Version-Release number of selected component (if applicable): 0.8.3-7.el7.noarch.rpm How reproducible: rpm -qp --requires python36-tabulate-0.8.3-7.el7.noarch.rpm Actual results: /usr/bin/python3.4 python(abi) = 3.6 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 Expected results: Without /usr/bin/python3.4 Additional info: I looked through the source code and couldn't find the dependency.
Thanks for testing. TBH I don't know either why the wrong python version gets associated. Will investigate, maybe the bug is deeper inside python or rpmbuild.
Reproducible with a scratch build but no idea what happens. Provides: python3-tabulate = 0.8.3-7.el7 python36-tabulate = 0.8.3-7.el7 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: /usr/bin/python3.4 python(abi) = 3.6 ... Provides: python34-tabulate = 0.8.3-7.el7 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: /usr/bin/python3.4 python(abi) = 3.4 Maybe a real bug inside the build chain? Reassigning to get help from the other maintainers.
This is a packaging error. %install %{?with_python2: %py2_install} %py3_install %{?python3_other_pkgversion: %py3_other_install} This does in the follwoing order: - install /usr/bin/tabulate with python2 shebang - install /usr/bin/tabulate with python3.6 shebang - install /usr/bin/tabulate with python3.4 shebang And this: %files -n python%{python3_pkgversion}-%{modname} ... %{_bindir}/%{modname} ... %if 0%{?python3_other_pkgversion} ... %{_bindir}/%{modname} ... %endif Puts /usr/bin/tabulate with python3.4 shebang to both packages.
Miro, thanks for the analysis and explanation. > Puts /usr/bin/tabulate with python3.4 shebang to both packages. We'd have to use a suffix then for the installed binaries? Is there any default version? https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_multiple_python_runtimes https://fedoraproject.org/wiki/PackagingDrafts:Python3EPEL#Modules > scripts/entry-points https://fedoraproject.org/wiki/PackagingDrafts:Python3EPEL#All_Packages
What does the executable actually do?
(In reply to Miro Hrončok from comment #5) > What does the executable actually do? The binary's a command line tool: "tabulate - Pretty-print tabulate data." No idea if there are more|less options as mentioned in this quickly found manpage: https://bitbucket.org/astanin/python-tabulate/src/a4c22260a8b01c9cafd57de9465ba45394a4c027/tabulate.py#lines-1456 https://dokk.org/manpages/tabulate.1
My educated guess is that the user of the command doesn't nee to care what python version runs it at all. Keep it in python36-tabulate only: %install %{?with_python2: %py2_install} %{?python3_other_pkgversion: %py3_other_install} # Make sure the executables are owned by py3 rm -f %{buildroot}%{_bindir}/* %py3_install And only list %{_bindir}/%{modname} in %files -n python%{python3_pkgversion}-%{modname}
> Keep it in python36-tabulate only Agreed. Reporter, do you agree, too?
I only use tabulate as a module, not with command line. So I agree that only keeping it with python36-tabulate is reasonable.
OK, a new build and update is on the way. Well, the branches epel7 and master are now really diverged. Maybe we'd consider to merge?
FEDORA-EPEL-2019-2a015b2414 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-2a015b2414
python-tabulate-0.8.3-8.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-2a015b2414
python-tabulate-0.8.3-8.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.