diff options
Diffstat (limited to 'builder/modules.d/dnbd3-rootfs')
-rw-r--r-- | builder/modules.d/dnbd3-rootfs/helper/build.inc | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/builder/modules.d/dnbd3-rootfs/helper/build.inc b/builder/modules.d/dnbd3-rootfs/helper/build.inc index 3a0cd5a3..9c935424 100644 --- a/builder/modules.d/dnbd3-rootfs/helper/build.inc +++ b/builder/modules.d/dnbd3-rootfs/helper/build.inc @@ -5,13 +5,9 @@ declare -rg _mainmoddir="$(dirname "${BASH_SOURCE[0]}")/.." 2> /dev/null declare -rg _supported_qcow_handlers=("xmount" "kernel") +# NOTE: expects 'qcow_handler' to be set in the environment, else +# will only build support for xmount build_initialize_components() { - local qcow_handler="$_QCOW_HANDLER" - IFS='|' _pattern="^(${_supported_qcow_handlers[*]})$" export _pattern - if [[ ! "$qcow_handler" =~ $_pattern ]] ; then - logging.warn "Unknown qcow handler '$qcow_handler' - will built all known." - logging.warn "Supported handlers: ${_supported_qcow_handlers[*]}" - fi _deps_base_dir="${_mainmoddir}/binaries" # We might want to move the "binaries" repos from the dnbd3-rootfs module to main repo one day... # TODO check for its existence using modinfo -k <kernel_version> @@ -24,7 +20,15 @@ build_initialize_components() { return 1 fi fi - # take care of the qcow handler + + # process qcow handler + logging.info "Supported handlers: ${_supported_qcow_handlers[*]}" + IFS='|' _pattern="^(${_supported_qcow_handlers[*]})$" export _pattern + if [ -z "$qcow_handler" ]; then + logging.info "No qcow handler specified, will use xmount." + elif [[ ! "$qcow_handler" =~ $_pattern ]] ; then + logging.warn "Unknown qcow handler '$qcow_handler' - will use xmount" + fi if [ -z "$qcow_handler" ] || [ "$qcow_handler" = "xmount" ]; then if [[ ! -f "${_deps_base_dir}/xmount/trunk/build/src/xmount" ]]; then logging.info "Could not find xmount binary, building it..." @@ -41,7 +45,7 @@ build_initialize_components() { fi fi fi - if [ -z "$qcow_handler" ] || [ "$qcow_handler" = "kernel" ]; then + if [ "$qcow_handler" = "kernel" ]; then if [ ! -f "${_deps_base_dir}/kernel-qcow2-linux/drivers/block/loop/loop.ko" ] \ || [ ! -f "${_deps_base_dir}/kernel-qcow2-linux/drivers/block/loop/loop_file_fmt_qcow.ko" ] \ || [ ! -f "${_deps_base_dir}/kernel-qcow2-linux/drivers/block/loop/loop_file_fmt_raw.ko" ]; then |