}
# helpers: more involved testing
-check_chars_legality() {
- case "$1" in *[!A-Za-z0-9_.-]*|"")
- error "illegal characters in $2 '$1'" ;;
- esac
-}
check_tools() {
for CMD in "$@"; do
try_quiet command -v "${CMD}"\
check_new_luksvg() {
local PATH_LUKS_MAPPER
PATH_LUKS_MAPPER=$(path_luks_mapper "${NAME_LUKSVG}")
- check_chars_legality "${NAME_LUKSVG}" "volume group name"
try_quiet vgs "${NAME_LUKSVG}"\
&& error "volume group '${NAME_LUKSVG}' already exists"
[ -e "${PATH_LUKS_MAPPER}" ]\
check_tools cryptsetup debootstrap efibootmgr lvcreate mkfs.ext4 vgs
check_input_partition_mountable "${PARTITION}"
check_input_openable_luksvg "${PARTITION}"
-check_chars_legality "${NAME_BOOT}" "boot label"
+case "$1" in *[!A-Za-z0-9_.-]*|"")
+ error "illegal characters in boot label '${NAME_BOOT}'" ;;
+esac
[ -e "${PATH_EFI}/${NAME_BOOT}" ]\
&& error "${PATH_EFI}/${NAME_BOOT} already exists"
efibootmgr \