chiark / gitweb /
man: add hostnamed chassis type "embedded" to machine-info(5)
[elogind.git] / man / os-release.xml
index 11443638e524ec0ab03b2bc6e42d441986f5d7dc..b4cbeba39558f6f6ca86776a85ff8e061a87a600 100644 (file)
                 (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>
+                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
                 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. Frequently
-                <filename>/etc/os-release</filename> is simply a
-                symlink to <filename>/usr/lib/os-release</filename>,
+                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>.</para>
+                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