summaryrefslogtreecommitdiff
path: root/src/journal
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/journal
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/journal')
-rw-r--r--src/journal/journal-gatewayd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/journal/journal-gatewayd.c b/src/journal/journal-gatewayd.c
index 9a88676242..c682666a22 100644
--- a/src/journal/journal-gatewayd.c
+++ b/src/journal/journal-gatewayd.c
@@ -767,7 +767,8 @@ static int request_handler_machine(
if (r < 0)
return mhd_respondf(connection, MHD_HTTP_INTERNAL_SERVER_ERROR, "Failed to determine disk usage: %s\n", strerror(-r));
- parse_env_file("/etc/os-release", NEWLINE, "PRETTY_NAME", &os_name, NULL);
+ if (parse_env_file("/etc/os-release", NEWLINE, "PRETTY_NAME", &os_name, NULL) == -ENOENT)
+ parse_env_file("/usr/lib/os-release", NEWLINE, "PRETTY_NAME", &os_name, NULL);
get_virtualization(&v);