diff options
Diffstat (limited to 'share')
-rwxr-xr-x | share/build-scripts/debconf.d/0001-preseed-file | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/share/build-scripts/debconf.d/0001-preseed-file b/share/build-scripts/debconf.d/0001-preseed-file index d70e4e1..c1a311d 100755 --- a/share/build-scripts/debconf.d/0001-preseed-file +++ b/share/build-scripts/debconf.d/0001-preseed-file @@ -23,7 +23,8 @@ PROJECT="open-infrastructure" SOFTWARE="compute-tools" PROGRAM="container" -CONFIG="/etc/${SOFTWARE}/debconf" +CONFIG="/etc/${SOFTWARE}/config" +DEBCONF="/etc/${SOFTWARE}/debconf" DEBCONF_NOWARNINGS="true" export DEBCONF_NOWARNINGS @@ -35,37 +36,37 @@ then # user specified one or more preseed files through commandline option db_set container/preseed-file "${PRESEED_FILE}" db_fset container/preseed-file seen true -elif [ -e "${CONFIG}/${NAME}.cfg" ] +elif [ -e "${DEBCONF}/${NAME}.cfg" ] then # user did not specify a pressed file, but there is a matching one # available on the system matching the container name - db_set container/preseed-file "${CONFIG}/${NAME}.cfg" + db_set container/preseed-file "${DEBCONF}/${NAME}.cfg" db_fset container/preseed-file seen true -elif [ "$(ls ${CONFIG}/*/${NAME}.cfg 2>/dev/null | wc -l)" -eq 1 ] +elif [ "$(ls ${DEBCONF}/*/${NAME}.cfg 2>/dev/null | wc -l)" -eq 1 ] then # user did not specify a pressed file, but there is 1 (and only 1) # matching in a sub-directory of /etc/${SOFTWARE}/debconf - FILE="$(ls ${CONFIG}/*/${NAME}.cfg)" + FILE="$(ls ${DEBCONF}/*/${NAME}.cfg)" db_set container/preseed-file "${FILE}" db_fset container/preseed-file seen true -elif [ -e "${CONFIG}/default.cfg" ] +elif [ -e "${DEBCONF}/default.cfg" ] then # user did not specify a pressed file, but there is a default one - db_set container/preseed-file "${CONFIG}/default.cfg" + db_set container/preseed-file "${DEBCONF}/default.cfg" db_fset container/preseed-file seen true -elif ls "${CONFIG}"/*.cfg > /dev/null 2>&1 || ls "${CONFIG}"/*/*.cfg > /dev/null 2>&1 +elif ls "${DEBCONF}"/*.cfg > /dev/null 2>&1 || ls "${DEBCONF}"/*/*.cfg > /dev/null 2>&1 then # user has not specified preseed files through commandline option, # showing debconf selection dialog for global preseed file. - FILES="$(cd ${CONFIG} && find . -type f -name '*.cfg' -printf '%P\n' | LC_ALL=C sort)" + FILES="$(cd ${DEBCONF} && find . -type f -name '*.cfg' -printf '%P\n' | LC_ALL=C sort)" PRESEED_FILES="$(for FILE in ${FILES}; do echo -n "$(echo ${FILE} | sed -e 's|.cfg$||'), "; done | sed -e 's|, $||')" if [ -n "${PRESEED_FILES}" ] then - db_subst container/preseed-files CHOICES "none, custom, , ${PRESEED_FILES}" + db_subst container/preseed-files CHOICES "custom, exit, none, , ${PRESEED_FILES}" db_settitle container/title db_input high container/preseed-files || true @@ -75,12 +76,17 @@ then PRESEED_FILE="${RET}" # select case "${PRESEED_FILE}" in - none|custom) + custom|none) + ;; + + exit) + rm -f "${CONFIG}/${NAME}.conf" + exit 1 ;; *) # user specified preseed file through debconf select - db_set container/preseed-file "${CONFIG}/${PRESEED_FILE}.cfg" + db_set container/preseed-file "${DEBCONF}/${PRESEED_FILE}.cfg" db_fset container/preseed-file seen true ;; esac |