Bug 1303311
Summary: | [weakdeps] --whatsupplements not working | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Parag Nemade <pnemade> |
Component: | dnf-plugins-core | Assignee: | rpm-software-management |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 24 | CC: | awilliam, ffesti, mfabian, mls, mluscon, mmraka, packaging-team-maint, pnemade, RadekHolyPublic, vmukhame |
Target Milestone: | --- | Keywords: | Triaged |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2017-03-15 09:04:10 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: | |||
Bug Depends On: | |||
Bug Blocks: | 1314406 |
Description
Parag Nemade
2016-01-30 16:35:21 UTC
I have few things to add here. 1) I wrote "Supplements: man-pages and langpacks-ja" in man-pages-ja.spec file. Is there any issue with "and" in it? I mean I can --whatsupplements for "man-pages" but I can't get result for "langpacks-ja". 2) Why is it that when I wrote ""Supplements: man-pages and langpacks-ja" in man-pages-ja.spec but dnf repoquery --supplements for man-pages returning "man-pages & langpacks-ja"? Please note here, I used "and" in spec file and repoquery returned "&" in result. Should there be some consistency of usage of "and" and "&"? 1) there's probably a bug in repoquery 2) rpm (and so dnf) prints `&` instead of "and". we should make it consistent. Hmm, there was a bug in rpmbuild that can cause this. Can you please rebuild the package with a current version of rpm and check if the issue goes away? You can just check the resulting package with rpm -qp --supplements I don't think I am seeing any difference in output. With command "rpm -q --supplements man-pages-ja", I previously got ==> man-pages and langpacks-ja and after rebuild of man-pages-ja, I am again getting same output ==> man-pages and langpacks-ja My question was either one should follow same. I think if rpm is using "and" string operator then dnf repoquery should also show "and" instead of "&". (In reply to Florian Festi from comment #3) > Hmm, there was a bug in rpmbuild that can cause this. Can you please rebuild > the package with a current version of rpm and check if the issue goes away? > > You can just check the resulting package with rpm -qp --supplements I think this is not the reason because “rpm -q supplements” (or -qp on the package file) shows the correct results: [mfabian@Fedora-Workstation-netinst-x86_6 ~]$ rpm -q --supplements man-pages-de (man-pages and langpacks-de) [mfabian@Fedora-Workstation-netinst-x86_6 ~]$ rpm -q --supplements glibc-langpack-de (glibc = 2.22.90-52.fc23 and (langpacks-de)) [mfabian@Fedora-Workstation-netinst-x86_6 ~]$ rpm -q --supplements langpacks-de [mfabian@Fedora-Workstation-netinst-x86_6 ~]$ This looks OK. And “dnf repoquery --supplements” seems to work fine as well: [mfabian@Fedora-Workstation-netinst-x86_6 ~]$ sudo dnf repoquery --supplements man-pages-de Last metadata expiration check performed 0:46:55 ago on Tue Feb 2 13:15:05 2016. man-pages & langpacks-de man-pages & langpacks-zh-CN [mfabian@Fedora-Workstation-netinst-x86_6 ~]$ sudo dnf repoquery --supplements glibc-langpack-de Last metadata expiration check performed 0:47:02 ago on Tue Feb 2 13:15:05 2016. glibc = 2.22.90-50.fc23 & langpacks-de glibc = 2.22.90-52.fc23 & langpacks-de [mfabian@Fedora-Workstation-netinst-x86_6 ~]$ But “--whatsupplements” does not seem to work, neither using dnf nor rpm: [mfabian@Fedora-Workstation-netinst-x86_6 ~]$ sudo dnf repoquery --whatsupplements langpacks-de Last metadata expiration check performed 0:47:08 ago on Tue Feb 2 13:15:05 2016. [mfabian@Fedora-Workstation-netinst-x86_6 ~]$ [mfabian@Fedora-Workstation-netinst-x86_6 ~]$ rpm -q --whatsupplements langpacks-de no package supplements langpacks-de [mfabian@Fedora-Workstation-netinst-x86_6 ~]$ This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle. Changing version to '24'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase ping any update here? (In reply to Mike FABIAN from comment #5) > But “--whatsupplements” does not seem to work, neither using dnf nor rpm: > > [mfabian@Fedora-Workstation-netinst-x86_6 ~]$ sudo dnf repoquery > --whatsupplements langpacks-de I am not sure whether it should match just part of rich dependency relation Although it should work at least for whole expression inside tag: # dnf repoquery --whatsupplements "(glibc = 2.23.1-5.fc24 and (langpacks-de or langpacks-de_AT or langpacks-de_BE or langpacks-de_CH or langpacks-de_DE or langpacks-de_LU))" --releasever=24 and # sudo dnf repoquery --whatsupplements \*langpacks-de\* --releasever=24 which does not work currently. BTW this does not work with current representation of boolean operands too (should not work anyway): # dnf repoquery --whatsupplements "(glibc = 2.23.1-5.fc24 & (langpacks-de | langpacks-de_AT | langpacks-de_BE | langpacks-de_CH | langpacks-de_DE | langpacks-de_LU))" --releasever=24 '&', '|' and '<-' seems to be representation of operands in libsolv. We shoul be doing the conversion to 'and', 'or' and 'if' respectively in hawkey/libhif. We'll fix it. No, the representation should be fixed in libsolv. Please don't add conversion code to hawkey. Commit 79ec99e586fade65d2cbf0bb2cb4008ac7ec9634 makes libsolv use rpm-style complex dependencies in its output. *** Bug 1326095 has been marked as a duplicate of this bug. *** I have libsolv-0.6.20 installed on F24 machine and I can see this bug is fixed now. See $ sudo dnf repoquery --whatsupplements langpacks-ja Last metadata expiration check: 0:12:50 ago on Tue Apr 12 08:37:39 2016. calligra-l10n-ja-0:2.9.11-2.fc24.noarch eclipse-nls-ja-0:4.5.0.v20150804081228-3.fc24.noarch gimp-help-ja-0:2.8.2-5.fc24.noarch glibc-langpack-ja-0:2.23.1-5.fc24.x86_64 kde-l10n-ja-0:15.12.3-3.fc24.noarch libreoffice-langpack-ja-1:5.1.2.1-3.fc24.x86_64 man-pages-ja-0:20151215-3.fc24.noarch nqc-doc-ja-0:3.1.7-18.fc24.x86_64 tesseract-langpack-jpn-0:3.04.01-1.fc24.noarch tkgate-ja-0:2.0-24.beta10.fc24.noarch and then both of these outputs are also consistent in using "and" [parag@f24 master]$ rpm -q --supplements man-pages-ja (man-pages and langpacks-ja) [parag@f24 master]$ sudo dnf repoquery --supplements man-pages-ja (man-pages and langpacks-ja) Now next set of queries like 1) Do people need to use this kind of query sudo dnf repoquery --whatsupplements \*langpacks-de\* instead of sudo dnf repoquery --whatsupplements langpacks-de ==> The previous still does not work but later works fine now. So glob is not working.. 2) if following query is valid to run then its still not working dnf repoquery --whatsupplements "(glibc = 2.23.1-5.fc24 & (langpacks-de | langpacks-de_AT | langpacks-de_BE | langpacks-de_CH | langpacks-de_DE | langpacks-de_LU))" Partially (support for globs in --what<weak_dep>) fixed in https://github.com/rpm-software-management/dnf-plugins-core/pull/157 It still does not return answer for complex rich deps. dnf-plugins-core-0.1.21-1.fc24 dnf-1.1.9-1.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-1efd7bc386 dnf-1.1.9-1.fc24, dnf-plugins-core-0.1.21-1.fc24 has been pushed to the Fedora 24 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-2016-1efd7bc386 This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component. This bug is fixed for me already. If anything comes, I will report new bug. Thanks. |