summaryrefslogtreecommitdiffstats
path: root/share/scripts/debconf
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xshare/scripts/debconf192
-rwxr-xr-xshare/scripts/debconf.d/0002-preseed-debconf2
-rwxr-xr-xshare/scripts/debconf.d/0003-debconf55
-rw-r--r--share/scripts/debconf.d/0003-debconf.templates2
4 files changed, 48 insertions, 203 deletions
diff --git a/share/scripts/debconf b/share/scripts/debconf
index fbb20fa..fbabab4 100755
--- a/share/scripts/debconf
+++ b/share/scripts/debconf
@@ -174,22 +174,22 @@ EOF
chmod 0755 "${DIRECTORY}/usr/sbin/policy-rc.d"
# Upgrade system
- Chroot "${DIRECTORY}" "apt-get update"
- Chroot "${DIRECTORY}" "apt-get --yes --option APT::Force-LoopBreak=true --option Dpkg::Options::=--force-confnew upgrade"
- Chroot "${DIRECTORY}" "apt-get --yes --option APT::Force-LoopBreak=true --option Dpkg::Options::=--force-confnew dist-upgrade"
+ Chroot "${DIRECTORY}" "apt update"
+ Chroot "${DIRECTORY}" "apt --yes --option Dpkg::Options::=--force-confnew upgrade"
+ Chroot "${DIRECTORY}" "apt --yes --option Dpkg::Options::=--force-confnew dist-upgrade"
# Install systemd support packages
- Chroot "${DIRECTORY}" "apt-get --yes install dbus libpam-systemd systemd-sysv"
+ Chroot "${DIRECTORY}" "apt --yes install dbus libpam-systemd systemd-sysv"
- Chroot "${DIRECTORY}" "apt-get clean"
+ Chroot "${DIRECTORY}" "apt clean"
}
Cleanup_system ()
{
DIRECTORY="${1}"
- Chroot "${DIRECTORY}" "apt-get --yes --purge autoremove"
- Chroot "${DIRECTORY}" "apt-get clean"
+ Chroot "${DIRECTORY}" "apt --yes --purge autoremove"
+ Chroot "${DIRECTORY}" "apt clean"
# Cleanup
rm -f "${DIRECTORY}/etc/dpkg/dpkg.cfg.d/${SOFTWARE}"
@@ -276,72 +276,26 @@ Configure_apt ()
PARENT_AREA="$(echo ${PARENT_ARCHIVE_AREAS} | sed -e 's|,| |g')"
PARENT_DIST="$(echo ${PARENT_DISTRIBUTION} | sed -e 's|-backports||')"
- echo "deb ${PARENT_MIRROR} ${PARENT_DIST} ${PARENT_AREA}" > "${DIRECTORY}/etc/apt/sources.list.d/debian.list"
+cat > "${DIRECTORY}/etc/apt/sources.list.d/debian.list" << EOF
+# /etc/apt/sources.list.d/debian.list
- case "${MODE}" in
- progress-linux)
- AREA="$(echo ${ARCHIVE_AREAS} | sed -e 's|,| |g')"
- DIST="$(echo ${DISTRIBUTION} | sed -e 's|-backports||')"
-
- echo "deb ${MIRROR} ${DIST} ${AREA}" > "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
-
- case "${DISTRIBUTION}" in
- *-backports)
- echo "deb ${MIRROR} ${DIST}-backports ${AREA}" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- ;;
- esac
-
-cat > "${DIRECTORY}/etc/apt/preferences.d/progress-linux.pref" << EOF
-Package: *
-Pin: release n=${DIST}
-Pin-Priority: 999
-
-Package: *
-Pin: release n=${DIST}-security
-Pin-Priority: 999
-
-Package: *
-Pin: release n=${DIST}-updates
-Pin-Priority: 999
-
-Package: *
-Pin: release n=${DIST}-extras
-Pin-Priority: 999
+deb ${PARENT_MIRROR} ${PARENT_DIST} ${PARENT_AREA}
EOF
- case "${DISTRIBUTION}" in
- *-backports)
-
-cat >> "${DIRECTORY}/etc/apt/preferences.d/progress-linux.pref" << EOF
-Package: *
-Pin: release n=${DIST}-backports
-Pin-Priority: 999
+ case "${MODE}" in
+ progress-linux)
-Package: *
-Pin: release n=${DIST}-backports-extras
-Pin-Priority: 999
+cat > "${DIRECTORY}/progress-linux.cfg" << EOF
+progress-linux progress-linux/archives multiselect ${ARCHIVES}
+progress-linux progress-linux/archive-areas multiselect $(echo ${ARCHIVE_AREAS} | sed -e 's|,| |g')
EOF
- ;;
-
- *)
+ Chroot "${DIRECTORY}" "debconf-set-selections progress-linux.cfg"
+ Chroot "${DIRECTORY}" "DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=criticial dpkg-reconfigure progress-linux"
-cat >> "${DIRECTORY}/etc/apt/preferences.d/progress-linux.pref" << EOF
+ rm -f "${DIRECTORY}/progress-linux.cfg"
-#Package: *
-#Pin: release n=${DIST}-backports
-#Pin-Priority: 999
-
-#Package: *
-#Pin: release n=${DIST}-backports-extras
-#Pin-Priority: 999
-EOF
-
- ;;
- esac
-
- Chroot "${DIRECTORY}" "apt-key add /usr/share/progress-linux/pgp-keys/apt.progress-linux.org.gpg"
- Chroot "${DIRECTORY}" "apt-get update"
+ Chroot "${DIRECTORY}" "apt update"
;;
esac
}
@@ -399,8 +353,6 @@ EOF
fi
# Removing resolv.conf
- #rm -f "${DIRECTORY}/etc/resolv.conf"
- # FIXME: needs to stay for the moment
rm -f "${DIRECTORY}/etc/resolv.conf"
cp /etc/resolv.conf "${DIRECTORY}/etc"
@@ -429,7 +381,11 @@ Configure_system ()
PARENT_AREA="$(echo ${PARENT_ARCHIVE_AREAS} | sed -e 's|,| |g')"
PARENT_DIST="$(echo ${PARENT_DISTRIBUTION} | sed -e 's|-backports||')"
- echo "deb ${PARENT_MIRROR} ${PARENT_DIST} ${PARENT_AREA}" > "${DIRECTORY}/etc/apt/sources.list.d/debian.list"
+cat > "${DIRECTORY}/etc/apt/sources.list.d/debian.list" << EOF
+# /etc/apt/sources.list.d/debian.list
+
+deb ${PARENT_MIRROR} ${PARENT_DIST} ${PARENT_AREA}
+EOF
for PARENT_REPO in ${PARENT_ARCHIVES}
do
@@ -458,79 +414,16 @@ Configure_system ()
case "${MODE}" in
progress-linux)
- AREA="$(echo ${ARCHIVE_AREAS} | sed -e 's|,| |g')"
- DIST="$(echo ${DISTRIBUTION} | sed -e 's|-backports||')"
- echo "deb ${MIRROR} ${DIST} ${AREA}" > "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
+cat > "${DIRECTORY}/progress-linux.cfg" << EOF
+progress-linux progress-linux/archives multiselect ${ARCHIVES}
+progress-linux progress-linux/archive-areas multiselect $(echo ${ARCHIVE_AREAS} | sed -e 's|,| |g')
+EOF
- for REPO in ${ARCHIVES}
- do
- case "${REPO}" in
- ${DIST}-staging)
- echo "deb ${MIRROR} ${DIST}-staging ${AREA}" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- ;;
-
- ${DIST}-security)
- echo "deb ${MIRROR_SECURITY} ${DIST}-security ${AREA}" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- ;;
-
- ${DIST}-security-staging)
- echo "deb ${MIRROR_SECURITY} ${DIST}-security-staging ${AREA}" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- ;;
-
- ${DIST}-updates)
- echo "deb ${MIRROR} ${DIST}-updates ${AREA}" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- ;;
-
- ${DIST}-updates-staging)
- echo "deb ${MIRROR} ${DIST}-updates-staging ${AREA}" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- ;;
-
- ${DIST}-extras)
- if echo "${AREA}" | grep -qs non-free
- then
- echo "deb ${MIRROR} ${DIST}-extras ${AREA} restricted" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- else
- echo "deb ${MIRROR} ${DIST}-extras ${AREA}" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- fi
- ;;
-
- ${DIST}-extras-staging)
- if echo "${AREA}" | grep -qs non-free
- then
- echo "deb ${MIRROR} ${DIST}-extras-staging ${AREA} restricted" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- else
- echo "deb ${MIRROR} ${DIST}-extras-staging ${AREA}" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- fi
- ;;
-
- ${DIST}-backports)
- echo "deb ${MIRROR} ${DIST}-backports ${AREA}" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- ;;
-
- ${DIST}-backports-staging)
- echo "deb ${MIRROR} ${DIST}-backports-staging ${AREA}" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- ;;
-
- ${DIST}-backports-extras)
- if echo "${AREA}" | grep -qs non-free
- then
- echo "deb ${MIRROR} ${DIST}-backports-extras ${AREA} restricted" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- else
- echo "deb ${MIRROR} ${DIST}-backports-extras ${AREA}" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- fi
- ;;
-
- ${DIST}-backports-extras-staging)
- if echo "${AREA}" | grep -qs non-free
- then
- echo "deb ${MIRROR} ${DIST}-backports-extras-staging ${AREA} restricted" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- else
- echo "deb ${MIRROR} ${DIST}-backports-extras-staging ${AREA}" >> "${DIRECTORY}/etc/apt/sources.list.d/progress-linux.list"
- fi
- ;;
- esac
- done
+ Chroot "${DIRECTORY}" "debconf-set-selections progress-linux.cfg"
+ Chroot "${DIRECTORY}" "DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=criticial dpkg-reconfigure progress-linux"
+
+ rm -f "${DIRECTORY}/progress-linux.cfg"
;;
esac
@@ -602,9 +495,6 @@ EOF
rm -f "${DIRECTORY}/preseed.cfg"
fi
- # FIXME: All packages of priority of essential need to be reconfigured to reflect choices from preseeding
- # -> fix: use two-stage bootstrap (foreign) and inject preseeds in between
-
# Manual hack to workaround broken preseeding in locales package
if [ -n "${PRESEED_FILE}" ]
then
@@ -659,19 +549,9 @@ EOF
fi
done
- # FIXME: Install additional packages after lxc-support has been run.
- # This is suboptimal, ideally we should install all packages but not run the maintainer scripts,
- # then run lxc-support, and run the maintainer scripts. This way, lxc-support would see
- # all the installed packages and could skip those scripts entirely when a certain package is not
- # installed. Unfortunately, that is not possible in any reasonable way with apt-get.
- # FTR: The only known workaround for now would be to first apt-get install --download-only all
- # packages, then unpack them with dpkg, run lxc-support, and dpkg --configure them.
- # For the time being, it's better to have lxc-support see no packages at all and be run before
- # packages are installed, than the other way around.
- # Workaround: We're running lxc-support at the end of the template again.
if [ -n "${PACKAGES}" ]
then
- Chroot "${DIRECTORY}" "apt-get --option APT::Force-LoopBreak=true --option Dpkg::Options::=--force-confnew --yes install ${PACKAGES}"
+ Chroot "${DIRECTORY}" "apt --option Dpkg::Options::=--force-confnew --yes install ${PACKAGES}"
fi
# Manual hack to regenerate ssh keys
@@ -898,8 +778,6 @@ Commands ()
{
DIRECTORY="${1}"
- # config (FIXME)
-
# maximum of 15 characters, prefix is 'veth-'
HOSTNAME_SHORT="$(echo ${NAME} | cut -c-8)"
HOST_INTERFACE_NAME="$(echo ${NETWORK1_VETH:-veth-${HOSTNAME_SHORT}-0})"
@@ -992,8 +870,6 @@ for DEBCONF_SCRIPT in "/usr/share/${PROJECT}/${PROGRAM}/scripts/debconf.d"/*
do
if [ -x "${DEBCONF_SCRIPT}" ]
then
- # FIXME
- # debconf -o${SOFTWARE} "${DEBCONF_SCRIPT}"
"${DEBCONF_SCRIPT}"
fi
done
@@ -1078,7 +954,7 @@ fi
Configure_system "${MACHINES}/${NAME}"
Configure_network "${MACHINES}/${NAME}"
-Configure_systemd_networkd "${MACHINES}/${NAME}" # FIXME
+Configure_systemd_networkd "${MACHINES}/${NAME}"
Cleanup_system "${MACHINES}/${NAME}"
Commands "${MACHINES}/${NAME}"
diff --git a/share/scripts/debconf.d/0002-preseed-debconf b/share/scripts/debconf.d/0002-preseed-debconf
index 086fffc..9aca6bf 100755
--- a/share/scripts/debconf.d/0002-preseed-debconf
+++ b/share/scripts/debconf.d/0002-preseed-debconf
@@ -58,7 +58,7 @@ do
# preseed file has includes
INCLUDE_PRESEED_FILES="$(grep '^ *compute-tools *container/include-preseed-files' ${PRESEED_FILE} | awk '{ $1=$2=$3=""; print $0 }' | sed -e 's|,| |g')"
- # FIXME: we're supporting only *ONE* include layer for now, so no nested/recursive includes just yet
+ # only one include layer is supported, no nested/recursive includes
for FILE in ${INCLUDE_PRESEED_FILES}
do
if [ -e "${FILE}" ]
diff --git a/share/scripts/debconf.d/0003-debconf b/share/scripts/debconf.d/0003-debconf
index 843d0b4..684261a 100755
--- a/share/scripts/debconf.d/0003-debconf
+++ b/share/scripts/debconf.d/0003-debconf
@@ -118,20 +118,8 @@ Architecture ()
arm64)
DEFAULT="arm64"
- CHOICES="Automatic, Rpi1 (armel), Rpi2 (armhf), Rpi3 (arm64)"
- CHOICES_C="auto, armel, armhf, arm64"
- ;;
-
- armel)
- DEFAULT="armel"
- CHOICES="Automatic, Rpi1 (armel)"
- CHOICES_C="auto, armel"
- ;;
-
- armhf)
- DEFAULT="armhf"
- CHOICES="Automatic, Rpi1 (armel), Rpi2 (armhf)"
- CHOICES_C="auto, armel, armhf"
+ CHOICES="Automatic, RaspberryPi 3 (arm64)"
+ CHOICES_C="auto, arm64"
;;
i386)
@@ -195,29 +183,22 @@ Archives ()
debian)
case "${PARENT_DISTRIBUTION}" in
sid)
- db_subst container/archives CHOICES "Experimental"
- db_subst container/archives CHOICES_C "experimental"
+ db_subst container/archives CHOICES "sid, experimental"
- db_set container/archives ""
+ db_set container/archives "sid"
db_fset container/archives seen false
;;
*)
- db_subst container/archives CHOICES "Security, Updates, Backports, Proposed Updates"
- db_subst container/archives CHOICES_C "${DISTRIBUTION}-security, ${DISTRIBUTION}-updates, ${DISTRIBUTION}-backports, ${DISTRIBUTION}-proposed-updates"
+ db_subst container/archives CHOICES "${DISTRIBUTION}, ${DISTRIBUTION}-security, ${DISTRIBUTION}-updates, ${DISTRIBUTION}-backports, ${DISTRIBUTION}-proposed-updates"
case "${PARENT_DISTRIBUTION}" in
sid)
- db_set container/archives ""
- ;;
-
- buster)
- db_set container/archives "${DISTRIBUTION}-security, ${DISTRIBUTION}-updates"
+ db_set container/archives "sid"
;;
*)
- #db_set container/archives "${DISTRIBUTION}-security, ${DISTRIBUTION}-updates, ${DISTRIBUTION}-backports"
- db_set container/archives "${DISTRIBUTION}-security, ${DISTRIBUTION}-updates"
+ db_set container/archives "${DISTRIBUTION}, ${DISTRIBUTION}-security, ${DISTRIBUTION}-updates"
;;
esac
@@ -229,10 +210,9 @@ Archives ()
progress-linux)
DIST="$(echo ${DISTRIBUTION} | sed -e 's|-backports||')"
- db_subst container/archives CHOICES "staging, Security, Security (staging), Updates, Updates (staging), Extras, Extras (staging), Backports, Backports (staging), Backports Extras, Backports Extras (staging)"
- db_subst container/archives CHOICES_C "${DIST}-staging, ${DIST}-security, ${DIST}-security-staging, ${DIST}-updates, ${DIST}-updates-staging, ${DIST}-extras, ${DIST}-extras-staging, ${DIST}-backports, ${DIST}-backports-staging, ${DIST}-backports-extras, ${DIST}-backports-extras-staging"
+ db_subst container/archives CHOICES "${DIST}, ${DIST}-security, ${DIST}-updates, ${DIST}-extras, ${DIST}-backports, ${DIST}-backports-extras"
- db_set container/archives "${DIST}-security, ${DIST}-updates, ${DIST}-extras, ${DIST}-backports, ${DIST}-backports-extras"
+ db_set container/archives "${DIST}, ${DIST}-security, ${DIST}-updates, ${DIST}-extras, ${DIST}-backports, ${DIST}-backports-extras"
db_fset container/archives seen false
;;
esac
@@ -260,13 +240,11 @@ Parent_archives ()
then
case "${MODE}" in
progress-linux)
- db_subst container/parent-archives CHOICES "Security, Updates, Backports, Proposed Updates"
- db_subst container/parent-archives CHOICES_C "${PARENT_DISTRIBUTION}-security, ${PARENT_DISTRIBUTION}-updates, ${PARENT_DISTRIBUTION}-backports, ${PARENT_DISTRIBUTION}-proposed-updates"
+ db_subst container/parent-archives CHOICES "${PARENT_DISTRIBUTION}, ${PARENT_DISTRIBUTION}-security, ${PARENT_DISTRIBUTION}-updates, ${PARENT_DISTRIBUTION}-backports, ${PARENT_DISTRIBUTION}-proposed-updates"
case "${PARENT_DISTRIBUTION}" in
*)
- #db_set container/parent-archives "${PARENT_DISTRIBUTION}-security, ${PARENT_DISTRIBUTION}-updates, ${PARENT_DISTRIBUTION}-backports"
- db_set container/parent-archives "${PARENT_DISTRIBUTION}-security, ${PARENT_DISTRIBUTION}-updates"
+ db_set container/parent-archives "${PARENT_DISTRIBUTION}, ${PARENT_DISTRIBUTION}-security, ${PARENT_DISTRIBUTION}-updates"
;;
esac
@@ -278,8 +256,7 @@ Parent_archives ()
;;
*)
- db_subst container/parent-archives CHOICES "Security, Updates, Backports, Proposed Updates"
- db_subst container/parent-archives CHOICES_C "${ARCHIVES}"
+ db_subst container/parent-archives CHOICES "${DISTRIBUTION}, ${DISTRIBUTION}-security, ${DISTRIBUTION}-updates, ${DISTRIBUTION}-backports, ${DISTRIBUTION}-proposed-updates"
db_set container/parent-archives "${ARCHIVES}"
db_fset container/parent-archives seen true
@@ -295,8 +272,7 @@ Parent_archives ()
progress-linux)
case "${PARENT_DISTRIBUTION}" in
*)
- #PARENT_ARCHIVES="${PARENT_DISTRIBUTION}-security, ${PARENT_DISTRIBUTION}-updates, ${PARENT_DISTRIBUTION}-backports"
- PARENT_ARCHIVES="${PARENT_DISTRIBUTION}-security, ${PARENT_DISTRIBUTION}-updates"
+ PARENT_ARCHIVES="${PARENT_DISTRIBUTION}, ${PARENT_DISTRIBUTION}-security, ${PARENT_DISTRIBUTION}-updates"
;;
esac
;;
@@ -693,11 +669,6 @@ EOF
Network_defaults ()
{
- # FIXME:
- # * use interfaces.d where possible
- # * respect pre-existing interfaces (or interfaces.d)
- # * add support for bridges (make interface configuration more generic?)
-
HOSTNAME_SHORT="$(echo veth-$(echo ${NAME} | cut -c-8)-0)"
VETH_NAME="${HOSTNAME_SHORT}"
diff --git a/share/scripts/debconf.d/0003-debconf.templates b/share/scripts/debconf.d/0003-debconf.templates
index 3d607a7..13899ef 100644
--- a/share/scripts/debconf.d/0003-debconf.templates
+++ b/share/scripts/debconf.d/0003-debconf.templates
@@ -37,7 +37,6 @@ Description: Architecture
Template: container/archives
Type: multiselect
Default:
-Choices-C: ${CHOICES_C}
Choices: ${CHOICES}
Description: Archives
Archives.
@@ -45,7 +44,6 @@ Description: Archives
Template: container/parent-archives
Type: multiselect
Default:
-Choices-C: ${CHOICES_C}
Choices: ${CHOICES}
Description: Parent Archives
Parent Archives.