From 30f50bd9b229a3a082a775914c096133763bb3b3 Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Wed, 15 Oct 2008 10:54:09 +0000 Subject: * minor fixes git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2312 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initramfs/stage3-stuff/bin/init-wrapper | 35 ++++++++++++++++----------------- 1 file changed, 17 insertions(+), 18 deletions(-) (limited to 'initramfs/stage3-stuff/bin/init-wrapper') diff --git a/initramfs/stage3-stuff/bin/init-wrapper b/initramfs/stage3-stuff/bin/init-wrapper index 5f10f333..a0b76bdc 100755 --- a/initramfs/stage3-stuff/bin/init-wrapper +++ b/initramfs/stage3-stuff/bin/init-wrapper @@ -33,26 +33,25 @@ DEBUGLEVEL="$2" # initial [ -d /tmp/env ] || mkdir -p /tmp/env -# load temporary environments -for tmpenv in /tmp/env/* -do - [ -f "$tmpenv" ] && . $tmpenv -done +if [ ! -f /tmp/env/base.sed ]; then + # get environment and prepare as sed command + pre_env_base=$(env | sed -e 's/^\([^=]*\).*/\1/' | tr '\n' ';') + pre_env_base=$(echo $pre_env_base| sed -e 's/;/\.\*\/\/;s\/\^/g') + pre_env_base="s/^$pre_env_base//;" + $(echo $pre_env_base > /tmp/env/base.sed) +else + pre_env_base=$(cat /tmp/env/base.sed) +fi -# get environment and prepare as sed command -pre_env=$(env | sed -e 's/^\([^=]*\).*/\1/' | tr '\n' ';') -pre_env=$(echo $pre_env| sed -e 's/;/\.\*\/\/;s\/\^/g') -pre_env="s/^$pre_env//;" +# load temporary environments +[ -f /tmp/env/wrapper.env ] && . /tmp/env/wrapper.env -[ "${DEBUGLEVEL}" -gt 10 -a "${DEBUGLEVEL}" -le 20 ] && set -x +[ "${DEBUGLEVEL}" -eq 15 ] && set -x [ -f $init_file ] && . $init_file -[ "${DEBUGLEVEL}" -gt 10 -a "${DEBUGLEVEL}" -le 20 ] && set +x - -outfile=$(basename $init_file) -outfile="${outfile}.env" +[ "${DEBUGLEVEL}" -eq 15 ] && set +x # remove already known environment variables from postenv -env |sed -e $pre_env | sort -u | \ - sed -e '1s/.*/#generated by init-wrapper/' | \ - sed -e 's/^\([^=]*\)=\(.*\)/\1="\2"/' \ - > /tmp/env/$outfile +env |sed -e $pre_env_base | sort -u | \ + sed "1s|.*|# generated by init-wrapper; last changed by $init_file/|" | \ + sed -e 's/^\([^=]*\)=\(.*\)/export \1="\2"/' \ + > /tmp/env/wrapper.env -- cgit v1.2.3-55-g7522