Add a forceful blocking option to ezjail creation

This commit is contained in:
erdgeist 2006-05-07 22:25:25 +00:00
parent 48a4ad0891
commit 56f79ffcec
2 changed files with 12 additions and 6 deletions

View File

@ -30,8 +30,9 @@ ezjail_fdescfs_enable=${ezjail_fdescfs_enable:-"YES"}
ezjail_dirlist="bin boot lib libexec rescue sbin usr/bin usr/games usr/include usr/lib usr/libdata usr/libexec usr/sbin usr/src usr/share" ezjail_dirlist="bin boot lib libexec rescue sbin usr/bin usr/games usr/include usr/lib usr/libdata usr/libexec usr/sbin usr/src usr/share"
# Synopsis messages
ezjail_usage_ezjailadmin="Usage: `basename -- $0` [config|create|delete|install|list|update] {params}" ezjail_usage_ezjailadmin="Usage: `basename -- $0` [config|create|delete|install|list|update] {params}"
ezjail_usage_create="Usage: `basename -- $0` create [-xi] [-f flavour] [-r jailroot] [-s size] [-c bde|eli] [-u passurl] [-C args] jailname jailip" ezjail_usage_create="Usage: `basename -- $0` create [-xbi] [-f flavour] [-r jailroot] [-s size] [-c bde|eli] [-u passurl] [-C args] jailname jailip"
ezjail_usage_delete="Usage: `basename -- $0` delete [-w] jailname" ezjail_usage_delete="Usage: `basename -- $0` delete [-w] jailname"
ezjail_usage_list="Usage: `basename -- $0` list" ezjail_usage_list="Usage: `basename -- $0` list"
ezjail_usage_update="Usage: `basename -- $0` update [-s sourcetree] [-i] [-pP]" ezjail_usage_update="Usage: `basename -- $0` update [-s sourcetree] [-i] [-pP]"
@ -148,13 +149,14 @@ case "$1" in
######################## ezjail-admin CREATE ######################## ######################## ezjail-admin CREATE ########################
create) create)
# Clean variables, prevent polution # Clean variables, prevent polution
unset ezjail_rootdir ezjail_flavour ezjail_softlink ezjail_image ezjail_imagetype ezjail_imageparams ezjail_imagesize ezjail_device ezjail_config ezjail_attachparams ezjail_passphraseurl ezjail_exists ezjail_attachblocking unset ezjail_rootdir ezjail_flavour ezjail_softlink ezjail_image ezjail_imagetype ezjail_imageparams ezjail_imagesize ezjail_device ezjail_config ezjail_attachparams ezjail_passphraseurl ezjail_exists ezjail_attachblocking ezjail_forceblocking
shift; while getopts :f:r:s:xic:u:C: arg; do case ${arg} in shift; while getopts :f:r:s:xbic:u:C: arg; do case ${arg} in
x) ezjail_exists="YES";; x) ezjail_exists="YES";;
r) ezjail_rootdir="${OPTARG}";; r) ezjail_rootdir="${OPTARG}";;
f) ezjail_flavour="${OPTARG}";; f) ezjail_flavour="${OPTARG}";;
c) ezjail_imagetype="${OPTARG}";; c) ezjail_imagetype="${OPTARG}";;
C) ezjail_imageparams="${OPTARG}";; C) ezjail_imageparams="${OPTARG}";;
b) ezjail_forceblocking="YES";;
i) ezjail_imagetype=${ezjail_imagetype:-"simple"};; i) ezjail_imagetype=${ezjail_imagetype:-"simple"};;
s) ezjail_imagesize="${OPTARG}";; s) ezjail_imagesize="${OPTARG}";;
u) ezjail_urlpass="${OPTARG}";; u) ezjail_urlpass="${OPTARG}";;
@ -325,6 +327,7 @@ create)
echo export jail_${ezjail_safename}_imagetype=\"${ezjail_imagetype}\" >> ${ezjail_config} echo export jail_${ezjail_safename}_imagetype=\"${ezjail_imagetype}\" >> ${ezjail_config}
echo export jail_${ezjail_safename}_attachparams=\"${ezjail_attachparams}\" >> ${ezjail_config} echo export jail_${ezjail_safename}_attachparams=\"${ezjail_attachparams}\" >> ${ezjail_config}
echo export jail_${ezjail_safename}_attachblocking=\"${ezjail_attachblocking}\" >> ${ezjail_config} echo export jail_${ezjail_safename}_attachblocking=\"${ezjail_attachblocking}\" >> ${ezjail_config}
echo export jail_${ezjail_safename}_forceblocking=\"${ezjail_forceblocking}\" >> ${ezjail_config}
echo export jail_${ezjail_safename}_passphraseurl=\"${ezjail_passphraseurl}\" >> ${ezjail_config} echo export jail_${ezjail_safename}_passphraseurl=\"${ezjail_passphraseurl}\" >> ${ezjail_config}
# Final steps for flavour installation # Final steps for flavour installation

View File

@ -63,12 +63,15 @@ do_cmd()
eval ezjail_imagetype=\"\$jail_${ezjail}_imagetype\" eval ezjail_imagetype=\"\$jail_${ezjail}_imagetype\"
eval ezjail_attachparams=\"\$jail_${ezjail}_attachparams\" eval ezjail_attachparams=\"\$jail_${ezjail}_attachparams\"
eval ezjail_attachblocking=\"\$jail_${ezjail}_attachblocking\" eval ezjail_attachblocking=\"\$jail_${ezjail}_attachblocking\"
eval ezjail_forceblocking=\"\$jail_${ezjail}_forceblocking\"
# Cannot auto mount blocking crypto jails without interrupting boot process [ ${ezjail_attachblocking} = "YES" -o ${ezjail_forceblocking} = "YES" ] && ezjail_blocking="YES" || unset ezjail_blocking
[ "${ezjail_fromrc}" = "YES" -a "${action}" = "start" -a "${ezjail_attachblocking}" = "YES" ] && continue
# Cannot auto mount blocking jails without interrupting boot process
[ "${ezjail_fromrc}" = "YES" -a "${action}" = "start" -a "${ezjail_blocking}" = "YES" ] && continue
# Explicitely do only run blocking crypto jails when *crypto is requested # Explicitely do only run blocking crypto jails when *crypto is requested
[ "${action%crypto}" != "${action}" -a -z "${ezjail_attachblocking}" ] && continue [ "${action%crypto}" != "${action}" -a -z "${ezjail_blocking}" ] && continue
# Try to attach (crypto) devices # Try to attach (crypto) devices
[ -n "${ezjail_image}" ] && attach_detach_pre [ -n "${ezjail_image}" ] && attach_detach_pre