[Base] Fedora Base Design Working Group (2014-07-11) meeting minutes and logs

Miloslav Trmač mitr at redhat.com
Mon Jul 28 16:28:11 UTC 2014


----- Original Message -----
> On 25 Jul 2014, at 07:52, Phil Knirsch wrote:
> > Summary:
> >
> > Mattdm then followed with 2 1/2 additional topics:
> >
> > 1a. Identifying different Fedora products -- fedora-release-*
> > contents and /etc/os-release
> 
> As I understand it, you are trying to decide where and how to set a
> flag that will signal the "product" that is either installed or to be
> installed.  There was mention of dropping "product specific snippets
> in /usr/lib/os-release.d/" as one solution.
> 
> Does it have to be any more complex than the approach used by
> systemd?  If fedora-release were to drop all product specific
> snippets in /usr/lib/os-release.d/, then a system admin could use a
> symbolic link in /etc/os-release.d to flag which product (or no
> product) he wanted installed.

This alone is not sufficient because we need that information to be available as RPM dependencies ( https://fedoraproject.org/wiki/Per-Product_Configuration_Packaging_Draft ).  So, in the end, we need the sysadmins to use rpm to switch between products.  (This does not necessarily provide the _canonical_ answer for “how should other software check what product is installed”, but it does give us _a possible reliable_ answer—namely, “query the RPM database“).

<snip>
> and then run whatever product syncing tool you develop -- perhaps:
> 
> dnf product-sync
What if the user changes the symlink but doesn‘t run the tool?  We should be able to do this (if, indeed, we do need to support switching products at all) without requiring a two-step manual process.


> > 2. a "generic fedora" netinstall
> 
> I appreciate your continued consideration of this item.  I'm not
> clear on how Anaconda is supposed to work with different products,
> but if it is reading whatever product flag you set in order to
> determine the package list, couldn't a single netinstall CD work for
> all products, as well as a generic, non-productized install, assuming
> that there were a place in the UI to specify which product the user
> wanted installed?

Actually, this seems to already be the case.  A netinstall is produced as a Fedora Server deliverable, but it can be used to install a non-Product system, and, if other Products adopted the same conventions, also any other Product.

How this works: For Server, comps.xml defines server-product-environment (visible as a "Fedora Server” base environment on the Anaconda’s Software Selection screen), which contains a server-product group, and this groups pulls in the fedora-release-server package, ultimately defining the product.  On a DVD, we restrict the set of packages available to essentially offer only the Fedora Server, and this causes other parts of comps to be filtered out and invisible to the user.

OTOH, the netinstall image loads the full comps.xml from the internet, so all other environments (including non-product environments like “Minimal” or “Xfce Desktop”) are available as choices for the user, and they do not pull in the fedora-release-server package.

If other Products defined a $name-product-environment environment in comps.xml (which they currently don’t because they don’t need to, for the live image-based and partition-image-based installations), the other products would equally be visible when booting the Server Product netinstall image.
    Mirek


More information about the devel mailing list