mirror of
https://github.com/hackacad/bastille.git
synced 2025-12-23 18:50:46 +01:00
bootstrap: Add debug mode
This commit is contained in:
@@ -34,49 +34,16 @@
|
|||||||
. /usr/local/etc/bastille/bastille.conf
|
. /usr/local/etc/bastille/bastille.conf
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
error_exit "Usage: bastille bootstrap [release|template] [update|arch]"
|
error_notify "Usage: bastille bootstrap [option(s)] [RELEASE|TEMPLATE] [update|arch]"
|
||||||
|
cat << EOF
|
||||||
|
Options:
|
||||||
|
|
||||||
|
-x | --debug Enable debug mode.
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Handle special-case commands first.
|
|
||||||
case "$1" in
|
|
||||||
help|-h|--help)
|
|
||||||
usage
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
bastille_root_check
|
|
||||||
|
|
||||||
#Validate if ZFS is enabled in rc.conf and bastille.conf.
|
|
||||||
if [ "$(sysrc -n zfs_enable)" = "YES" ] && ! checkyesno bastille_zfs_enable; then
|
|
||||||
warn "ZFS is enabled in rc.conf but not bastille.conf. Do you want to continue? (N|y)"
|
|
||||||
read answer
|
|
||||||
case $answer in
|
|
||||||
no|No|n|N|"")
|
|
||||||
error_exit "ERROR: Missing ZFS parameters. See bastille_zfs_enable."
|
|
||||||
;;
|
|
||||||
yes|Yes|y|Y) ;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Validate ZFS parameters.
|
|
||||||
if checkyesno bastille_zfs_enable; then
|
|
||||||
## check for the ZFS pool and bastille prefix
|
|
||||||
if [ -z "${bastille_zfs_zpool}" ]; then
|
|
||||||
error_exit "ERROR: Missing ZFS parameters. See bastille_zfs_zpool."
|
|
||||||
elif [ -z "${bastille_zfs_prefix}" ]; then
|
|
||||||
error_exit "ERROR: Missing ZFS parameters. See bastille_zfs_prefix."
|
|
||||||
elif ! zfs list "${bastille_zfs_zpool}" > /dev/null 2>&1; then
|
|
||||||
error_exit "ERROR: ${bastille_zfs_zpool} is not a ZFS pool."
|
|
||||||
fi
|
|
||||||
|
|
||||||
## check for the ZFS dataset prefix if already exist
|
|
||||||
if [ -d "/${bastille_zfs_zpool}/${bastille_zfs_prefix}" ]; then
|
|
||||||
if ! zfs list "${bastille_zfs_zpool}/${bastille_zfs_prefix}" > /dev/null 2>&1; then
|
|
||||||
error_exit "ERROR: ${bastille_zfs_zpool}/${bastille_zfs_prefix} is not a ZFS dataset."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
validate_release_url() {
|
validate_release_url() {
|
||||||
## check upstream url, else warn user
|
## check upstream url, else warn user
|
||||||
if [ -n "${NAME_VERIFY}" ]; then
|
if [ -n "${NAME_VERIFY}" ]; then
|
||||||
@@ -451,9 +418,64 @@ bootstrap_template() {
|
|||||||
bastille verify "${_user}/${_repo}"
|
bastille verify "${_user}/${_repo}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Handle options.
|
||||||
|
while [ "$#" -gt 0 ]; do
|
||||||
|
case "${1}" in
|
||||||
|
-h|--help|help)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
-x|--debug)
|
||||||
|
enable_debug
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
error_exit "Unknown Option: \"${1}\""
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
RELEASE="${1}"
|
||||||
|
OPTION="${2}"
|
||||||
|
NOCACHEDIR=
|
||||||
HW_MACHINE=$(sysctl hw.machine | awk '{ print $2 }')
|
HW_MACHINE=$(sysctl hw.machine | awk '{ print $2 }')
|
||||||
HW_MACHINE_ARCH=$(sysctl hw.machine_arch | awk '{ print $2 }')
|
HW_MACHINE_ARCH=$(sysctl hw.machine_arch | awk '{ print $2 }')
|
||||||
|
|
||||||
|
bastille_root_check
|
||||||
|
|
||||||
|
#Validate if ZFS is enabled in rc.conf and bastille.conf.
|
||||||
|
if [ "$(sysrc -n zfs_enable)" = "YES" ] && ! checkyesno bastille_zfs_enable; then
|
||||||
|
warn "ZFS is enabled in rc.conf but not bastille.conf. Do you want to continue? (N|y)"
|
||||||
|
read answer
|
||||||
|
case $answer in
|
||||||
|
no|No|n|N|"")
|
||||||
|
error_exit "ERROR: Missing ZFS parameters. See bastille_zfs_enable."
|
||||||
|
;;
|
||||||
|
yes|Yes|y|Y) ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Validate ZFS parameters.
|
||||||
|
if checkyesno bastille_zfs_enable; then
|
||||||
|
## check for the ZFS pool and bastille prefix
|
||||||
|
if [ -z "${bastille_zfs_zpool}" ]; then
|
||||||
|
error_exit "ERROR: Missing ZFS parameters. See bastille_zfs_zpool."
|
||||||
|
elif [ -z "${bastille_zfs_prefix}" ]; then
|
||||||
|
error_exit "ERROR: Missing ZFS parameters. See bastille_zfs_prefix."
|
||||||
|
elif ! zfs list "${bastille_zfs_zpool}" > /dev/null 2>&1; then
|
||||||
|
error_exit "ERROR: ${bastille_zfs_zpool} is not a ZFS pool."
|
||||||
|
fi
|
||||||
|
|
||||||
|
## check for the ZFS dataset prefix if already exist
|
||||||
|
if [ -d "/${bastille_zfs_zpool}/${bastille_zfs_prefix}" ]; then
|
||||||
|
if ! zfs list "${bastille_zfs_zpool}/${bastille_zfs_prefix}" > /dev/null 2>&1; then
|
||||||
|
error_exit "ERROR: ${bastille_zfs_zpool}/${bastille_zfs_prefix} is not a ZFS dataset."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# bootstrapping from aarch64/arm64 Debian or Ubuntu require a different value for ARCH
|
# bootstrapping from aarch64/arm64 Debian or Ubuntu require a different value for ARCH
|
||||||
# create a new variable
|
# create a new variable
|
||||||
if [ "${HW_MACHINE_ARCH}" = "aarch64" ]; then
|
if [ "${HW_MACHINE_ARCH}" = "aarch64" ]; then
|
||||||
@@ -462,10 +484,6 @@ else
|
|||||||
HW_MACHINE_ARCH_LINUX=${HW_MACHINE_ARCH}
|
HW_MACHINE_ARCH_LINUX=${HW_MACHINE_ARCH}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NOCACHEDIR=
|
|
||||||
RELEASE="${1}"
|
|
||||||
OPTION="${2}"
|
|
||||||
|
|
||||||
# Alternate RELEASE/ARCH fetch support(experimental)
|
# Alternate RELEASE/ARCH fetch support(experimental)
|
||||||
if [ -n "${OPTION}" ] && [ "${OPTION}" != "${HW_MACHINE}" ] && [ "${OPTION}" != "update" ]; then
|
if [ -n "${OPTION}" ] && [ "${OPTION}" != "${HW_MACHINE}" ] && [ "${OPTION}" != "update" ]; then
|
||||||
# Supported architectures
|
# Supported architectures
|
||||||
|
|||||||
Reference in New Issue
Block a user