[systemd-devel] [PATCH] Add VARIANT as a standard value for /etc/os-release

Stephen Gallagher sgallagh at redhat.com
Wed Apr 29 05:19:05 PDT 2015


Some distributions (such as Fedora) are using the VARIANT field to
indicate to select packages which of several default configurations
they should be using. For example, VARIANT=Server provides a
different default firewall configuration (blocking basically
everything but SSH and the management console) whereas
VARIANT=Workstation opens many other ports for application
compatibility.

By adding this patch to the manual pages, we can standardize on a
cross-distribution mechanism for accomplishing this.

Fedora implementation details are available at
https://fedoraproject.org/wiki/Packaging:Per-Product_Configuration
---
 man/os-release.xml | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/man/os-release.xml b/man/os-release.xml
index 8f4ab10fed78b0f5c0c3842eb27bdef650fbdd93..96de5ba644d53cc58e405c3e578d04492e57f600 100644
--- a/man/os-release.xml
+++ b/man/os-release.xml
@@ -272,10 +272,45 @@
         or <literal>BUILD_ID=201303203</literal>.
 
         </para></listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><varname>VARIANT=</varname></term>
+
+        <listitem><para>
+        A string identifying a specific variant or edition of the
+        operating system suitable for presentation to the user. This
+        field may be used to inform the user that the configuration of
+        this system is subject to a specific divergent set of rules or
+        default configuration settings. This field is optional and may
+        not be implemented on all systems.
+        Examples:
+        <literal>VARIANT="Server Edition"</literal>,
+        <literal>VARIANT="Smart Refrigerator Edition"</literal>
+        Note: this field is for display purposes only. The
+        <varname>VARIANT_ID</varname> field should be used for making
+        programmatic decisions.
+        </para></listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><varname>VARIANT_ID=</varname></term>
+
+        <listitem><para>
+        A lower-case string ((no spaces or other characters outside of
+        0-9, a-z, ".", "_" and "-"), identifying a specific variant or
+        edition of the operating system. This may be interpreted by
+        other packages in order to determine a divergent default
+        configuration. This field is optional and may not be
+        implemented on all systems.
+        Examples:
+        <literal>VARIANT_ID=server</literal>,
+        <literal>VARIANT_ID=embedded</literal>
+        </para></listitem>
+      </varlistentry>
+
     </variablelist>
 
     <para>If you are reading this file from C code or a shell script
     to determine the OS or a specific version of it, use the
     <varname>ID</varname> and <varname>VERSION_ID</varname> fields,
-- 
2.3.6



More information about the systemd-devel mailing list