shift 2
for _fo_i; do
- test "$_fo_i" || continue
+ test -n "$_fo_i" || continue
test ! $_fo_mod "$_fo_i" || { _fo_file=$_fo_i; break; }
done
- test -z "$_fo_i" -o "$_fo_file" || {
+ test -z "$_fo_i" -o -n "$_fo_file" || {
echo "Can not find file for '$_fo_var'; aborting"
exit 1
} >&2
shift
findFile tmp "$@"
- test "$tmp" -a -s "$tmp" || return 0
+ test -n "$tmp" -a -s "$tmp" || return 0
$_CP -af "$tmp" "$dst"
}
## Usage: logging <message>
function logging
{
- if test "$_VS_LOGFILE"; then
+ if test -n "$_VS_LOGFILE"; then
echo "$@" >>"$_VS_LOGFILE"
else
echo "$@"
## Usage: warning <message>
function warning
{
- if test "$_VS_ERRFILE"; then
+ if test -n "$_VS_ERRFILE"; then
echo "$@" >>"$_VS_ERRFILE"
else
echo "$@" >&2
## Usage: panic <message>
function panic
{
- if test "$_VS_ERRFILE"; then
+ if test -n "$_VS_ERRFILE"; then
echo "$@" >>"$_VS_ERRFILE"
else
echo "$@" >&2
function isNumber
{
local tmp
- let tmp=$1+0 2>/dev/null || test -z "${1//0/}" -a "$1" || return 1
+ let tmp=$1+0 2>/dev/null || test -z "${1//0/}" -a -n "$1" || return 1
return 0
}
else
local cfile
findFile cfile "$CONFDIR"/.defaults/styles/"$style" ''
- if test "$cfile"; then
+ if test -n "$cfile"; then
$_CAT "$cfile"
else
case "$style" in
function _pkgSetVarsRPM
{
- if test "$PKGDIR"; then
+ if test -n "$PKGDIR"; then
findDir RPMETCDIR $PKGDIR/rpmetc $PKGDIR/base/rpm/etc /etc/rpm
findDir RPMSTATEDIR $PKGDIR/rpmstate $PKGDIR/base/rpm/state
function _pkgSetVarsApt
{
- if test "$PKGDIR"; then
+ if test -n "$PKGDIR"; then
findDir APTETCDIR $PKGDIR/aptetc $PKGDIR/base/apt/etc /etc/apt
findDir APTSTATEDIR $PKGDIR/aptstate $PKGDIR/base/apt/state
findDir APTCACHEDIR $PKGDIR/aptcache $PKGDIR/base/apt/cache
function _pkgSetVarsYum
{
- if test "$PKGDIR"; then
+ if test -n "$PKGDIR"; then
findDir YUMETCDIR $PKGDIR/yumetc $PKGDIR/base/yum/etc /etc
findDir YUMCACHEDIR $PKGDIR/yumcache $PKGDIR/base/yum/cache
else
function _pkgSetEnvBase
{
- test "$EXECDIR" = "/" || {
+ test "$EXECDIR" = "/" || {
PATH=$EXECDIR:$PATH
LD_LIBRARY_PATH=$EXECDIR${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
}
read _gvs_ctx <"$1"/run
eval "$2"=\$_gvs_ctx
- test "$3" || return 0
+ test -n "$3" || return 0
local _gvs_tmp
_getProcNumberCount "$_gvs_ctx" _gvs_tmp
eval "$3"=\$_gvs_tmp
local _ivr_ctx _ivr_procnum
getVserverStatus "$1" _ivr_ctx _ivr_procnum 1 || return 1
- test $_ivr_procnum != 0 || return 1
+ test "$_ivr_procnum" != 0 || return 1
test -z "$2" || eval "$2"=\$_ivr_ctx
return 0
}
shift
findFile _gfv_file "$@" ''
- test "$_gfv_file" -a -r "$_gfv_file" || return 0
+ test -n "$_gfv_file" -a -r "$_gfv_file" || return 0
eval read "$_gfv_var" <"$_gfv_file"
}
ctx=$( $_VSERVER_INFO "$1" CONTEXT f ) || ctx=
shift
- if test "$ctx"; then
+ if test -n "$ctx"; then
$_VNAMESPACE --enter "$ctx" -- "$@"
else
"$@"
}
local _pgs_cfgdir=$($_VSERVER_INFO "$1" APPDIR pkgmgmt) || :
- if test "$_pgs_cfgdir" -a -e "$_pgs_cfgdir"/style; then
+ if test -n "$_pgs_cfgdir" -a -e "$_pgs_cfgdir"/style; then
read style <"$_pgs_cfgdir"/style
elif test -e "$_pgs_vdir"/etc/redhat-release -o -e "$_pgs_vdir"/etc/fedora-release; then
style=redhat
local is_internal="$3"
local have_apt i
- if test "$is_internal"; then
+ if test -n "$is_internal"; then
have_apt=1
test -d "$cfgdir"/base/apt -o -d "$cfgdir"/aptetc || have_apt=
else
done
fi
- test "$have_apt" && return 0 || return 1
+ test -n "$have_apt" && return 0 || return 1
}
## Usage: pkgmgmt.isYumAvailable <cfgdir> <vdir> [<is-internal>]
local is_internal="$3"
local have_yum i
- if test "$is_internal"; then
+ if test -n "$is_internal"; then
have_yum=1
test -d "$cfgdir"/base/yum -o -d "$cfgdir"/yumetc || have_yum=
else
done
fi
- test "$have_yum" && return 0 || return 1
+ test -n "$have_yum" && return 0 || return 1
}
local f=${1:+$1-}disabled
test ! -e "$CONFDIR"/.defaults/apps/vshelper/"$f" || return 1
$_VSERVER_INFO - FEATURE vshelper || return 1
- if test "$2"; then
+ if test -n "$2"; then
local appdir=$($_VSERVER_INFO "$2" APPDIR vshelper) || return 0
test -z "$2" -o ! -e "$appdir/$f" || return 1
fi
{
vshelper.isEnabled || return 0
- local xid=$($_VSERVER_INFO "$1" CONTEXT false) && test "$xid" || {
+ local xid=$($_VSERVER_INFO "$1" CONTEXT false) && test -n "$xid" || {
warning $"vshelper.init: can not determine xid of vserver '$vserver'; returned value was '$xid'"
return 1
}
echo "$1" >"$f"
set +C
- if test "$2"; then
+ if test -n "$2"; then
shift 1
local i
for i; do
local _vgst_file _vgst_tmp
findFile _vgst_file ${_vgst_appdir:+"$_vgst_appdir"/sync-timeout} "$CONFDIR"/.defaults/apps/vshelper/sync-timeout ''
- test "$_vgst_file" || return 1
+ test -n "$_vgst_file" || return 1
read _vgst_tmp <"$_vgst_file"
eval $2=\$_vgst_tmp
}
{
local ctx=$1
- if test "$ctx" && ! $_VSERVER_INFO - FEATURE migrate; then
+ if test -n "$ctx" && ! $_VSERVER_INFO - FEATURE migrate; then
set -- $($_CHCONTEXT_COMPAT --xid 1 \
$_SH -c "$_CAT /proc/[0-9]*/status | $_EGREP '^(CapBset|s_context|ctxflags)'" | \
$_GREP -B 1 -A 1 "^s_context: $ctx " | \
set --
fi
- if test "$3"; then
+ if test -n "$3"; then
RPM_FAKE_CAP=$[ ~0x$1 ]
RPM_FAKE_FLAGS=$3
else
function _createDirs()
{
for i; do
- test "$i" || continue
+ test -n "$i" || continue
mkdir -p -m755 "$i"
done
}
echo "Can not determine configuration directory for '$1'; ..." >&2
return 1
}
- test "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$1"
+ test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$1"
_mountFilesystemsInternal "$cfgdir"/fstab $_CHBIND "${CHBIND_OPTS[@]}" || return 1
_mountFilesystemsInternal "$cfgdir"/fstab.local $_CHBIND "${CHBIND_OPTS[@]}" || return 1
}
local vdir=$cfgdir/vdir
local is_ok=1
- test "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$1"
+ test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$1"
pushd "$vdir/" >/dev/null || return 1
_umountVserverInternal "$cfgdir"/fstab.local || is_ok=
_umountVserverInternal "$cfgdir"/fstab $_CHBIND "${CHBIND_OPTS[@]}" || is_ok=
popd >/dev/null || return 1
- test "$is_ok"
+ test -n "$is_ok"
}
function processVserver_RH()
## Create directories and assign variables where configuration
## can/will be found on the host
- if test "$is_internalize"; then
+ if test -n "$is_internalize"; then
pushd "$vdir" >/dev/null
test ! -L var/lib/rpm || {
popd >/dev/null
- if test "$have_apt"; then
+ if test -n "$have_apt"; then
findDir APTETCDIR "$cfgdir"/aptetc "$cfgdir"/base/apt/etc /etc/apt /
fi
mkdir -m755 -p "$cfgdir"
local need_base=
- if test "$have_apt"; then
+ if test -n "$have_apt"; then
findDir APTETCDIR "$cfgdir"/aptetc "$cfgdir"/base/apt/etc /
findDir APTSTATEDIR "$cfgdir"/aptstate "$cfgdir"/base/apt/state /
findDir APTCACHEDIR "$cfgdir"/aptcache "$cfgdir"/base/apt/cache /
fi
## Copy the files...
- if test "$is_internalize"; then
- if test "$have_apt"; then
+ if test -n "$is_internalize"; then
+ if test -n "$have_apt"; then
_copySecure "$vdir" "$APTETCDIR" /etc/apt
pushd "$vdir" >/dev/null
_hashAuto /etc/apt/apt.conf '/'
_copySecure "$vdir" "$RPMSTATEDIR" /var/lib/rpm
else
- if test "$have_apt"; then
+ if test -n "$have_apt"; then
_copySecureRev "$vdir" /etc/apt "$APTETCDIR"
_unhashAuto "$APTETCDIR"/apt.conf '/'
fi
fi
## Cleanups...
- if test "$is_internalize"; then
+ if test -n "$is_internalize"; then
:
else
tmpdir=$($_MKTEMPDIR /var/tmp/pgmgmt.XXXXXX)
fi
## Finish it...
- if test "$is_internalize"; then
+ if test -n "$is_internalize"; then
$_TOUCH "$cfgdir"/internal
else
$_RM -f "$cfgdir"/internal
local vserver=$1
local is_internalize=$2
- if test "$is_internalize"; then
+ if test -n "$is_internalize"; then
echo $"Debian vservers should be internalized everytime; do not know how to handle '$vserver'" >&2
else
echo $"External packagemanagement is not supported for Debian vserver" >&2
shift
done
-test "$1" || {
+test -n "$1" || {
echo $"No vserver specified; try '--help' for more information"
exit 1
} >&2
let --i
d=$CONFDIR/${vservers[$i]}/apps/init
f=$d/mark
- { test "$OPTION_MARK" -a -r "$f" && grep -qx "$OPTION_MARK" "$f"; } || \
+ { test -n "$OPTION_MARK" -a -r "$f" && grep -qx "$OPTION_MARK" "$f"; } || \
{ test -z "$OPTION_MARK" && test ! -e "$f"; } || \
unset vservers[$i]
done
for i in "${vservers[@]}"; do
cnt=$[ cnt + 1 ]
- test "$is_quiet" || {
+ test -n "$is_quiet" || {
colorize bold echo -n "vaptget: operating on vserver "
colorize bold colorize emph echo "$i"
xtermTitle "vaptget: operating on vserver '$i' [$cnt/${#vservers[@]}]"
fi
res=$?
- test $res -eq 0 -o "$is_quiet" || {
+ test $res -eq 0 -o -n "$is_quiet" || {
colorize error echo -n $"vapt-get failed on vserver '$i' with errorcode $res"
echo
}
- test "$is_quiet" || echo
+ test -n "$is_quiet" || echo
done
test "$cnt" -ge 0 || echo "No vservers specified" >&2
;;
esac
- if test "$is_external"; then
+ if test -n "$is_external"; then
have_apt=1
test -d "$cfgdir"/base/apt -o -d "$cfgdir"/aptetc || have_apt=
else
done
fi
- if test "$is_external"; then
+ if test -n "$is_external"; then
if test "$have_apt" -a "$apt_param"; then
cmd=( "$_VAPT_GET" "$vserver" -- "${apt_param[@]}" )
else
;;
esac
- if test "$is_external"; then
+ if test -n "$is_external"; then
echo $"'external' packagemanagement is not supported for Debian" >&2
exit 1
else
}
-while test "$1"; do
+while test -n "$1"; do
case "$1" in
--help) showHelp;;
--version) showVersion;;
$_SETATTR -x "${params[@]}" "$@" && passed=1 || ok=
done <"$UNHIDEFILE"
-test "$ok" && exit 0 || \
-test "$passed" && exit 2 || \
+test -n "$ok" && exit 0 || \
+test -n "$passed" && exit 2 || \
exit 3
for i in "${vservers[@]}"; do
cnt=$[ cnt + 1 ]
- test "$is_quiet" || {
+ test -n "$is_quiet" || {
colorize bold echo -n "vrpm: operating on vserver "
colorize bold colorize emph echo "$i"
xtermTitle "vrpm: operating on vserver '$i' [$cnt/${#vservers[@]}]"
echo
}
- test "$is_quiet" || echo
+ test -n "$is_quiet" || echo
done
test -z "$do_unify" || echo "unify currently unsupported" >&2
ldd "$bin" &>/dev/null && break
done
-test "$bin" ||
+test -x "$bin" ||
panic $"No dynamically linked rpm binary found; exiting..."
rpmFake.init "$CUR_VSERVER"
;;
esac
-if test "$allow_legacy"; then
+if test -n "$allow_legacy"; then
do_legacy=
test ! -e "$VSERVER_DIR/legacy" || do_legacy=1
test -d "$VSERVER_DIR" -o ! -e "$CONFDIR/$vserver.conf" || do_legacy=1
VSERVER_NAME=$(basename "$VSERVER_DIR")
fi
-test "$2" != start -o "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
+test "$2" != start -o -n "$OPTION_NONAMESPACE" || isAvoidNamespace "$VSERVER_DIR" || \
exec $_VNAMESPACE --new -- $_VSERVER ----nonamespace "${OPTIONS_ORIG[@]}"
. $PKGLIBDIR/vserver.functions
set -e
declare -a default_opts=()
-test "$NO_DEFAULT_OPTS" || getFileArray default_opts "$CONFDIR/.defaults/apps/build/options" || :
+test -n "$NO_DEFAULT_OPTS" || getFileArray default_opts "$CONFDIR/.defaults/apps/build/options" || :
tmp=$(getopt -o +m:n: --long force,debug,help,version,rootdir:,pkgbase:,$SETUP_OPTIONS -n "$(basename $0)" -- \
"${default_opts[@]}" "$@") || exit 1
(--) shift; break;;
(*)
{ setup_setOption2 "$1" "$2" && shift; } || \
- { echo $"vserver-build: internal error."; exit 1; } >&2
+ panic $"vserver-build: internal error."
;;
esac
shift
done
-test "$VSERVER_NAME" || {
- echo $"Name of vserver not specified"
- exit 1
-} >&2
+test -n "$VSERVER_NAME" ||
+ panic $"Name of vserver not specified"
setup_setDefaults "$VSERVER_NAME"
(xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum)
. $PKGLIBDIR/vserver-build.$method
;;
- (x) echo $"No build-method specified" >&2
- exit 1
- ;;
- (*) echo $"Unknown build-method '$method'" >&2
- exit 1
- ;;
+ (x) panic $"No build-method specified";;
+ (*) panic $"Unknown build-method '$method'";;
esac
{
base.initVariables
- test "${mirror-unset}" || {
+ test -n "${mirror-unset}" || {
local aux
findFile aux "$CONFDIR"/.defaults/apps/debootstrap/mirror ''
test -z "$aux" || read mirror <"$aux"
done
done
- test "$pkgs" || return 0
+ test -n "$pkgs" || return 0
"$_VRPM" "$dst" -- --import "${pkgs[@]}"
}
function rpm.initVariables
{
- test "$WORKAROUND_106057" && \
+ test -n "$WORKAROUND_106057" && \
RPMDB_PATH=/.rpmdb || \
RPMDB_PATH=/dev
_setup_writeSingleOption "$mask" $d/mask
_setup_writeSingleOption "$prefix" $d/prefix
- test "$dev" -o "$SETUP_NETDEV" || \
+ test -n "$dev" -o -n "$SETUP_NETDEV" || \
echo $"No device specified for interface '$idx'; do not forget to set the 'nodev' option" >&2
}
}
. "$UTIL_VSERVER_VARS"
-test "$MARK" || MARK=default
+test -n "$MARK" || MARK=default
: ${LOCKFILE:=vservers-$MARK}
: ${NUMPARALLEL:=6}
: ${VSERVER_NAME:=$(basename "$VSERVER_DIR")}
-if test -e "$VSERVER_DIR"/noisy -o "$OPTION_VERBOSE"; then
+if test -e "$VSERVER_DIR"/noisy -o -n "$OPTION_VERBOSE"; then
SILENT_OPT=
else
SILENT_OPT='--silent'
local i
local bcast=
- test "$_HAVE_INTERFACE_OPTIONS" || _generateInterfaceOptions "$vdir"
+ test -n "$_HAVE_INTERFACE_OPTIONS" || _generateInterfaceOptions "$vdir"
local f=$vdir/interfaces/bcast
getFileValue bcast "$f"
getFileValue ENTER_SHELL "$vdir"/shell "$CONFDIR"/.defaults/shell
- test "$ENTER_SHELL" || {
+ test -n "$ENTER_SHELL" || {
local i
for i in "/bin/bash -login" "/bin/sh -l" /bin/csh; do
set -- $i
test -z "$wait" || sleep "$wait"
$_VKILL -c "$ctx" ${1:+-s "$1"} 2>/dev/null || :
- test "$2" || break
+ test -n "$2" || break
wait="$2"
shift 2
done
case x"$INITSTYLE" in
(xsysv)
- test "$RUNLEVEL_START" || RUNLEVEL_START=3
- test "$RUNLEVEL_STOP" || RUNLEVEL_STOP=6
+ test -n "$RUNLEVEL_START" || RUNLEVEL_START=3
+ test -n "$RUNLEVEL_STOP" || RUNLEVEL_STOP=6
for i in /etc/init.d/rc /etc/rc.d/rc; do
test -x "$vdir/vdir/$i" || continue
getFileArray INITCMD_PREPARE "$cfgdir"/cmd.prepare || :
- test "$OPTION_FORCE_SYNC" -o -e "$cfgdir"/sync || {
+ test -n "$OPTION_FORCE_SYNC" -o -e "$cfgdir"/sync || {
INITCMD_START_SYNC=()
INITCMD_STOP_SYNC=()
_NEED_VSHELPER_SYNC=
} <"$f"
} 2>/dev/null
- test "$prio_bias" || {
+ test -n "$prio_bias" || {
echo $"Bad content in '$f'; aborting..." >&2
false
}
{
local _tm2p_tmp=$2
- test "$_tm2p_tmp" || {
+ test -n "$_tm2p_tmp" || {
$_MASK2PREFIX "$3" || _tm2p_tmp=$?
}
_getInterfaceValue scope '' "$iface" "$iface/.."
_getInterfaceValue mac '' "$iface"
- test "$ip" || { echo $"Can not read ip for '$iface'" >&2; return 1; }
- test "$dev" -o -e "$iface"/nodev || {
+ test -n "$ip" || { echo $"Can not read ip for '$iface'" >&2; return 1; }
+ test -n "$dev" -o -e "$iface"/nodev || {
echo $"No device specified for '$iface'" >&2
return 1;
}
_addInterfaceCmd IP_ADDR "$ip${prefix:+/$prefix}" broadcast ${bcast:-+} ${name:+label "$dev:$name"} dev "$dev"
#_addInterfaceCmd IP_ROUTE "$ip${prefix:+/$prefix}" dev "$dev"
_addInterfaceCmd IP_LINK "$dev" $up
- elif ! test "$ctx"; then
+ elif ! test -n "$ctx"; then
echo $"Using 'dummy' (indirect) for interface '$dev' requires a fixed context number; dynamic ctx are not supported" >&2
return 1
else
- test "$mac" || _generateMac mac "$(basename $iface)" "$ctx" || return 1
+ test -z "$mac" || _generateMac mac "$(basename $iface)" "$ctx" || return 1
_addInterfaceCmd MODPROBE dummy "$dev"
_addInterfaceCmd IP_LINK dev dummy0 address "$mac"
_addInterfaceCmd NAMEIF "$dev" "$mac"
function disableInterfaces
{
- test "$_HAVE_INTERFACE_OPTIONS" || _generateInterfaceOptions "$1"
+ test -n "$_HAVE_INTERFACE_OPTIONS" || _generateInterfaceOptions "$1"
local i=$INTERFACE_CMDS_IDX
declare -a var
function generateOptions
{
_generateInterfaceOptions "$1"
- test "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$1"
+ test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$1"
_generateNiceCommand "$1"
_generateInitOptions "$1"
_generateChcontextOptions "$1"
_generateScheduleOptions "$1"
- if test "$_IS_FAKEINIT"; then
+ if test -n "$_IS_FAKEINIT"; then
CHCONTEXT_INIT_OPTS=( --disconnect --flag fakeinit )
OPTS_VCONTEXT_MIGRATE=( "${OPTS_VCONTEXT_MIGRATE[@]}" --initpid --disconnect )
fi
$_CHROOT_CAT /etc/mtab <"$mtab_src"
popd >/dev/null
- test "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$cfgdir"
+ test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$cfgdir"
test -z "$NAMESPACE_CLEANUP" || isAvoidNamespace "$cfgdir" || \
$_VNAMESPACE --cleanup
$_TAC "$fstab" | {
is_ok=1
while read src dst tmp; do
- test "$tmp" || continue
+ test -n "$tmp" || continue
case x"$src" in
(x\#*) continue;;
esac
"$@" $_EXEC_CD "$dst" $_UMOUNT -lfn . || is_ok=
done
- test "$is_ok"
+ test -n "$is_ok"
}
}
isAvoidNamespace "$cfgdir" || return 0
test -e "$cfgdir"/fstab -o \
-e "$cfgdir"/fstab.local || return 0
- test "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$cfgdir"
+ test -n "$_HAVE_CHBIND_OPTIONS" || _generateChbindOptions "$cfgdir"
pushd "$vdir/" >/dev/null || return 1
_umountVserverInternal "$cfgdir"/fstab.local || is_ok=
_umountVserverInternal "$cfgdir"/fstab $_CHBIND "${CHBIND_OPTS[@]}" || is_ok=
popd >/dev/null || return 1
- test "$is_ok"
+ test -n "$is_ok"
}
## Usage: waitForSync <vserver> <vshelper-fifo-varname>
local cfgdir=$1
local fifo=$2
- if test "$_NEED_VSHELPER_SYNC"; then
+ if test -n "$_NEED_VSHELPER_SYNC"; then
$_VSHELPER_SYNC "$fifo" "$VSHELPER_SYNC_TIMEOUT" || \
warning $"\
A timeout or other error occured while waiting for the synchronization
signal from vserver '$VSERVER_NAME'.
The vserver will be killed nevertheless..."
- elif test "${#INITCMD_STOP_SYNC[@]}" -ne 0; then
+ elif test -n "${#INITCMD_STOP_SYNC[@]}" -ne 0; then
"${INITCMD_STOP_SYNC[@]}" || \
warning $"\
Stop-synchronization for vserver '$VSERVER_NAME' failed. The vserver
$start "$i" "$flavor" "$name"
done
- test -z "$already_handled" -o "$DONT_SKIP_DEFAULTS" || break
+ test -z "$already_handled" -o -n "$DONT_SKIP_DEFAULTS" || break
done
}
test -z "$startsync_pipe" || $_RM -f "$startsync_pipe"
test -z "$is_started" || { unlock; return 0; }
- if test "$is_configured" -a -z "$is_executed"; then
+ if test -n "$is_configured" -a -z "$is_executed"; then
warning $"
An error occured while executing the vserver startup sequence; when
there are no other messages, it is very likely that the init-script
appending 'true' to this file will help."
fi
- if test "$is_executed"; then
+ if test -n "$is_executed"; then
warning $"
An error occured after executing the vserver startup sequence. This
means that some processes may exist in the created context and the
Failed to start vserver '$VSERVER_NAME'"
fi
- test "$OPTION_DEBUG" || exec 2>/dev/null >/dev/null
+ test -n "$OPTION_DEBUG" || exec 2>/dev/null >/dev/null
test -z "$is_mounted" || umountVserver "$VSERVER_DIR" || :
test -z "$have_interfaces" || disableInterfaces "$VSERVER_DIR" || :
$_VCONTEXT --migrate-self --endsetup --chroot $SILENT_OPT "${OPTS_VCONTEXT_MIGRATE[@]}" -- \
"${INITCMD_START[@]}"
else
- if test "$_IS_FAKEINIT"; then
+ if test -n "$_IS_FAKEINIT"; then
startsync_pipe=$($_MKTEMP /tmp/vserver-start.XXXXXX)
$_RM -f "$startsync_pipe"
$_MKFIFO -m600 "$startsync_pipe" ## safe, since mkfifo does not follow symlinks
if ! isVserverRunning "$VSERVER_DIR" S_CONTEXT; then
warning $"vserver '$VSERVER_NAME' is not running" >&2
- test "$OPTION_DEBUG" || exec 2>/dev/null >/dev/null
+ test -n "$OPTION_DEBUG" || exec 2>/dev/null >/dev/null
umountVserver "$VSERVER_DIR" || :
disableInterfaces "$VSERVER_DIR" || :
unlock
test -z "$OPTION_DEFAULTTTY" || setDefaultTTY "$VSERVER_DIR"
fail=
-if test "$_IS_FAKEINIT" && \
+if test -n "$_IS_FAKEINIT" && \
$_VSERVER_INFO - FEATURE vkill && \
initpid=$($_VSERVER_INFO "$S_CONTEXT" INITPID 2>/dev/null); then
$_VKILL -s INT -- "$initpid" || fail=1
"${INITCMD_STOP[@]}" || fail=1
fi
-test "$fail" || waitForSync "$VSERVER_DIR" "$sync_fifo"
+test -n "$fail" || waitForSync "$VSERVER_DIR" "$sync_fifo"
vshelper.doDestroy "$VSERVER_DIR" "$S_CONTEXT"
sendKillSequence "$S_CONTEXT" "${INITKILL_SEQ[@]}"
(sync)
local f=${METHOD_ARGS[0]}
- test "$f" ||
+ test -n "$f" ||
panic $"Insufficent arguments for method '$method' and vserver '$VSERVER'"
test -p "$f" ||
local script
findObject -x script "$CONFDIR"/.defaults/apps/vshelper-methods/"$method" "$PKGLIBDIR"/vshelper-methods/"$method" ''
- test '$script' || {
+ test -n '$script' || {
warning $"No handler for internal method '$method' found"
exit 1
}
for i in "${vservers[@]}"; do
cnt=$[ cnt + 1 ]
- test "$is_quiet" || {
+ test -n "$is_quiet" || {
colorize bold echo -n "$title: operating on vserver "
colorize bold colorize emph echo "$i"
xtermTitle "$title: operating on vserver '$i' [$cnt/${#vservers[@]}]"
}
- if test "$VSOMETHING_PKGMGMT"; then
+ if test -n "$VSOMETHING_PKGMGMT"; then
if pkgmgmt.isInternal "$i"; then
$_VSERVER "$i" exec "$cmd" "$@"
else
res=$?
- test $res -eq 0 -o "$is_quiet" || {
+ test $res -eq 0 -o -n "$is_quiet" || {
colorize error echo -n $"$title failed on vserver '$i' with errorcode $res"
echo
}
- test "$is_quiet" || echo
+ test -n "$is_quiet" || echo
done
test "$cnt" -ge 0 || warning $"No vservers specified"