Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rhel-10.0: Override releasever_{major,minor} with system-release provides #2208

Open
wants to merge 6 commits into
base: rhel-10.0
Choose a base branch
from

Conversation

carlwgeorge
Copy link
Contributor

@carlwgeorge carlwgeorge commented Feb 7, 2025

This is a backport of #2198 to RHEL 10. This patchset requires rpm-software-management/libdnf#1697.

Resolves: https://issues.redhat.com/browse/RHEL-68034

Upstream commit: 0e283fb

This allows setting a releasever_major or releasever_minor
independent of releasever, which is needed by EPEL.

Related: https://issues.redhat.com/browse/RHEL-68034
Upstream commit: 75e3ff0

The releasever_major and releasever_minor substitution variables are
usually derived by splitting releasever on the first `.`. However, to
support EPEL 10 [1], we would like a way for distributions to override these
values. Specifically, we would like RHEL 10 to have a releasever of `10`
with a releasever_major of `10` and a releasever_minor of `0` (later
incrementing to `1`, `2`, to correspond with the RHEL minor version).

This commit adds a new API function, `detect_releasevers`, which derives
releasever, releasever_major, and releasever_minor from virtual provides
on the system-release package (any of `DISTROVERPKG`). The detection of
releasever is unchanged. releasever_major and releasever_minor are
specified by the versions of the `system-release-major` and
`system-release-minor` provides, respectively.

If the user specifies a `--releasever=X.Y` on the command line, the
distribution settings for releasever, releasever_major, and releasever_minor
will all be overridden: releasever will be set to X.Y, releasever_major will be
set to X, and releasever_minor will be set to Y, same as before.  If a user
wants to specify a custom releasever_major and releasever_minor, they have to
set all three with `--setopt=releasever=X --setopt=releasever_major=Y
--setopt=releasever_minor=z`, taking care to put `releasever_major` and
`releasever_minor` after `releasever` so they are not overridden.

[1] https://issues.redhat.com/browse/RHEL-68034
Upstream commit: 017bbab

Allows the user to override the $releasever_major and $releasever_minor
variables on the command line, like --releasever.
Upstream commit: 593ab0c

Adds dnf.rpm.detect_releasevers to the API docs and mention it is
now preferred over dnf.rpm.detect_releasever.

Updates examples/install_extension.py to use detect_releasevers and set
the releasever_major and releasever_minor substitution variables.
@carlwgeorge carlwgeorge changed the title [rhel-10.0] Override releasever_{major,minor} with system-release provides rhel-10.0: Override releasever_{major,minor} with system-release provides Feb 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants