m4rtink reported a new issue against the project: `releng` that you are following:
``
The current situation
==================
At the moment the installation media buildstamp file has a field called
"Product", which contains a human readable name of the product being
installed.
The product name is used visually in multiple places in Anaconda (welcome screen,
bootloader entries, etc.), but quite alarmingly, also as a kind of machine readable
product identifier (base repo name, install class selection, etc.).
We have hit this issue yet again recently during an effort to merge back install classes
for individual Fedora variants (Workstation, Server, etc.) to make install class
maintenance easier & to make it possible to decommission the currently used
per-variant product image packages.
Unfortunately we found out the "Product" field of every Fedora compose
(rawhide/branched/GA) is, unlike on RHEL, always set to "Fedora", even if the
compose & installation image itself is branded as Workstation/Server/etc. Also no
other filed in the buildstamp has any information about about the variant at all.
Machine readable product id
========================
Rather than requesting the variant name to be appended to the Product field and possibly
breaking all software that assumes it will always be just "Fedora" and nothing
else, we would like to suggest a different solution, possibly fixing this issue once and
for all.
Rather than misusing the old human readable field, let's add a new field designed to
hold a separate machine readable product id. That way Anaconda and other tools will not
have to parse a human readable filed to detect a variant, making things much more robust.
Also adding and properly specifying a new field should be generally much safer than
changing the content of an existing one.
Specifying the product id field name & value
=====================================
Looking at the current syntax, it looks like the field names are following a camel case
convention (there is a BugURL and IsFinal field), so lets call the new field ProductId.
As for the machine readable product id value, I would suggest a few rules:
- no whitespace
- lower case ASCII letters, numbers and _ and - only
I suggest this because it's quite likely the machine readable product id might end up
on the filesystem as a folder or file name, so the string should be safe for this
use-case.
Example .buildstamp file with ProductId:
==================================
[Main]
Product=Fedora
ProductId=fedora_workstation
Version=Rawhide
IsFinal=False
UUID=201711300745.x86_64
[Compose]
Lorax=28.2-1
``
To reply, visit the link below or just reply to this email
https://pagure.io/releng/issue/7202