From 88ce72297a59e82601c47e00559454f343d7dc56 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 14 Feb 2012 17:25:55 +0100 Subject: man: define more precisely the format of /etc/os-release --- man/os-release.xml | 79 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 51 insertions(+), 28 deletions(-) diff --git a/man/os-release.xml b/man/os-release.xml index 7f7ce142e0..7d799721de 100644 --- a/man/os-release.xml +++ b/man/os-release.xml @@ -58,18 +58,37 @@ contains operating system identification data. The basic file format of - os-release is a - newline-separated list of environment-like - shell-compatible variable assignments. It is possible - to source the configuration from shell scripts, - however, beyond mere variable assignments no shell - features are supported, allowing applications to read - the file without implementing a shell compatible - execution engine. + os-release is a newline-separated + list of environment-like shell-compatible variable + assignments. It is possible to source the + configuration from shell scripts, however, beyond mere + variable assignments no shell features are supported + (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, + 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. /etc/os-release contains data that is defined by the operating system vendor and should not be changed by the administrator. + + As this file only encodes names and identifiers + it should not be localized. + + For a longer rationale for + /etc/os-release please refer to + the Announcement of /etc/os-release. @@ -99,27 +118,30 @@ A string identifying the operating system version, - excluding any OS name information, and - suitable for presentation to the - user. This field is optional. Example: + excluding any OS name information, + possibly including a release code + name, and suitable for presentation to + the user. This field is + optional. Example: VERSION=17 or - VERSION="17 - (Beefy Miracle)". + VERSION="17 (Beefy + Miracle)". ID= A lower-case string - (no spaces or other characters outside of - 0-9, a-z, ".", "_" and "-") identifying - the operating system, excluding any - version information and suitable for - processing by scripts or usage in - generated file names. If not set - defaults to + (no spaces or other characters outside + of 0-9, a-z, ".", "_" and "-") + identifying the operating system, + excluding any version information and + suitable for processing by scripts or + usage in generated file names. If not + set defaults to ID=linux. Example: - ID=fedora. + ID=fedora or + ID=debian. @@ -130,7 +152,7 @@ characters outside of 0-9, a-z, ".", "_" and "-") identifying the operating system version, excluding any OS name - information or release code names, and + information or release code name, and suitable for processing by scripts or usage in generated file names. This field is optional. Example: @@ -144,11 +166,12 @@ A pretty operating system name in a format suitable for presentation to the user. May or may - not contain an OS version of some - kind, as suitable. If not set defaults - to PRETTY_NAME="Linux". Example: - PRETTY_NAME="Fedora 17 - (Beefy Miracle)". + not contain a release code name or OS + version of some kind, as suitable. If + not set defaults to + PRETTY_NAME="Linux". Example: + PRETTY_NAME="Fedora 17 (Beefy + Miracle)". @@ -202,7 +225,7 @@ NAME=Fedora VERSION="17 (Beefy Miracle)" ID=fedora -VERSION_ID=15 +VERSION_ID=17 PRETTY_NAME="Fedora 17 (Beefy Miracle)" ANSI_COLOR="0;34" CPE_NAME="cpe:/o:fedoraproject:fedora:17" -- cgit v1.2.3-54-g00ecf