diff options
Diffstat (limited to 'usr.sbin/bsdconfig/startup')
-rwxr-xr-x | usr.sbin/bsdconfig/startup/misc | 101 | ||||
-rwxr-xr-x | usr.sbin/bsdconfig/startup/rcadd | 4 | ||||
-rwxr-xr-x | usr.sbin/bsdconfig/startup/rcconf | 4 | ||||
-rwxr-xr-x | usr.sbin/bsdconfig/startup/rcdelete | 15 | ||||
-rwxr-xr-x | usr.sbin/bsdconfig/startup/rcedit | 4 | ||||
-rwxr-xr-x | usr.sbin/bsdconfig/startup/rcvar | 6 | ||||
-rw-r--r-- | usr.sbin/bsdconfig/startup/share/rcconf.subr | 16 | ||||
-rw-r--r-- | usr.sbin/bsdconfig/startup/share/rcedit.subr | 9 | ||||
-rw-r--r-- | usr.sbin/bsdconfig/startup/share/rcvar.subr | 18 | ||||
-rwxr-xr-x | usr.sbin/bsdconfig/startup/startup | 4 |
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 |