Bug 1563789
Summary: | python3-rpm-macros should require python3 | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | yucef sourani <youssef.m.sourani> |
Component: | python-rpm-macros | Assignee: | Miro Hrončok <mhroncok> |
Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | low | Docs Contact: | |
Priority: | unspecified | ||
Version: | 30 | CC: | cstratak, j, mhroncok, msuchy, orion, praiskup |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-07-23 13:19:21 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: |
Description
yucef sourani
2018-04-04 17:20:06 UTC
Thanks for the report, (In reply to yucef sourani from comment #0) > Description of problem: > i have repository on copr, > https://copr.fedorainfracloud.org/coprs/youssefmsourani/gvrecord/ > > in fedora 28 Chroot copr packaging pygnomescast with wrong paths but on > local system (rpmbuild) Everything is good . > https://imgur.com/a/N2Ns7 but this unfortunately doesn't specify enough what is the problem with your package. > SPEC File: > https://gist.github.com/yucefsourani/dfe5c82f46e593523a5a0ee23d6253fc That spec file is several times concatenated in one file: cat *.spec | grep %package %package -n pygnomescast %package -n pygnomescast %package -n pygnomescast %package -n pygnomescast %package -n pygnomescast Anyway, this certainly isn't bug in 'Product: Copr', but rather packaging issue, I'm closing this since bugzilla is not proper place to ask for help with packaging. If you want, feel free to discuss more here but I would encourage you to write an email to devel.org mailing list. yucef sourani, see: https://fedoraproject.org/wiki/Packaging:Python The 'BuildRequires: python3-devel' is missing. This is actually bug. And you can reproduce it when you wget https://copr-be.cloud.fedoraproject.org/results/youssefmsourani/gvrecord/fedora-28-x86_64/00736956-gvrecord/gvrecord-0.3-2.fc28.src.rpm mock -r fedora-28-x86_64 gvrecord-0.3-2.fc28.src.rpm Or more easily: mock -r fedora-28-x86_64 install python3-rpm-macros mock -r fedora-28-x86_64 shell [root@dri<mock-chroot>//]#rpm --eval '%{python3_sitelib}' sh: /usr/bin/python3: No such file or directory It can be easily workarounded in this case by: BuildRequires: python3-devel But I suppose that python3-rpm-macros should require python3. According to https://github.com/rpm-software-management/rpm/issues/424 the macros should really work IOM; but guidelines say that python3-devel has to be in BuildRequires, so .. dunno. (In reply to Pavel Raiskup from comment #1) > Thanks for the report, > > (In reply to yucef sourani from comment #0) > > Description of problem: > > i have repository on copr, > > https://copr.fedorainfracloud.org/coprs/youssefmsourani/gvrecord/ > > > > in fedora 28 Chroot copr packaging pygnomescast with wrong paths but on > > local system (rpmbuild) Everything is good . > > https://imgur.com/a/N2Ns7 > > but this unfortunately doesn't specify enough what is the problem with > your package. > > > SPEC File: > > https://gist.github.com/yucefsourani/dfe5c82f46e593523a5a0ee23d6253fc > > That spec file is several times concatenated in one file: > > cat *.spec | grep %package > %package -n pygnomescast > %package -n pygnomescast > %package -n pygnomescast > %package -n pygnomescast > %package -n pygnomescast > > Anyway, this certainly isn't bug in 'Product: Copr', but rather packaging > issue, I'm closing this since bugzilla is not proper place to ask for > help with packaging. If you want, feel free to discuss more here but > I would encourage you to write an email to devel.org > mailing list. I know how to packaging,It is one file but I do not know why this is repeat on GithubGist ,And I do not think I need a python3-devel package because I did not use "python setup" "python build" ... Also the problem is only in Fedora 28 Chroot and Fedora rawhide Chroot . Thank you for your interest . (sorry for my english and again Thank you) (In reply to Miroslav Suchý from comment #3) > This is actually bug. And you can reproduce it when you > wget > https://copr-be.cloud.fedoraproject.org/results/youssefmsourani/gvrecord/ > fedora-28-x86_64/00736956-gvrecord/gvrecord-0.3-2.fc28.src.rpm > mock -r fedora-28-x86_64 gvrecord-0.3-2.fc28.src.rpm > > Or more easily: > > mock -r fedora-28-x86_64 install python3-rpm-macros > mock -r fedora-28-x86_64 shell > [root@dri<mock-chroot>//]#rpm --eval '%{python3_sitelib}' > sh: /usr/bin/python3: No such file or directory > > > It can be easily workarounded in this case by: > > BuildRequires: python3-devel > > But I suppose that python3-rpm-macros should require python3. I've added BuildRequires: python3 and have solved the problem . I will later try to replace python3 with python3-devel . thank you. This message is a reminder that Fedora 28 is nearing its end of life. On 2019-May-28 Fedora will stop maintaining and issuing updates for Fedora 28. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '28'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 28 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. $ rpm -qR python3-rpm-macros python-srpm-macros python-srpm-macros >= 3-38 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 $ rpm -q python3-rpm-macros python3-rpm-macros-3-42.fc30.noarch The macros don't work without python3, but just BRing the macros is non a supported use case. Also, if you redefine %__python3 to /usr/bin/pypy3 (however absurd, still possible), you might need to require pypy3 as well. This package contains the macro definitions (information). If you actually want to use them in spec, you should BR python3-devel. (This bugzilla was long ignored by me, as I was not a maintainer of this package.) Can we close this as WONTFIX? (In reply to Miro Hrončok from comment #9) > The macros don't work without python3, but just BRing the macros is non a > supported use case. The package isn't (now?) installed in minimal buildroot, so I can accept this is not supported use-case. Though.... it sounds really weird and confusing. Usually providing separate sub-package has some benefits; what are the benefits in case of python3-rpm-macros when the *one and only one* package which should ever depend on it is python3-devel? Shouldn't python3-devel be merged with pytho3-rpm-macros? What is wrong on depending on python3-devel (or python3) from python3-srpm-macros? > Also, if you redefine %__python3 to /usr/bin/pypy3 (however absurd, stil > possible), you might need to require pypy3 as well. I might be selfish Fedora user :-), but I only mind supported default use-cases. > This package contains the macro definitions (information). If you actually > want to use them in spec, you should BR python3-devel. Agreed, don't know why I thought those macros are available by default, and python policy says clearly that python3-devel is mandatory. > Can we close this as WONTFIX? If you find the above invalid, feel free. I just don't think it is correct to install macros which fail by default, less severe (doesn't affect builds) issue is e.g. https://github.com/rpm-software-management/rpm/issues/424 FWIW, from: https://src.fedoraproject.org/lookaside/rpm-specs-latest.tar.xz $ grep -r ^BuildRequires | grep -e python2-rpm-macros -e python3-rpm-macros -e python-rpm-macros | cut -d: -f1 | sort | uniq | wc -l 38 Actually if I wanted to build for pypy3 with those macros, depending on python3 would drag in unnecessary python3. I still deem this invalid use case. I see your point, but I don't think it needs to be changed. Leaving this open for more discussion, will share on python-devel. Hmm... Dynamic Build Requires? Although it would be clumsy to use it with the current implementation. Dynamic Build Requires will be handled separately. Already hacking on that in https://github.com/hroncok/pyproject_dynamicbrs |