Project

Profile

Help

Test #4930

closed

Pulp - Test #4942: [EPIC] - Pulp2 - 2.20

NaUse RPMTAG_MODULARITYLABEL to determine modular RPM

Added by bherring almost 5 years ago. Updated over 4 years ago.

Status:
CLOSED - COMPLETE
Priority:
High
Assignee:
Sprint/Milestone:
Version:
Platform Release:
2.20.0
Tags:
Pulp 2
Sprint:
Quarter:

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

Copied from RPM Support - Issue #4869: Use RPMTAG_MODULARITYLABEL to determine modular RPMCLOSED - CURRENTRELEASEttereshcActions
Actions #1

Updated by bherring almost 5 years ago

  • Copied from Issue #4869: Use RPMTAG_MODULARITYLABEL to determine modular RPM added
Actions #2

Updated by bherring almost 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
Actions #3

Updated by bherring almost 5 years ago

  • Parent issue set to #4942
Actions #4

Updated by bherring almost 5 years ago

  • Assignee set to bherring
Actions #5

Updated by bherring almost 5 years ago

  • Status changed from NEW to ASSIGNED
Actions #6

Updated by bherring almost 5 years ago

  • Priority changed from Normal to High
Actions #7

Updated by bherring almost 5 years ago

  • Status changed from ASSIGNED to MODIFIED
Actions #8

Updated by bherring almost 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 almost 5 years ago

Revision 2253a11a | View on GitHub

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

Actions #10

Updated by ttereshc almost 5 years ago

  • Sprint/Milestone set to 2.20.0
Actions #11

Updated by bherring over 4 years ago

  • Status changed from MODIFIED to CLOSED - COMPLETE

Also available in: Atom PDF