Hello devel list,
this is a request for comments for a recent proposal I
filed at releng tracker:
In short, package managers on Rawhide would no longer
replace $releasever variable with a numerical value (like '29'
at this moment, soon '30'), but with 'rawhide' string instead.
I hope this change will make life a bit easier for third-party
repos maintainers, for users, for developers and sysadmins,
and for release engineering. The technical implementation can
be seen in the ticket (it's the 'Proposed solution 1'),
together with a long discussion.
To provide a longer explanation of the improvements I
expect this to bring:
* Third-party repo maintainers will no longer need to
provide two different repo files, one for stable Fedora
releases using $releasever in URLs, and one for Rawhide
hardcoding 'rawhide/' in URL and avoiding $releasever in URL.
(Technically, two repo files are not needed if you always use
a numbered dir even for Rawhide, but that's maintenance-heavy,
because you need to change the directory number precisely at
Branching time). This involves COPR as well.
* Users will be able to run commands like "dnf ...
--releasever=28" even on Rawhide. That doesn't work at the
moment, because most repo files don't use $releasever and
instead have 'rawhide/' hardcoded.
* Developers and sysadmins will be able to use the same
approach regarding repositories for stable Fedora releases and
Rawhide. Rawhide will no longer be different, requiring
special treatment. For example, the same repo URL can be used
to install a system, or the same URL can be used to add an
additional repository to an existing system. As an engineer
working on automation, I was always annoyed how I need to
special-case Rawhide everywhere (and of course, maintain a
config file that states which release number Rawhide currently
maps to). That will hopefully be no longer necessary, or very
much reduced.
* Fedora release engineers should be able to get rid of
fedora-repos-rawhide (again, hardcoding 'rawhide/' in URL),
and use the standard repo files instead (making use of
$releasever).
There might be other advantages, which I haven't tested or
though of.
There are also disadvantages. The only one I know of at
this moment, is that PackageKit is currently incompatible with
this change (it uses custom logic for populating $releasever,
different from dnf logic) and will need adjustments.
Fedora releng has pre-approved this change in the ticket,
and the point of this email is to ask for more feedback from
all of you. I'd appreciate if you could help us identify edge
cases we haven't thought of, or point out which tools would be
incompatible with this change, so that we can track them and
discuss it with their developers.
Thanks,
Kamil