[PATCH] Generate os-release from component parts

Stephen Gallagher sgallagh at redhat.com
Wed Mar 11 12:59:45 UTC 2015


On Wed, 2015-03-11 at 08:49 -0400, Colin Walters wrote:
> On Wed, Mar 11, 2015, at 08:32 AM, Stephen Gallagher wrote:
> > On Wed, 2015-03-11 at 08:11 -0400, Colin Walters wrote:
> > > Why can't the /etc/os-release files be shipped in each package 
> > > and  have them conflict?  This is just hiding the fact that they 
> > > *do*  conflict, right?
> > 
> > 
> > Well, there's a side-effect here that I'm working on, which is  
> > stopping the fedora-release-$PRODUCT packages from *conflicting* 
> 
> Can you link to a bug or more information on this?


I don't have a bug and most discussions about it have happened on IRC, 
though I can point you to [1] as one high-profile example of the 
problems with the fedora-release packages.

I've been trying to figure out a way that we can still have a package 
that defines the Edition that is installed while not breaking yum/dnf 
package installations.

Additionally, we've wanted /etc/os-release provide information about 
the Edition since the beginning, but it was non-trivial to accomplish.

So some of the things I'm aiming to do (in no particular order):

1) Be able to install Fedora Server and then 'dnf install "Fedora 
Workstation"' which will result in all the Workstation *packages* 
being on the system, but have it still be Server where divergent 
defaults are concerned. Today, this has to be done by explicitly 
excluding fedora-release-workstation from the install set, which is 
difficult for users.

2) Eliminate the foo-config-$PRODUCT subpackages providing per-product 
configuration. These were designed around fairly esoteric knowledge of 
the yum dependency solver which resulted in the "right" version of 
this subpackage being pulled in if the associated fedora-release-
$PRODUCT package happened to be installed. This fell apart when we 
switched to DNF in some places.

3) Have /etc/os-release be the definitive place to look up which 
Edition (if any) of Fedora is installed on this machine.

4) Have packages be able to ship all variants of their default 
configuration in their main package and use the contents of /etc/os-
release to make the decisions about this.


It's also important to notice that, up to the present day, *only* the 
firewalld package is using per-Edition configuration, since no other 
package has yet decided that it needs to differ between the Editions 
(though there was some recent discussion about doing so for openssh).


So if we can accomplish the first three points above (and I believe 
that this proposal can do so, possibly with small tweaks), then we 
only need to adjust the firewalld package to get the distro in shape.

If you need more information, please ask.


[1] 
https://fedoraproject.org/wiki/Common_F21_bugs#Installation_of_.27environment_groups.27_fails_due_to_conflicts_between_fedora-
release_packages
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <http://lists.fedoraproject.org/pipermail/rel-eng/attachments/20150311/91c42140/attachment-0001.sig>


More information about the rel-eng mailing list