summaryrefslogtreecommitdiff
path: root/src/bootchart
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-06-13 19:45:52 +0200
committerLennart Poettering <lennart@poettering.net>2014-06-13 20:11:59 +0200
commit5ae4d543cb9b45ad6c6b82b78da1d6abc2291cdb (patch)
treecf4d8817660f9a2a828c16ce42392703a5ccd690 /src/bootchart
parentb0284aba93e8ccd415da5bbee86d84c12b1b9856 (diff)
os-release: define /usr/lib/os-release as fallback for /etc/os-release
The file should have been in /usr/lib/ in the first place, since it describes the OS container in /usr (and not the configuration in /etc), hence, let's support os-release files in /usr/lib as fallback if no version in /etc exists, following the usual override logic. A prior commit already enabled tmpfiles to create /etc/os-release as a symlink to /usr/lib/os-release should it be missing, thus providing nice compatibility with applications only checking in /etc. While it's probably a good idea if all apps check both locations via a fallback logic, it is only necessary in the early boot process, as long as the /etc/os-release symlink has not been restored, in case we boot with an empty /etc.
Diffstat (limited to 'src/bootchart')
-rw-r--r--src/bootchart/bootchart.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/bootchart/bootchart.c b/src/bootchart/bootchart.c
index 958a668aca..01a5bf18ef 100644
--- a/src/bootchart/bootchart.c
+++ b/src/bootchart/bootchart.c
@@ -386,10 +386,10 @@ int main(int argc, char *argv[]) {
if (sysfd < 0)
sysfd = open("/sys", O_RDONLY|O_CLOEXEC);
- if (!build)
- parse_env_file("/etc/os-release", NEWLINE,
- "PRETTY_NAME", &build,
- NULL);
+ if (!build) {
+ if (parse_env_file("/etc/os-release", NEWLINE, "PRETTY_NAME", &build, NULL) == -ENOENT)
+ parse_env_file("/usr/lib/os-release", NEWLINE, "PRETTY_NAME", &build, NULL);
+ }
/* wait for /proc to become available, discarding samples */
if (graph_start <= 0.0)