From: Christian Heller Date: Wed, 13 Aug 2025 03:08:04 +0000 (+0200) Subject: Various fixes. X-Git-Url: https://plomlompom.com/repos/booking/calendar_export?a=commitdiff_plain;h=f9fdc06dd94b3c023e2262e3775495a16026eaeb;p=config Various fixes. --- diff --git a/bookworm/scripts/lib/apt_get_digested b/bookworm/scripts/lib/apt_get_digested index eaabbb7..2550327 100644 --- a/bookworm/scripts/lib/apt_get_digested +++ b/bookworm/scripts/lib/apt_get_digested @@ -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 index 71c2003..0000000 --- a/testing/preseed.cfg +++ /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 index 8f82f02..0000000 --- a/testing/scripts/update_preseed.sh +++ /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 diff --git a/trixie/scripts/make_writable_installer.sh b/trixie/scripts/make_writable_installer.sh index 844d1f7..bd04512 100755 --- a/trixie/scripts/make_writable_installer.sh +++ b/trixie/scripts/make_writable_installer.sh @@ -1,6 +1,6 @@ #!/bin/sh # based on -set -e +set -eu cd $(dirname "$0") . lib/INSTALLER_VERSION . lib/abort diff --git a/trixie/scripts/setup_desktop.sh b/trixie/scripts/setup_desktop.sh index 7820dff..9e95dae 100755 --- a/trixie/scripts/setup_desktop.sh +++ b/trixie/scripts/setup_desktop.sh @@ -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 index 0000000..743bb5c --- /dev/null +++ b/trixie/scripts/update_preseed.sh @@ -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