From 7143433a883287b3dc74288e92100f78443f386f Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Sun, 10 Jul 2011 22:12:23 -0400 Subject: keymap/consolefont: source rc.conf properly from $BASEDIR This is partially in response to FS#24685, which should hopefully cut back on configuration duplication on non-sysvinit systems. This does, however, also fix a bug with keymap/consolefont pulling the wrong rc.conf when BASEDIR is not '/' or unset. Signed-off-by: Dave Reisner --- install/keymap | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'install/keymap') diff --git a/install/keymap b/install/keymap index 34b744a..2cf4d15 100644 --- a/install/keymap +++ b/install/keymap @@ -1,18 +1,22 @@ #!/bin/bash build() { - SCRIPT=keymap - eval "$(grep -E "^(LOCALE|KEYMAP)=" /etc/rc.conf)" - if [[ $KEYMAP ]]; then - if [[ $LOCALE = *[Uu][Tt][Ff]-8 ]]; then - printf '%s\n' "UTF8=yes" > "$BUILDROOT/keymap.utf8" - /bin/loadkeys -q -u $KEYMAP -b > "$BUILDROOT/keymap.bin" - else - printf '%s\n' "UTF8=no" > "$BUILDROOT/keymap.utf8" - /bin/loadkeys -q $KEYMAP -b > "$BUILDROOT/keymap.bin" + # subshell to avoid namespace pollution + ( + . "$BASEDIR/etc/rc.conf" + if [[ $KEYMAP ]]; then + if [[ $LOCALE = *[Uu][Tt][Ff]-8 ]]; then + printf '%s\n' "UTF8=yes" > "$BUILDROOT/keymap.utf8" + /bin/loadkeys -q -u $KEYMAP -b > "$BUILDROOT/keymap.bin" + else + printf '%s\n' "UTF8=no" > "$BUILDROOT/keymap.utf8" + /bin/loadkeys -q $KEYMAP -b > "$BUILDROOT/keymap.bin" + fi fi - fi + ) + + (( $? == 0 )) && SCRIPT=keymap } help() { -- cgit v1.2.3-24-g4f1b