summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bsdconfig/startup
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/bsdconfig/startup')
-rwxr-xr-xusr.sbin/bsdconfig/startup/misc101
-rwxr-xr-xusr.sbin/bsdconfig/startup/rcadd4
-rwxr-xr-xusr.sbin/bsdconfig/startup/rcconf4
-rwxr-xr-xusr.sbin/bsdconfig/startup/rcdelete15
-rwxr-xr-xusr.sbin/bsdconfig/startup/rcedit4
-rwxr-xr-xusr.sbin/bsdconfig/startup/rcvar6
-rw-r--r--usr.sbin/bsdconfig/startup/share/rcconf.subr16
-rw-r--r--usr.sbin/bsdconfig/startup/share/rcedit.subr9
-rw-r--r--usr.sbin/bsdconfig/startup/share/rcvar.subr18
-rwxr-xr-xusr.sbin/bsdconfig/startup/startup4
10 files changed, 79 insertions, 102 deletions
diff --git a/usr.sbin/bsdconfig/startup/misc b/usr.sbin/bsdconfig/startup/misc
index 738f730..a792daf 100755
--- a/usr.sbin/bsdconfig/startup/misc
+++ b/usr.sbin/bsdconfig/startup/misc
@@ -38,15 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr
BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="140.startup"
f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
-
-############################################################ GLOBALS
-
-#
-# Operating environment
-#
-UNAME_P=$( uname -p ) # Processor Architecture (i.e. i386)
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+ pgm="${ipgm:-$pgm}"
############################################################ FUNCTIONS
@@ -346,87 +339,61 @@ while :; do
case "$mtag" in
"X $msg_exit") break ;;
- ?" [X] "*) toggled=1 ;;
- *) toggled=
+ ?" [X] "*) toggled=1 reverse=NO ;;
+ *) toggled= reverse=YES
esac
case "$mtag" in
# Simple On/Off toggle bits
?" ["?"] $msg_apm")
- if [ "$toggled" ]; then
- err=$( f_sysrc_set apm_enable NO 2>&1 )
- else
- err=$( f_sysrc_set apm_enable YES 2>&1 )
- fi
- ;;
+ f_eval_catch -dk err "$0" f_sysrc_set \
+ 'f_sysrc_set apm_enable "%s"' "$reverse" ;;
?" ["?"] $msg_named")
- if [ "$toggled" ]; then
- err=$( f_sysrc_set named_enable NO 2>&1 )
- else
- err=$( f_sysrc_set named_enable YES 2>&1 )
- fi
- ;;
+ f_eval_catch -dk err "$0" f_sysrc_set \
+ 'f_sysrc_set named_enable "%s"' "$reverse" ;;
?" ["?"] $msg_accounting")
- if [ "$toggled" ]; then
- err=$( f_sysrc_set accounting_enable NO 2>&1 )
- else
- err=$( f_sysrc_set accounting_enable YES 2>&1 )
- fi
- ;;
+ f_eval_catch -dk err "$0" f_sysrc_set \
+ 'f_sysrc_set accounting_enable "%s"' "$reverse" ;;
?" ["?"] $msg_lpd")
- if [ "$toggled" ]; then
- err=$( f_sysrc_set lpd_enable NO 2>&1 )
- else
- err=$( f_sysrc_set lpd_enable YES 2>&1 )
- fi
- ;;
+ f_eval_catch -dk err "$0" f_sysrc_set \
+ 'f_sysrc_set lpd_enable "%s"' "$reverse" ;;
?" ["?"] $msg_sco")
- if [ "$toggled" ]; then
- err=$( f_sysrc_set ibcs2_enable NO 2>&1 )
- else
- err=$( f_sysrc_set ibcs2_enable YES 2>&1 )
- fi
- ;;
+ f_eval_catch -dk err "$0" f_sysrc_set \
+ 'f_sysrc_set ibcs2_enable "%s"' "$reverse" ;;
?" ["?"] $msg_svr4")
- if [ "$toggled" ]; then
- err=$( f_sysrc_set svr4_enable NO 2>&1 )
- else
- err=$( f_sysrc_set svr4_enable YES 2>&1 )
- fi
- ;;
+ f_eval_catch -dk err "$0" f_sysrc_set \
+ 'f_sysrc_set svr4_enable "%s"' "$reverse" ;;
# Multi-variable On/Off toggle bits
?" ["?"] $msg_nis_client")
- if [ "$toggled" ]; then
- err=$( f_sysrc_set nis_client_enable NO 2>&1 )
- else
- err=$( f_sysrc_set nis_client_enable YES 2>&1 ) \
- && err=$( f_sysrc_set rpcbind_enable YES 2>&1 )
- fi
- ;;
+ if f_eval_catch -dk err "$0" f_sysrc_set \
+ 'f_sysrc_set nis_client_enable "%s"' "$reverse"
+ then
+ [ "$reverse" = "NO" ] || f_eval_catch -dk err "$0" \
+ f_sysrc_set 'f_sysrc_set rpcbind_enable YES'
+ fi ;;
?" ["?"] $msg_nis_server")
- if [ "$toggled" ]; then
- err=$( f_sysrc_set nis_server_enable NO 2>&1 )
- else
- err=$( f_sysrc_set nis_server_enable YES 2>&1 ) \
- && err=$( f_sysrc_set rpcbind_enable YES 2>&1 )
- fi
- ;;
+ if f_eval_catch -dk err "$0" f_sysrc_set \
+ 'f_sysrc_set nis_server_enable "%s"' "$reverse"
+ then
+ [ "$reverse" = "NO" ] || f_eval_catch -dk err "$0" \
+ f_sysrc_set 'f_sysrc_set rpcbind_enable YES'
+ fi ;;
# Checkboxes for non-boolean options
?" ["?"] $msg_nis_domainname")
dialog_input_value "$msg_nis_domainname_desc" \
"$( f_sysrc_get nisdomainname )" || continue
- err=$( f_sysrc_set nisdomainname "$value" 2>&1 )
- ;;
+ f_eval_catch -dk err "$0" f_sysrc_set \
+ 'f_sysrc_set nisdomainname "%s"' "$value" ;;
?" ["?"] $msg_startup_dirs")
dialog_input_value "$msg_startup_dirs_desc" \
"$( f_sysrc_get local_startup )" || continue
- err=$( f_sysrc_set local_startup "$value" 2>&1 )
- ;;
+ f_eval_catch -dk err "$0" f_sysrc_set \
+ 'f_sysrc_set local_startup "%s"' "$value" ;;
?" ["?"] $msg_named_flags")
dialog_input_value "$msg_named_flags_desc" \
"$( f_sysrc_get named_flags )" || continue
- err=$( f_sysrc_set named_flags "$value" 2>&1 )
- ;;
+ f_eval_catch -dk err "$0" f_sysrc_set \
+ 'f_sysrc_set named_flags "%s"' "$value" ;;
esac
[ $? -eq $DIALOG_OK ] || f_dialog_msgbox "$err\n"
diff --git a/usr.sbin/bsdconfig/startup/rcadd b/usr.sbin/bsdconfig/startup/rcadd
index 9fd3bdd..7b536c2 100755
--- a/usr.sbin/bsdconfig/startup/rcadd
+++ b/usr.sbin/bsdconfig/startup/rcadd
@@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/startup/rcconf.subr
BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="140.startup"
f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+ pgm="${ipgm:-$pgm}"
############################################################ GLOBALS
diff --git a/usr.sbin/bsdconfig/startup/rcconf b/usr.sbin/bsdconfig/startup/rcconf
index 6154d27..6a6247b 100755
--- a/usr.sbin/bsdconfig/startup/rcconf
+++ b/usr.sbin/bsdconfig/startup/rcconf
@@ -39,8 +39,8 @@ f_include $BSDCFG_SHARE/startup/rcconf.subr
BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="140.startup"
f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+ pgm="${ipgm:-$pgm}"
############################################################ GLOBALS
diff --git a/usr.sbin/bsdconfig/startup/rcdelete b/usr.sbin/bsdconfig/startup/rcdelete
index 5769be9..ccc15ba 100755
--- a/usr.sbin/bsdconfig/startup/rcdelete
+++ b/usr.sbin/bsdconfig/startup/rcdelete
@@ -39,8 +39,8 @@ f_include $BSDCFG_SHARE/startup/rcconf.subr
BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="140.startup"
f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+ pgm="${ipgm:-$pgm}"
############################################################ GLOBALS
@@ -364,18 +364,17 @@ while :; do
"> $msg_delete_selected")
delete_vars=
for var in $( f_startup_rcconf_list ); do
- [ "$( eval echo \$_${var}_delete )" ] || continue
- delete_vars="$delete_vars${delete_vars:+ }$var"
+ f_getvar _${var}_delete _delete
+ [ "$_delete" ] || continue
+ delete_vars="$delete_vars $var"
done
if dialog_menu_confirm_delete $delete_vars; then
f_dialog_title "$msg_info"
f_dialog_info "$msg_deleting_selected_directives"
f_dialog_title_restore
for var in $delete_vars; do
- if ! err=$( f_sysrc_delete $var 2>&1 ); then
- f_dialog_msgbox "$err\n"
- break
- fi
+ f_eval_catch "$0" f_sysrc_delete \
+ 'f_sysrc_delete "%s"' "$var" || break
done
dialog_create_main
fi
diff --git a/usr.sbin/bsdconfig/startup/rcedit b/usr.sbin/bsdconfig/startup/rcedit
index de7f321..54061b5 100755
--- a/usr.sbin/bsdconfig/startup/rcedit
+++ b/usr.sbin/bsdconfig/startup/rcedit
@@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/startup/rcedit.subr
BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="140.startup"
f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+ pgm="${ipgm:-$pgm}"
############################################################ MAIN
diff --git a/usr.sbin/bsdconfig/startup/rcvar b/usr.sbin/bsdconfig/startup/rcvar
index e206ed4..ddca906 100755
--- a/usr.sbin/bsdconfig/startup/rcvar
+++ b/usr.sbin/bsdconfig/startup/rcvar
@@ -39,8 +39,8 @@ f_include $BSDCFG_SHARE/startup/rcvar.subr
BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="140.startup"
f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+ pgm="${ipgm:-$pgm}"
############################################################ GLOBALS
@@ -210,7 +210,7 @@ while :; do
*) value="YES"
esac
- err=$( f_sysrc_set "$rcvar" "$value" 2>&1 ) || f_dialog_msgbox "$err"
+ f_eval_catch "$0" f_sysrc_set 'f_sysrc_set "%s" "%s"' "$rcvar" "$value"
done
exit $SUCCESS
diff --git a/usr.sbin/bsdconfig/startup/share/rcconf.subr b/usr.sbin/bsdconfig/startup/share/rcconf.subr
index 1ff57fd..38b4cc8 100644
--- a/usr.sbin/bsdconfig/startup/share/rcconf.subr
+++ b/usr.sbin/bsdconfig/startup/share/rcconf.subr
@@ -106,6 +106,7 @@ f_startup_rcconf_list()
#
f_startup_rcconf_map()
{
+ local __funcname=f_startup_rcconf_map
local __var_to_set="$1"
# If the in-memory cached value is available, return it immediately
@@ -128,7 +129,7 @@ f_startup_rcconf_map()
# can be used to quickly populate the cache value for immediate return.
#
local __rc_defaults_digest
- __rc_defaults_digest=$( md5 < "$RC_DEFAULTS" )
+ __rc_defaults_digest=$( exec 2> /dev/null; md5 < "$RC_DEFAULTS" )
#
# Check to see if the global persistant cache file exists
@@ -218,8 +219,9 @@ f_startup_rcconf_map()
#
# Create a new temporary file to write to
- local __tmpfile="$( mktemp -t "$pgm" )"
- [ "$__tmpfile" ] || return $FAILURE
+ local __tmpfile
+ f_eval_catch -dk __tmpfile $__funcname mktemp \
+ 'mktemp -t "%s"' "$pgm" || return $FAILURE
# Write the temporary file contents
echo "$__rc_defaults_digest" > "$__tmpfile"
@@ -227,9 +229,11 @@ f_startup_rcconf_map()
# Finally, move the temporary file into place
case "$STARTUP_RCCONF_MAP_CACHEFILE" in
- */*) f_quietly mkdir -p "${STARTUP_RCCONF_MAP_CACHEFILE%/*}"
+ */*) f_eval_catch -d $__funcname mkdir \
+ 'mkdir -p "%s"' "${STARTUP_RCCONF_MAP_CACHEFILE%/*}"
esac
- mv "$__tmpfile" "$STARTUP_RCCONF_MAP_CACHEFILE"
+ f_eval_catch -d $__funcname mv \
+ 'mv "%s" "%s"' "$__tmpfile" "$STARTUP_RCCONF_MAP_CACHEFILE"
}
# f_startup_rcconf_map_expand $var_to_get
@@ -243,7 +247,7 @@ f_startup_rcconf_map()
f_startup_rcconf_map_expand()
{
local var_to_get="$1"
- eval "$( f_getvar "$var_to_get" | awk '
+ eval "$( debug= f_getvar "$var_to_get" | awk '
BEGIN {
rword = "^[[:space:]]*[^[:space:]]*[[:space:]]*"
}
diff --git a/usr.sbin/bsdconfig/startup/share/rcedit.subr b/usr.sbin/bsdconfig/startup/share/rcedit.subr
index fe0989d..1adca47 100644
--- a/usr.sbin/bsdconfig/startup/share/rcedit.subr
+++ b/usr.sbin/bsdconfig/startup/share/rcedit.subr
@@ -32,6 +32,7 @@ BSDCFG_SHARE="/usr/share/bsdconfig"
. $BSDCFG_SHARE/common.subr || exit 1
f_dprintf "%s: loading includes..." startup/rcedit.subr
f_include $BSDCFG_SHARE/dialog.subr
+f_include $BSDCFG_SHARE/strings.subr
f_include $BSDCFG_SHARE/sysrc.subr
BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="140.startup"
@@ -54,10 +55,11 @@ f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
#
f_dialog_rcedit()
{
+ local funcname=f_dialog_rcedit
local msg var="$1" _input
- msg=$( printf "$msg_please_enter_a_new_value" \
- "$var" "$( f_sysrc_get_default "$var" )" )
+ f_sprintf msg "$msg_please_enter_a_new_value" \
+ "$var" "$( f_sysrc_get_default "$var" )"
shift 1 # var
if [ "$1" ]; then
@@ -77,7 +79,8 @@ f_dialog_rcedit()
f_dprintf "%s: [%s]->[%s]" "$var" "$cur_val" "$_input"
- err=$( f_sysrc_set "$var" "$_input" 2>&1 ) || f_dialog_msgbox "$err"
+ f_eval_catch $funcname f_sysrc_set \
+ 'f_sysrc_set "%s" "%s"' "$var" "$_input"
}
############################################################ MAIN
diff --git a/usr.sbin/bsdconfig/startup/share/rcvar.subr b/usr.sbin/bsdconfig/startup/share/rcvar.subr
index 0986895..c5a7885 100644
--- a/usr.sbin/bsdconfig/startup/share/rcvar.subr
+++ b/usr.sbin/bsdconfig/startup/share/rcvar.subr
@@ -85,6 +85,7 @@ STARTUP_RCVAR_MAP_CACHEFILE="/var/run/bsdconfig/startup_rcvar_map.cache"
#
f_startup_rcvar_map()
{
+ local __funcname=f_startup_rcvar_map
local __var_to_set="$1"
# If the in-memory cached value is available, return it immediately
@@ -125,8 +126,8 @@ f_startup_rcvar_map()
# value for immediate return.
#
local __rc_script_list_digest
- __rc_script_list_digest=$( cd "$ETC_RC_D" &&
- cksum "$RC_DEFAULTS" $__rc_script_list | md5 )
+ __rc_script_list_digest=$( cd "$ETC_RC_D" 2> /dev/null &&
+ cksum "$RC_DEFAULTS" $__rc_script_list 2> /dev/null | md5 )
#
# Check to see if the global persistant cache file exists
@@ -179,7 +180,7 @@ f_startup_rcvar_map()
STARTUP_RCVAR_MAP=$(
for script in $__rc_script_list; do
- rcvar_list=$( $script rcvar | awk -F= \
+ rcvar_list=$( $script rcvar 2> /dev/null | awk -F= \
-v script="$script" '
/^'"$STARTUP_RCVAR_REGEX"'/ {
if ( $2 ~ /^"[Yy][Ee][Ss]"$/ )
@@ -211,8 +212,9 @@ f_startup_rcvar_map()
#
# Create a new temporary file to write to
- local __tmpfile="$( mktemp -t "$pgm" )"
- [ "$__tmpfile" ] || return $FAILURE
+ local __tmpfile
+ f_eval_catch -dk __tmpfile $__funcname mktemp \
+ 'mktemp -t "%s"' "$__tmpfile" || return $FAILURE
# Write the temporary file contents
echo "$__rc_script_list_digest" > "$__tmpfile"
@@ -220,9 +222,11 @@ f_startup_rcvar_map()
# Finally, move the temporary file into place
case "$STARTUP_RCVAR_MAP_CACHEFILE" in
- */*) f_quietly mkdir -p "${STARTUP_RCVAR_MAP_CACHEFILE%/*}"
+ */*) f_eval_catch -d $__funcname mkdir \
+ 'mkdir -p "%s"' "${STARTUP_RCVAR_MAP_CACHEFILE%/*}"
esac
- mv "$__tmpfile" "$STARTUP_RCVAR_MAP_CACHEFILE"
+ f_eval_catch -d $__funcname mv \
+ 'mv "%s" "%s"' "$__tmpfile" "$STARTUP_RCVAR_MAP_CACHEFILE"
}
############################################################ MAIN
diff --git a/usr.sbin/bsdconfig/startup/startup b/usr.sbin/bsdconfig/startup/startup
index 6b02cb4..17755d1 100755
--- a/usr.sbin/bsdconfig/startup/startup
+++ b/usr.sbin/bsdconfig/startup/startup
@@ -37,8 +37,8 @@ f_include $BSDCFG_SHARE/mustberoot.subr
BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="140.startup"
f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
-ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
-[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm"
+f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm &&
+ pgm="${ipgm:-$pgm}"
############################################################ FUNCTIONS
OpenPOWER on IntegriCloud