# This implements a simple state machine so the back button can be handled.
# taken from debconf demo example
STATE=1
-while [ "$STATE" != 0 -a "$STATE" != 8 ]; do
+while [ "$STATE" != 0 -a "$STATE" -lt 9 ]; do
case $STATE in
- 1)
+ 1)
+ # allow to be overridden by environment variable as discussed with
+ # ftpmaster
+ if [ ! -z "${NEURODEBIAN_ENABLE:-}" ]; then
+ case "${NEURODEBIAN_ENABLE}" in
+ true|yes|YES|1) enable=true;;
+ false|no|NO|0) enable=false;;
+ *) echo "ERROR: Non-supported value $NEURODEBIAN_ENABLE of NEURODEBIAN_ENABLE env variable. Use yes or no" >&2;
+ exit 1;;
+ esac
+ db_set neurodebian/enable $enable
+ fi
+ db_input high neurodebian/enable || true
+ ;;
+ 2)
neurodebian_releases="$(ND_IFS=', ' nd-configurerepo --print-releases)"
debian_release="$(ND_IFS=', ' nd-configurerepo --print-release)"
if [ -z "$debian_release" ]; then # just a failover
db_subst neurodebian/release release "$debian_release"
db_input medium neurodebian/release || true
;;
- 2)
+ 3)
neurodebian_mirrors="$(ND_IFS=', ' nd-configurerepo --print-mirrors)"
debug "mirrors: $neurodebian_mirrors"
db_subst neurodebian/mirror mirrors "$neurodebian_mirrors"
mirror_selection_ret="$RET"
debug "mirror select return: <$mirror_selection_ret>"
;;
- 3) neurodebian_flavor="$(ND_IFS=', ' nd-configurerepo --print-flavor)"
+ 4) neurodebian_flavor="$(ND_IFS=', ' nd-configurerepo --print-flavor)"
db_subst neurodebian/flavor flavor "$neurodebian_flavor"
db_input medium neurodebian/flavor || true ;;
- 4) db_input medium neurodebian/components || true ;;
- 5) db_input low neurodebian/overwrite || true ;;
+ 5) db_input medium neurodebian/components || true ;;
6) db_input low neurodebian/suffix || true ;;
- 7) db_input medium neurodebian/run-update-note || true ;;
+ 7) db_input low neurodebian/overwrite || true ;;
+ 8) db_input medium neurodebian/run-update-note || true ;;
esac
if db_go; then
+ case $STATE in
+ 1)
+ db_get neurodebian/enable # get new value
+ if [ "$RET" = "false" ]; then
+ # no need to proceed with further questions
+ if ls /etc/apt/sources.list.d/neurodebian.sources*.list &>/dev/null; then
+ # we have configuration present -- display a note about apt-get update
+ STATE=8
+ else
+ STATE=100 # just go out -- nothing to do, nothing to inform about
+ fi
+ continue
+ fi;;
# Ubuntus managed to remove netselect "to accompany apt-netselect"
# https://bugs.launchpad.net/ubuntu/+source/netselect/+bug/337377
# So for now remove this mandatory demanding of netselect for "best", and
# rely on logic in nd-configurerepo to select default mirror (currently origin)
# as the 'best'
#
-# case $STATE in
-# 2)
+# 3)
# db_metaget neurodebian/mirror value
# selected_mirror="$RET"
# # TODOs:
# continue;
# fi
# fi
-# esac
+ esac
STATE=$(($STATE + 1))
else
STATE=$(($STATE - 1))