LFS-RPM/00-REPO-MACRO.md

25 lines
973 B
Markdown
Raw Normal View History

2023-04-05 15:24:28 +08:00
The %{?repo} Tag
================
2023-04-05 16:05:17 +08:00
Most (but not all) RPM spec files will have a `Release` tag that contains
the following:
Release: %{?repo}N%{?dist}
where `N` is *usually* either a positive integer or is of the form
2023-04-05 16:07:33 +08:00
`0.rcM` or `0.devM` where `M` is a positive integer.
2023-04-05 16:05:17 +08:00
The idea behind this added complexity to the `Release` tag is so that
different repositories can exist that have duplicate packages sometimes
even built from the same RPM spec file but with different capabilities.
These repositories can then have a hierarchal `repo` macro so that as
long as the `Version` is the same, the repository with the greater
`repo` tag will always resolve as the newer package to RPM.
This can help avoid things like GNU Emacs linked against X11 from being
replaced by a GNU Emacs package that is not linked against X11 just
because a “lower-level” package repository rebuilt GNU Emacs with a
larger `N` than the “higher-level” package repository uses.