diff --git a/setupcon b/setupcon index cf6a234..a653db4 100755 --- a/setupcon +++ b/setupcon @@ -175,7 +175,7 @@ findfile () { esac x=`(ls "$installdir"/$1/$2 /usr/local/$1/$2 \ /usr/$1/$2 /etc/console-setup/$2 \ - "$installdir"/etc/console-setup/$2) 2>/dev/null` + "$installdir"/etc/console-setup/$2 /etc/default/$2) 2>/dev/null` x=`echo $x` [ "${x%% *}" ] || report Unable to find "$2". echo "${x%% *}" @@ -330,25 +330,20 @@ if [ "$VARIANT" ]; then VARIANT=".$VARIANT" fi -USER_CONFIG=${HOME}/.console-setup"$VARIANT" -USER_CONFIG2=${HOME}/.keyboard"$VARIANT" -MAIN_CONFIG=/etc/default/keyboard"$VARIANT" -[ -f "$MAIN_CONFIG" ] \ - || MAIN_CONFIG="$installdir"/etc/default/keyboard"$VARIANT" -MAIN_CONFIG2=/etc/default/console-setup"$VARIANT" -[ -f "$MAIN_CONFIG2" ] \ - || MAIN_CONFIG2="$installdir"/etc/default/console-setup"$VARIANT" - -if [ -f "$USER_CONFIG" ]; then - CONFIG="$USER_CONFIG" - CONFIG2="$USER_CONFIG2" -elif [ -f "$MAIN_CONFIG" ]; then - CONFIG="$MAIN_CONFIG" - CONFIG2="$MAIN_CONFIG2" -else - echo "setupcon: None of $MAIN_CONFIG nor $USER_CONFIG exists." >&2 - exit 1 -fi +find_config() { + local found + for C in $1$2 $1; do + found=$(findfile etc/default $C) + if [ -n $found ]; then + break + fi + done + echo $found +} + +CONFIG=$(find_config console-setup ${VARIANT}) +CONFIG2=$(find_config keyboard ${VARIANT}) +echo "setupcon: using configuration from $CONFIG $CONFIG2" >&2 if [ -f "$CONFIG2" ]; then . "$CONFIG2"