diff options
author | Andrew Edmunds <Andrew.Edmunds@yahoo.com.au> | 2010-10-25 23:23:21 +1000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-10-25 21:10:05 +0200 |
commit | 274914f99191e466bc523eadba74f52db8433189 (patch) | |
tree | b96b58769d83ab7a22ddb02e3b9847cc70d5e5ea /src | |
parent | 858dae181bb5461201ac1c04732d3ef4c67a0256 (diff) |
util: Add welcome message for Ubuntu
The approved method for determining the installed release of
Ubuntu is to execute "lsb_release". However, this is in /usr/bin and
is implemented in python so it is not safe to execute at this early
stage of booting. This code parses /etc/lsb-release which is
where "lsb_release" looks for the information.
Diffstat (limited to 'src')
-rw-r--r-- | src/util.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/util.c b/src/util.c index 98422b236d..973cee15e3 100644 --- a/src/util.c +++ b/src/util.c @@ -3025,6 +3025,20 @@ void status_welcome(void) { status_printf("Welcome to Debian \x1B[1;31m%s\x1B[0m!\n", r); /* Light Red for Debian */ free(r); +#elif defined(TARGET_UBUNTU) + char *desc = NULL; + char *codename = NULL; + + if (parse_env_file("/etc/lsb-release", NEWLINE, + "DISTRIB_DESCRIPTION", &desc, + "DISTRIB_CODENAME", &codename, NULL) < 0) + return; + if (desc && codename) + /* Light Red for Ubuntu */ + status_printf("Welcome to \x1B[1;31m%s\x1B[0m (%s)\n", + desc, codename); + free(desc); + free(codename); #elif defined(TARGET_ARCH) status_printf("Welcome to \x1B[1;36mArch Linux\x1B[0m!\n"); /* Cyan for Arch */ #else |