63 lines
1.7 KiB
Diff
63 lines
1.7 KiB
Diff
|
From 476eb1b345764a7317f32da52b9b36f26fdf51ba Mon Sep 17 00:00:00 2001
|
||
|
From: Harald Hoyer <harald@redhat.com>
|
||
|
Date: Mon, 23 Apr 2012 11:28:59 +0200
|
||
|
Subject: [PATCH] base: add export_n() function
|
||
|
|
||
|
resembles export -n for dash
|
||
|
---
|
||
|
modules.d/99base/dracut-lib.sh | 13 +++++++++++++
|
||
|
modules.d/99base/init.sh | 12 ++++--------
|
||
|
2 files changed, 17 insertions(+), 8 deletions(-)
|
||
|
|
||
|
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
|
||
|
index f46c4a7..a4aa20c 100755
|
||
|
--- a/modules.d/99base/dracut-lib.sh
|
||
|
+++ b/modules.d/99base/dracut-lib.sh
|
||
|
@@ -821,3 +821,16 @@ emergency_shell()
|
||
|
exit 1
|
||
|
fi
|
||
|
}
|
||
|
+
|
||
|
+# Retain the values of these variables but ensure that they are unexported
|
||
|
+# This is a POSIX-compliant equivalent of bash's "export -n"
|
||
|
+export_n()
|
||
|
+{
|
||
|
+ local var
|
||
|
+ local val
|
||
|
+ for var in "$@"; do
|
||
|
+ eval val=\$$var
|
||
|
+ unset $var
|
||
|
+ [ -n "$val" ] && eval $var=\"$val\"
|
||
|
+ done
|
||
|
+}
|
||
|
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
|
||
|
index cb03137..aea739f 100755
|
||
|
--- a/modules.d/99base/init.sh
|
||
|
+++ b/modules.d/99base/init.sh
|
||
|
@@ -251,7 +251,6 @@ done
|
||
|
emergency_shell
|
||
|
}
|
||
|
|
||
|
-
|
||
|
if [ $UDEVVERSION -lt 168 ]; then
|
||
|
# stop udev queue before killing it
|
||
|
udevadm control --stop-exec-queue
|
||
|
@@ -268,13 +267,10 @@ else
|
||
|
udevadm info --cleanup-db
|
||
|
fi
|
||
|
|
||
|
-# Retain the values of these variables but ensure that they are unexported
|
||
|
-# This is a POSIX-compliant equivalent of bash's "export -n"
|
||
|
-for var in root rflags fstype netroot NEWROOT; do
|
||
|
- eval tmp=\$$var
|
||
|
- unset $var
|
||
|
- [ -n "$tmp" ] && eval $var=\"$tmp\"
|
||
|
-done
|
||
|
+debug_off # Turn off debugging for this section
|
||
|
+
|
||
|
+# unexport some vars
|
||
|
+export_n root rflags fstype netroot NEWROOT
|
||
|
|
||
|
export RD_TIMESTAMP
|
||
|
# Clean up the environment
|