[arch-projects] [initscripts][PATCH] Add is_true and is_false functions
Signed-off-by: Allan McRae <allan@archlinux.org> --- This work is based on independent research and any resemblance to other patches, living or dead, is entirely coincidental. functions | 9 ++++++--- rc.shutdown | 6 +++--- rc.sysinit | 6 +++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/functions b/functions index 4a8ba7b..b87854f 100644 --- a/functions +++ b/functions @@ -19,6 +19,9 @@ if [[ $1 == "start" ]]; then fi fi +is_true() { [[ ${1^^} = @(TRUE|YES|1) ]]; } +is_false() { [[ ${1,,} = @(false|no|0) ]]; } + # width: calc_columns () { STAT_COL=80 @@ -384,7 +387,7 @@ udevd_modprobe() { } activate_vgs() { - [[ $USELVM = [yY][eE][sS] && -x $(type -P lvm) && -d /sys/block ]] || return 0 + is_true "$USELVM" && [[ -x $(type -P lvm) && -d /sys/block ]] || return 0 stat_busy "Activating LVM2 groups" vgchange --sysinit -a y >/dev/null (( $? == 0 )) && stat_done || stat_fail @@ -659,7 +662,7 @@ if (( RC_FUNCTIONS_HOOK_FUNCS_DEFINED != 1 )); then declare -r RC_FUNCTIONS_HOOK_FUNCS_DEFINED=1 fi -if [[ $DAEMON_LOCALE = [yY][eE][sS] ]]; then +if is_true "$DAEMON_LOCALE"; then export LANG=${LOCALE:-C} if [[ -r /etc/locale.conf ]]; then parse_envfile /etc/locale.conf "${localevars[@]}" @@ -669,7 +672,7 @@ else fi # set colors -if [[ $USECOLOR = [yY][eE][sS] ]]; then +if is_true "$USECOLOR"; then if tput setaf 0 &>/dev/null; then C_CLEAR=$(tput sgr0) # clear text C_MAIN=${C_CLEAR}$(tput bold) # main text diff --git a/rc.shutdown b/rc.shutdown index c708b92..f8d870d 100755 --- a/rc.shutdown +++ b/rc.shutdown @@ -27,7 +27,7 @@ status 'Saving Random Seed' /usr/lib/systemd/systemd-random-seed save halt -w # stop monitoring of lvm2 groups before unmounting filesystems -[[ $USELVM = [Yy][Ee][Ss] && -x $(type -P lvm) ]] && +is_true "$USELVM" && [[ -x $(type -P lvm) ]] && status "Deactivating monitoring of LVM2 groups" vgchange --monitor n # any future uevents can and should be ignored @@ -58,7 +58,7 @@ if [[ -f /etc/crypttab ]] && type -p cryptsetup >/dev/null; then stat_busy "Deactivating encrypted volumes:" # Maybe someone has LVM on an encrypted block device # executing an extra vgchange is errorless - [[ $USELVM = [Yy][Ee][Ss] ]] && vgchange --sysinit -a n &>/dev/null + is_true "$USELVM" && vgchange --sysinit -a n &>/dev/null do_lock() { stat_append "${1}.." if cryptsetup remove "$1" &>/dev/null; then @@ -71,7 +71,7 @@ if [[ -f /etc/crypttab ]] && type -p cryptsetup >/dev/null; then stat_done fi -[[ $USELVM = [Yy][Ee][Ss] && -x $(type -P lvm) ]] && +is_true "$USELVM" && [[ -x $(type -P lvm) ]] && status "Deactivating LVM2 groups" vgchange --sysinit -a n &>/dev/null run_hook shutdown_poweroff diff --git a/rc.sysinit b/rc.sysinit index 906135c..cb53561 100755 --- a/rc.sysinit +++ b/rc.sysinit @@ -77,11 +77,11 @@ status 'Configuring Virtual Consoles' /usr/lib/systemd/systemd-vconsole-setup status "Bringing up loopback interface" ip link set up dev lo # FakeRAID devices detection -[[ $USEDMRAID = [Yy][Ee][Ss] && -x $(type -P dmraid) ]] && +is_true "$USEDMRAID" && [[ -x $(type -P dmraid) ]] && status "Activating FakeRAID arrays" dmraid -i -ay # BTRFS devices detection -[[ $USEBTRFS = [Yy][Ee][Ss] && -x $(type -P btrfs) ]] && +is_true "$USEBTRFS" && [[ -x $(type -P btrfs) ]] && status "Activating BTRFS volumes" btrfs device scan # Activate LVM2 groups if any @@ -121,7 +121,7 @@ status "Mounting Local Filesystems" \ run_hook sysinit_postmount # enable monitoring of lvm2 groups, now that the filesystems are mounted rw -[[ $USELVM = [Yy][Ee][Ss] && -x $(type -P lvm) && -d /sys/block ]] && +is_true "$USELVM" && [[ -x $(type -P lvm) && -d /sys/block ]] && status "Activating monitoring of LVM2 groups" \ vgchange --monitor y >/dev/null -- 1.7.10.4
Am 12.06.2012 17:20, schrieb Allan McRae:
Signed-off-by: Allan McRae <allan@archlinux.org> ---
This work is based on independent research and any resemblance to other patches, living or dead, is entirely coincidental.
functions | 9 ++++++--- rc.shutdown | 6 +++--- rc.sysinit | 6 +++--- 3 files changed, 12 insertions(+), 9 deletions(-)
Somehow, this seems superior: https://projects.archlinux.org/netcfg.git/tree/src/globals#n69 While we're at it, we could add "indeed", "for sure", "hell no", "are you kidding me" and "fuck you" as possible answers?
participants (2)
-
Allan McRae
-
Thomas Bächler