chiark / gitweb /
networkd-wait-online: add timeout
[elogind.git] / man / os-release.xml
index c1dd62f7156d2c1c978eab7229d522d0681cf565..4fa41e7297f3caeed7e253d081e2b23e267b06db 100644 (file)
 
         <refsynopsisdiv>
                 <para><filename>/etc/os-release</filename></para>
+                <para><filename>/usr/lib/os-release</filename></para>
         </refsynopsisdiv>
 
         <refsect1>
                 <title>Description</title>
 
-                <para>The <filename>/etc/os-release</filename> file
-                contains operating system identification data.</para>
+                <para>The <filename>/etc/os-release</filename> and
+                <filename>/usr/lib/os-release</filename> files contain
+                operating system identification data.</para>
 
                 <para>The basic file format of
                 <filename>os-release</filename> is a newline-separated
                 (this means variable expansion is explicitly not
                 supported), allowing applications to read the file
                 without implementing a shell compatible execution
-                engine. Variable assignment values should be enclosed
-                in double or single quotes if they include spaces,
+                engine. Variable assignment values must be enclosed in
+                double or single quotes if they include spaces,
                 semicolons or other special characters outside of A-Z,
-                a-z, 0-9. All strings should be in UTF-8 format, and
-                non-printable characters should not be used. If double
-                or single quotes or backslashes are to be used within
-                variable assignments, they should be escaped with
-                backslashes, following shell style. It is not
-                supported to concatenate multiple individually quoted
-                strings. Lines beginning with "#" shall be ignored as
-                comments.</para>
-
-                <para><filename>/etc/os-release</filename> contains
-                data that is defined by the operating system vendor
-                and should not be changed by the administrator.</para>
+                a-z, 0-9.  Shell special characters ("$", quotes,
+                backslash, backtick) must be escaped with backslashes,
+                following shell style.  All strings should be in UTF-8
+                format, and non-printable characters should not be used.
+                It is not supported to concatenate multiple individually
+                quoted strings. Lines beginning with "#" shall be
+                ignored as comments.</para>
+
+                <para>The file <filename>/etc/os-release</filename>
+                takes precedence over
+                <filename>/usr/lib/os-release</filename>. Applications
+                should check for the former, and exclusively use its
+                data if it exists, and only fall back to
+                <filename>/usr/lib/os-release</filename> if it is
+                missing. Applications should not read data from both
+                files at the same
+                time. <filename>/usr/lib/os-release</filename> is the
+                recommended place to store OS release information as
+                part of vendor trees.
+                <filename>/etc/os-release</filename> should be a
+                relative symlink to
+                <filename>/usr/lib/os-release</filename>,
+                to provide compatibility with applications only
+                looking at <filename>/etc</filename>. A relative
+                symlink instead of an absolute symlink is
+                necessary to avoid breaking the link in a chroot or
+                initrd environment such as dracut.</para>
+
+                <para><filename>os-release</filename> contains data
+                that is defined by the operating system vendor and
+                should generally not be changed by the
+                administrator.</para>
 
                 <para>As this file only encodes names and identifiers
                 it should not be localized.</para>
 
-                <para>The file <filename>/etc/os-release</filename> might
-                be a symlink to another file, but it is important that
+                <para>The <filename>/etc/os-release</filename> and
+                <filename>/usr/lib/os-release</filename> files might
+                be symlinks to other files, but it is important that
                 the file is available from earliest boot on, and hence
                 must be located on the root file system.</para>
 
                 <para>For a longer rationale for
-                <filename>/etc/os-release</filename> please refer to
+                <filename>os-release</filename> please refer to
                 the <ulink
                 url="http://0pointer.de/blog/projects/os-release">Announcement of <filename>/etc/os-release</filename></ulink>.</para>
         </refsect1>
                 <title>Options</title>
 
                 <para>The following OS identifications parameters may be set using
-                <filename>/etc/os-release</filename>:</para>
+                <filename>os-release</filename>:</para>
 
                 <variablelist>
 
                                 <term><varname>HOME_URL=</varname></term>
                                 <term><varname>SUPPORT_URL=</varname></term>
                                 <term><varname>BUG_REPORT_URL=</varname></term>
+                                <term><varname>PRIVACY_POLICY_URL=</varname></term>
 
                                 <listitem><para>Links to resources on
                                 the Internet related the operating
                                 page for the operating system, if
                                 there is any. This is primarily
                                 intended for operating systems that
-                                rely on community QA. These settings
+                                rely on community QA.
+                                <varname>PRIVACY_POLICY_URL=</varname>
+                                should refer to the main privacy policy
+                                page for the operation system, if there
+                                is any. These settings
                                 are optional, and providing only some
                                 of these settings is common. These
                                 URLs are intended to be exposed in
                                 "About this system" UIs behind links
                                 with captions such as "About this
                                 Operating System", "Obtain Support",
-                                and "Report a Bug". The values should
-                                be in <ulink
+                                "Report a Bug", or "Privacy Policy". The
+                                values should be in <ulink
                                 url="https://tools.ietf.org/html/rfc3986">RFC3986
                                 format</ulink>, and should be
                                 <literal>http:</literal> or