Bug 1804720 - repomanage tool is not working correctly with modules in AppStream
Summary: repomanage tool is not working correctly with modules in AppStream
Keywords:
Status: VERIFIED
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: dnf
Version: 8.1
Hardware: Unspecified
OS: Unspecified
medium
unspecified
Target Milestone: rc
: 8.0
Assignee: amatej
QA Contact: Luca Berton
URL:
Whiteboard:
Depends On:
Blocks: 1825061
TreeView+ depends on / blocked
 
Reported: 2020-02-19 14:06 UTC by Roman Bobek
Modified: 2020-06-17 15:07 UTC (History)
7 users (show)

Fixed In Version: dnf-plugins-core-4.0.17-2.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 4790741 None None None 2020-03-16 18:07:47 UTC

Description Roman Bobek 2020-02-19 14:06:34 UTC
Description of problem:
repomange tool is not working correctly with modules in the new AppStream type repository. It is detecting the packages in modules with older available versions of software as obsolete/old:

# repomanage -k 1 rhel-8-for-x86_64-appstream-rpms
[...]
Packages/p/postgresql-12.1-2.module+el8.1.1+4794+c82b6e09.x86_64.rpm
Packages/p/postgresql-contrib-12.1-2.module+el8.1.1+4794+c82b6e09.x86_64.rpm
Packages/p/postgresql-docs-12.1-2.module+el8.1.1+4794+c82b6e09.x86_64.rpm
Packages/p/postgresql-jdbc-42.2.3-1.el8.noarch.rpm
Packages/p/postgresql-jdbc-javadoc-42.2.3-1.el8.noarch.rpm
Packages/p/postgresql-odbc-10.03.0000-2.el8.x86_64.rpm
Packages/p/postgresql-odbc-tests-10.03.0000-2.el8.x86_64.rpm
Packages/p/postgresql-plperl-12.1-2.module+el8.1.1+4794+c82b6e09.x86_64.rpm
Packages/p/postgresql-plpython3-12.1-2.module+el8.1.1+4794+c82b6e09.x86_64.rpm
Packages/p/postgresql-pltcl-12.1-2.module+el8.1.1+4794+c82b6e09.x86_64.rpm
Packages/p/postgresql-server-12.1-2.module+el8.1.1+4794+c82b6e09.x86_64.rpm
Packages/p/postgresql-server-devel-12.1-2.module+el8.1.1+4794+c82b6e09.x86_64.rpm
Packages/p/postgresql-static-12.1-2.module+el8.1.1+4794+c82b6e09.x86_64.rpm
Packages/p/postgresql-test-12.1-2.module+el8.1.1+4794+c82b6e09.x86_64.rpm
Packages/p/postgresql-test-rpm-macros-10.6-1.module+el8+2469+5ecd5aae.x86_64.rpm
Packages/p/postgresql-test-rpm-macros-12.1-2.module+el8.1.1+4794+c82b6e09.noarch.rpm
Packages/p/postgresql-upgrade-12.1-2.module+el8.1.1+4794+c82b6e09.x86_64.rpm
Packages/p/postgresql-upgrade-devel-12.1-2.module+el8.1.1+4794+c82b6e09.x86_64.rpm
[...]
# repomanage -o -k 1 rhel-8-for-x86_64-appstream-rpms
[...]
Packages/p/postgresql-10.6-1.module+el8+2469+5ecd5aae.x86_64.rpm
Packages/p/postgresql-9.6.10-1.module+el8+2470+d1bafa0e.x86_64.rpm
Packages/p/postgresql-contrib-10.6-1.module+el8+2469+5ecd5aae.x86_64.rpm
Packages/p/postgresql-contrib-9.6.10-1.module+el8+2470+d1bafa0e.x86_64.rpm
Packages/p/postgresql-docs-10.6-1.module+el8+2469+5ecd5aae.x86_64.rpm
Packages/p/postgresql-docs-9.6.10-1.module+el8+2470+d1bafa0e.x86_64.rpm
Packages/p/postgresql-plperl-10.6-1.module+el8+2469+5ecd5aae.x86_64.rpm
Packages/p/postgresql-plperl-9.6.10-1.module+el8+2470+d1bafa0e.x86_64.rpm
Packages/p/postgresql-plpython3-10.6-1.module+el8+2469+5ecd5aae.x86_64.rpm
Packages/p/postgresql-plpython3-9.6.10-1.module+el8+2470+d1bafa0e.x86_64.rpm
Packages/p/postgresql-pltcl-10.6-1.module+el8+2469+5ecd5aae.x86_64.rpm
Packages/p/postgresql-pltcl-9.6.10-1.module+el8+2470+d1bafa0e.x86_64.rpm
Packages/p/postgresql-server-10.6-1.module+el8+2469+5ecd5aae.x86_64.rpm
Packages/p/postgresql-server-9.6.10-1.module+el8+2470+d1bafa0e.x86_64.rpm
Packages/p/postgresql-server-devel-10.6-1.module+el8+2469+5ecd5aae.x86_64.rpm
Packages/p/postgresql-server-devel-9.6.10-1.module+el8+2470+d1bafa0e.x86_64.rpm
Packages/p/postgresql-static-10.6-1.module+el8+2469+5ecd5aae.x86_64.rpm
Packages/p/postgresql-static-9.6.10-1.module+el8+2470+d1bafa0e.x86_64.rpm
Packages/p/postgresql-test-10.6-1.module+el8+2469+5ecd5aae.x86_64.rpm
Packages/p/postgresql-test-9.6.10-1.module+el8+2470+d1bafa0e.x86_64.rpm
Packages/p/postgresql-test-rpm-macros-9.6.10-1.module+el8+2470+d1bafa0e.x86_64.rpm
Packages/p/postgresql-upgrade-10.6-1.module+el8+2469+5ecd5aae.x86_64.rpm
Packages/p/postgresql-upgrade-devel-10.6-1.module+el8+2469+5ecd5aae.x86_64.rpm
[...]

Version-Release number of selected component (if applicable):
yum-utils-4.0.8-3

How reproducible:
allways

Steps to Reproduce:
1. sync the AppStream repository with reposync
  # dnf reposync --repoid=rhel-8-for-x86_64-appstream-rpms
2. use the -o switch with repomanage command to list the old packages in the synced repository
  # repomanage -o -k 1 rhel-8-for-x86_64-appstream-rpms


Actual results:
RPM packages from 'older' modules are listed.

Expected results:
RPM packages from 'older' modules are not considered as old and are not listed.

Comment 2 amatej 2020-05-05 07:04:35 UTC
I agree with the proposed AC and test and also with the note, modular metadata has to be present in order to work properly with modular packages (Maybe we could also include that in the AC and test scenario specification, but not sure if necessary).

PR: https://github.com/rpm-software-management/dnf-plugins-core/pull/394
tests: https://github.com/rpm-software-management/ci-dnf-stack/pull/825

Comment 3 Pavla Kratochvilova 2020-05-06 12:33:25 UTC
Removing needinfo since it was answered in Comment #2.


Note You need to log in before you can comment on or make changes to this bug.