Test #4930
closedPulp - Test #4942: [EPIC] - Pulp2 - 2.20
NaUse RPMTAG_MODULARITYLABEL to determine modular RPM
Description
Original Dev Text¶
According to information from modularity folks RPMTAG_DISTTAG is no longer in use for modularity purposes.
RPMTAG_MODULARITYLABEL should be used instead.
This affects applicability calculations which rely on the correct identification of modular RPMs.
The problem should not be huge or broad, most modular RPMs are identified as such at sync time using metadata.
This tag is supported in old versions of rpm, just the name is not exposed and numeric key should be used:
The constant rpm. RPMTAG_MODULARITYLABEL is not available on Centos7 and < F30, instead the id if the header 5096
can be used directly: headers[5096]
.
QE Text¶
Talked with Tanya, and it it looks like we need test coverage for rpm upload checking for is_modular.
The following test can be used as a baseline logic for the test, replacing a sync action with an upload action:
Also, need to ensure that the relevant RPM_WITH_MODULES_FEED_URL 's RPMs are being built correctly (F30 base image now) to ensure the fixture contains what we expect for test.
Related issues
Updated by bherring over 5 years ago
- Copied from Issue #4869: Use RPMTAG_MODULARITYLABEL to determine modular RPM added
Updated by bherring over 5 years ago
Additional Information about RPMs in fixtures¶
I have not seen evidence the fixture is actually building modular RPMs as the header information is not present in any source spec files within the fixture (that I have seen yet).
Therefore, I currently believe a change/addition is needed to build modular RPMs for the test.
10:25 <ttereshc> I asked on #fedora-modularity on a freenode [15:42:44] <ttereshc> I need a dummy
package with modularitylabel header set (just not being empty). Any hints/recipes
how to build such package?
10:25 <ttereshc> [15:53:33] <ignatenkobrain> ttereshc: you need to set macro '%modularitylabel' to
some value
10:26 <ttereshc> that simple
10:26 <bherring> Within the .spec file, no?
10:26 <ttereshc> yes
10:26 <ttereshc> that's my understanding
Updated by bherring over 5 years ago
How to check the Modularity Label in an RPM¶
The RPM comes from here: https://repos.fedorapeople.org/repos/pulp/pulp/fixtures/rpm-with-modular/
I looked at the RPM headers with this command I got from the internet.
rpm -qp nodejs-10.15.2-1.module_f30+3181+3be24b3a.x86_64.rpm --qf "$(rpm --querytags | sed -nr 's/(.*)/\1:%{\1}/p' | tr '[:space:]' '\n')"
and it gave
MODULARITYLABEL:nodejs:10:3020190301191749:a5b0195c
Added by bherring over 5 years ago
Updated by bherring over 5 years ago
Applied in changeset pulp:pulp-2-tests|2253a11a9d878c15b681a98bb4783d922403e708.
Updated by bherring over 5 years ago
- Status changed from MODIFIED to CLOSED - COMPLETE
Adding check for modular RPM upload
Issue #4869 updates the DISTAG check to a new backwards compatible check for
is_modular
for RPM uploads.Adding verfications for RPM uploads with and without
is_modular
to ensure the RPM tags are being read correctly.See: https://pulp.plan.io/issues/4869
closes #4930