[systemd-devel] [PATCH 2/3] util: Add welcome message for Ubuntu

Andrew Edmunds Andrew.Edmunds at yahoo.com.au
Mon Oct 25 06:23:21 PDT 2010


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.
---
 src/util.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/src/util.c b/src/util.c
index 58f67b0..fa5d90b 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
-- 
1.7.1



More information about the systemd-devel mailing list