Harald Hoyer 9d5d75
From b3480d31b01e66e21a70b7dab55eac95449126c7 Mon Sep 17 00:00:00 2001
Harald Hoyer 9d5d75
From: Alexander Tsoy <alexander@tsoy.me>
Harald Hoyer 9d5d75
Date: Sat, 8 Sep 2018 17:02:03 +0300
Harald Hoyer 9d5d75
Subject: [PATCH] Prevent environment leaking into initrd-release
Harald Hoyer 9d5d75
Harald Hoyer 9d5d75
On my system the following initrd-release is generated:
Harald Hoyer 9d5d75
...
Harald Hoyer 9d5d75
VERSION="4 dracut-048 dracut-048"
Harald Hoyer 9d5d75
...
Harald Hoyer 9d5d75
Harald Hoyer 9d5d75
VERSION is not defined in /etc/os-release, so the variable is
Harald Hoyer 9d5d75
concatenated with its previous value:
Harald Hoyer 9d5d75
Harald Hoyer 9d5d75
* "4" comes from the kernel build system since dracut is called from the
Harald Hoyer 9d5d75
  kernel install hook ("4" is a major kernel version);
Harald Hoyer 9d5d75
* first "dracut-048" comes from the "systemd-initrd" module;
Harald Hoyer 9d5d75
* second "dracut-048" comes from the "base" module.
Harald Hoyer 9d5d75
---
Harald Hoyer 9d5d75
 modules.d/01systemd-initrd/module-setup.sh | 9 ++++-----
Harald Hoyer 9d5d75
 modules.d/99base/module-setup.sh           | 9 ++++-----
Harald Hoyer 9d5d75
 2 files changed, 8 insertions(+), 10 deletions(-)
Harald Hoyer 9d5d75
Harald Hoyer 9d5d75
diff --git a/modules.d/01systemd-initrd/module-setup.sh b/modules.d/01systemd-initrd/module-setup.sh
Harald Hoyer 9d5d75
index c1ccd2af..cb8a8fa6 100755
Harald Hoyer 9d5d75
--- a/modules.d/01systemd-initrd/module-setup.sh
Harald Hoyer 9d5d75
+++ b/modules.d/01systemd-initrd/module-setup.sh
Harald Hoyer 9d5d75
@@ -38,13 +38,12 @@ install() {
Harald Hoyer 9d5d75
 
Harald Hoyer 9d5d75
     ln_r "${systemdsystemunitdir}/initrd.target" "${systemdsystemunitdir}/default.target"
Harald Hoyer 9d5d75
 
Harald Hoyer 9d5d75
+    local VERSION=""
Harald Hoyer 9d5d75
+    local PRETTY_NAME=""
Harald Hoyer 9d5d75
     if [ -e /etc/os-release ]; then
Harald Hoyer 9d5d75
         . /etc/os-release
Harald Hoyer 9d5d75
-        VERSION+=" "
Harald Hoyer 9d5d75
-        PRETTY_NAME+=" "
Harald Hoyer 9d5d75
-    else
Harald Hoyer 9d5d75
-        VERSION=""
Harald Hoyer 9d5d75
-        PRETTY_NAME=""
Harald Hoyer 9d5d75
+        [[ -n ${VERSION} ]] && VERSION+=" "
Harald Hoyer 9d5d75
+        [[ -n ${PRETTY_NAME} ]] && PRETTY_NAME+=" "
Harald Hoyer 9d5d75
     fi
Harald Hoyer 9d5d75
     NAME=dracut
Harald Hoyer 9d5d75
     ID=dracut
Harald Hoyer 9d5d75
diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
Harald Hoyer 9d5d75
index 731c6dcc..21523fc9 100755
Harald Hoyer 9d5d75
--- a/modules.d/99base/module-setup.sh
Harald Hoyer 9d5d75
+++ b/modules.d/99base/module-setup.sh
Harald Hoyer 9d5d75
@@ -63,13 +63,12 @@ install() {
Harald Hoyer 9d5d75
         echo ro >> "${initdir}/etc/cmdline.d/base.conf"
Harald Hoyer 9d5d75
     fi
Harald Hoyer 9d5d75
 
Harald Hoyer 9d5d75
+    local VERSION=""
Harald Hoyer 9d5d75
+    local PRETTY_NAME=""
Harald Hoyer 9d5d75
     if [ -e /etc/os-release ]; then
Harald Hoyer 9d5d75
         . /etc/os-release
Harald Hoyer 9d5d75
-        VERSION+=" "
Harald Hoyer 9d5d75
-        PRETTY_NAME+=" "
Harald Hoyer 9d5d75
-    else
Harald Hoyer 9d5d75
-        VERSION=""
Harald Hoyer 9d5d75
-        PRETTY_NAME=""
Harald Hoyer 9d5d75
+        [[ -n ${VERSION} ]] && VERSION+=" "
Harald Hoyer 9d5d75
+        [[ -n ${PRETTY_NAME} ]] && PRETTY_NAME+=" "
Harald Hoyer 9d5d75
     fi
Harald Hoyer 9d5d75
     NAME=dracut
Harald Hoyer 9d5d75
     ID=dracut
Harald Hoyer 9d5d75