summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Edmunds <Andrew.Edmunds@yahoo.com.au>2010-10-25 23:23:21 +1000
committerLennart Poettering <lennart@poettering.net>2010-10-25 21:10:05 +0200
commit274914f99191e466bc523eadba74f52db8433189 (patch)
treeb96b58769d83ab7a22ddb02e3b9847cc70d5e5ea
parent858dae181bb5461201ac1c04732d3ef4c67a0256 (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.
-rw-r--r--src/util.c14
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