home · contact · privacy
Various fixes. master
authorChristian Heller <c.heller@plomlompom.de>
Wed, 13 Aug 2025 03:08:04 +0000 (05:08 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Wed, 13 Aug 2025 03:08:04 +0000 (05:08 +0200)
bookworm/scripts/lib/apt_get_digested
testing/preseed.cfg [deleted symlink]
testing/scripts/update_preseed.sh [deleted file]
trixie/scripts/make_writable_installer.sh
trixie/scripts/setup_desktop.sh
trixie/scripts/update_preseed.sh [new file with mode: 0755]

index eaabbb762c7d07f62ff23fbf541bb070c1afc1fa..25503270dcfd716bf6c18bf9a76257e8d1cacb95 100644 (file)
@@ -30,7 +30,7 @@ dpkg warns: unable to delete old directories (not empty):|dpkg: warning: unable
 update-alternatives: providing in auto mode:|update-alternatives: using ([[:print:]]+) to provide ([[:print:]]+) \(([[:print:]]+)\) in auto mode| [\1 → \2 (\3)]'
 
 print_nl_if_started_printing() {
-    if [ ! -z "${STARTED_PRINTING}" ]; then
+    if [ -n "${STARTED_PRINTING}" ]; then
         printf '\n'
     fi
     printf '\r'
@@ -38,9 +38,9 @@ print_nl_if_started_printing() {
 local LAST_PREFIX=''
 local STARTED_PRINTING=
 local LEADER_PREFIX=
-local APT_GET_EXIT_CODE
-local APT_LINE
-eval "set +e; DEBIAN_FRONTEND=noninteractive apt-get -y $1; APT_GET_EXIT_CODE=\$?; set -e; echo ${FINISH_LINE} \${APT_GET_EXIT_CODE}" 2>&1 | while read APT_LINE; do
+local APT_GET_EXIT_CODE=
+local APT_LINE=
+eval "set +e; DEBIAN_FRONTEND=noninteractive apt install -y $1; APT_GET_EXIT_CODE=\$?; set -e; echo ${FINISH_LINE} \${APT_GET_EXIT_CODE}" 2>&1 | while read APT_LINE; do
     APT_LINE=$(printf '%s' "${APT_LINE}" | tr -d '\r')
     if [ -z "${APT_LINE}" ]; then
         continue
diff --git a/testing/preseed.cfg b/testing/preseed.cfg
deleted file mode 120000 (symlink)
index 71c2003..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../bookworm/preseed.cfg
\ No newline at end of file
diff --git a/testing/scripts/update_preseed.sh b/testing/scripts/update_preseed.sh
deleted file mode 100755 (executable)
index 8f82f02..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/sh
-set -e
-cd $(dirname "$0")
-. lib/abort_if_command_unknown
-. lib/constants_installer  # FILENAME_PRESEED_CFG, PATH_PRESEED_CFG
-. lib/expect_n_args
-. lib/get_mountable_device_path
-. lib/prefixed_msg
-. lib/trapp
-
-prefixed_msg_init
-
-abort_if_command_unknown pmount
-
-expect_n_args 4 4 'DEVICE (e.g. "sdb1") ROOT_PASSWORD WIFI_ESSID WIFI_PASSWORD' $@
-DEVICE_NAME="$1"
-ROOT_PASSWORD="$2"
-WIFI_ESSID="$3"
-WIFI_PASSWORD="$4"
-
-PATH_DEVICE="$(get_mountable_device_path ${DEVICE_NAME})"
-UMOUNT_MSG=$(prefixed_msg "Unmounting ${PATH_DEVICE} …")
-PATH_MOUNTED_PRESEED_CFG="/media/${DEVICE_NAME}/${FILENAME_PRESEED_CFG}"
-
-prefixed_msg "Checking some mountability criteria for ${PATH_DEVICE} …"
-
-prefixed_msg "Mounting ${PATH_DEVICE} …"
-pmount "${DEVICE_NAME}"
-trapp "echo '${UMOUNT_MSG}'; pumount ${DEVICE_NAME}"
-
-prefixed_msg "Copying ${PATH_PRESEED_CFG} …"
-cp "${PATH_PRESEED_CFG}" "${PATH_MOUNTED_PRESEED_CFG}"
-
-replace_if_provided() {
-    _VAR_NAME="$1"
-    val_of_var_of_name() { eval printf '"%s"' '"${'"$1"'}"'; }
-    if [ ! -z "$(val_of_var_of_name ${_VAR_NAME})" ]; then
-        prefixed_msg "Replacing ${_VAR_NAME} …"
-        sed -i "s/REPLACE_WITH_${_VAR_NAME}/$(val_of_var_of_name ${_VAR_NAME})/g" "${PATH_MOUNTED_PRESEED_CFG}"
-    fi
-}
-replace_if_provided ROOT_PASSWORD
-replace_if_provided WIFI_ESSID
-replace_if_provided WIFI_PASSWORD
-
-prefixed_msg_exit
index 844d1f7b53ce65931910b3917579d71993cf225e..bd04512c1195c04e80b640128f544d4dc75af3c9 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 # based on <https://wiki.debian.org/DebianInstaller/WritableUSBStick>
-set -e
+set -eu
 cd $(dirname "$0")
 . lib/INSTALLER_VERSION
 . lib/abort
index 7820dff61dab6fe21d73a3aa7fa854da5a129767..9e95dae6b0017a4a2bbee78d35f69126eff063d4 100755 (executable)
@@ -1,6 +1,7 @@
-#!/bin/sh
-set -e
-cd $(dirname "$0")
+#!/usr/bin/env dash
+set -eu
+ROOT=$(dirname "$0")
+cd "${ROOT}"
 . lib/abort
 . lib/abort_if_offline
 . lib/apt_get_digested
@@ -38,21 +39,21 @@ abort_if_illegal_system_name() {
     done
     abort 'Need legal system name.'
 }
-expect_n_args 2 2 "SYSTEM_NAME, USER_PW" $@
+expect_n_args 2 2 "SYSTEM_NAME, USER_PW" "$@"
 SYSTEM_NAME="$1"
 USER_PW="$2"
 abort_if_illegal_system_name "${SYSTEM_NAME}"
-SYSTEM_CLASS_NAME="$(get_system_class_for ${SYSTEM_NAME})"
+SYSTEM_CLASS_NAME=$(get_system_class_for "${SYSTEM_NAME}")
 INSTALL_TAGS="all ${SYSTEM_CLASS_NAME} ${SYSTEM_NAME} user desktop"
 
 adopt_wifi_connection() {
     get_network_interfaces_last_wpa_value() {
         REGEX="^\s+wpa-${1}\s+"
-        cat "${PATH_NETWORK_INTERFACES}" | grep -E "${REGEX}" | sed -E "s/${REGEX}//g" | tail -1
+        grep -E "${REGEX}" "${PATH_NETWORK_INTERFACES}" | sed -E "s/${REGEX}//g" | tail -1
     }
     WLAN_SSID=$(get_network_interfaces_last_wpa_value 'ssid')
     WLAN_PSK=$(get_network_interfaces_last_wpa_value 'psk')
-    if [ ! -z "${WLAN_SSID}" ]; then
+    if [ -n "${WLAN_SSID}" ]; then
         prefixed_msg_no_nl "Found, adding to NetworkManager: "
         if [ -z "${WLAN_PSK}" ]; then
             nmcli connection add type wifi wifi.ssid "${WLAN_SSID}"
@@ -62,12 +63,9 @@ adopt_wifi_connection() {
     fi
 }
 
-../../trixie/scripts/from_older_upgrade.sh desktop
-./from_older_upgrade.sh desktop
-
 # NB: This needs to come before steps potentially overwriting /etc/network/interfaces.
 apt_get_digested '-q -q install network-manager'
-if [ "$(nmcli -f TYPE conn | grep 'wifi' | wc -l)" = "0" ]; then
+if [ "$(nmcli -f TYPE conn | grep -c 'wifi')" = "0" ]; then
     prefixed_msg "Checking for existing wifi config in ${PATH_NETWORK_INTERFACES} …"
     adopt_wifi_connection
 else
diff --git a/trixie/scripts/update_preseed.sh b/trixie/scripts/update_preseed.sh
new file mode 100755 (executable)
index 0000000..743bb5c
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/sh
+set -e
+cd $(dirname "$0")
+. lib/abort_if_command_unknown
+. lib/constants_installer  # FILENAME_PRESEED_CFG, PATH_PRESEED_CFG
+. lib/expect_n_args
+. lib/get_mountable_device_path
+. lib/prefixed_msg
+. lib/trapp
+
+prefixed_msg_init
+
+abort_if_command_unknown pmount
+
+expect_n_args 1 4 'DEVICE (e.g. "sdb1") ROOT_PASSWORD WIFI_ESSID WIFI_PASSWORD' $@
+DEVICE_NAME="$1"
+ROOT_PASSWORD="$2"
+WIFI_ESSID="$3"
+WIFI_PASSWORD="$4"
+
+PATH_DEVICE="$(get_mountable_device_path ${DEVICE_NAME})"
+UMOUNT_MSG=$(prefixed_msg "Unmounting ${PATH_DEVICE} …")
+PATH_MOUNTED_PRESEED_CFG="/media/${DEVICE_NAME}/${FILENAME_PRESEED_CFG}"
+
+prefixed_msg "Checking some mountability criteria for ${PATH_DEVICE} …"
+
+prefixed_msg "Mounting ${PATH_DEVICE} …"
+pmount "${DEVICE_NAME}"
+trapp "echo '${UMOUNT_MSG}'; pumount ${DEVICE_NAME}"
+
+prefixed_msg "Copying ${PATH_PRESEED_CFG} …"
+cp "${PATH_PRESEED_CFG}" "${PATH_MOUNTED_PRESEED_CFG}"
+
+replace_if_provided() {
+    _VAR_NAME="$1"
+    val_of_var_of_name() { eval printf '"%s"' '"${'"$1"'}"'; }
+    if [ ! -z "$(val_of_var_of_name ${_VAR_NAME})" ]; then
+        prefixed_msg "Replacing ${_VAR_NAME} …"
+        sed -i "s/REPLACE_WITH_${_VAR_NAME}/$(val_of_var_of_name ${_VAR_NAME})/g" "${PATH_MOUNTED_PRESEED_CFG}"
+    fi
+}
+replace_if_provided ROOT_PASSWORD
+replace_if_provided WIFI_ESSID
+replace_if_provided WIFI_PASSWORD
+
+prefixed_msg_exit