From 7d4d6a162d3be35ffe5ecea750aab3df63203761 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Mon, 25 Aug 2025 15:57:56 +0200 Subject: [PATCH] Fix. --- bookworm/scripts/lib/put_finished_marker.sh | 2 +- trixie/scripts/lib/apt_digested.sh | 2 +- trixie/scripts/lib/core_setup.sh | 4 +- trixie/scripts/lib/prefixed_msg.sh | 41 ++++++++++++++++++++- trixie/scripts/minimize_installation.sh | 7 ++-- trixie/scripts/setup_desktop.sh | 2 +- 6 files changed, 48 insertions(+), 10 deletions(-) mode change 120000 => 100644 trixie/scripts/lib/prefixed_msg.sh diff --git a/bookworm/scripts/lib/put_finished_marker.sh b/bookworm/scripts/lib/put_finished_marker.sh index 238ee1f..66fc3d0 100644 --- a/bookworm/scripts/lib/put_finished_marker.sh +++ b/bookworm/scripts/lib/put_finished_marker.sh @@ -1,7 +1,7 @@ . lib/constants_finished.sh . lib/prefixed_msg.sh -put_finished_marker() { +put_finished_marker() { prefixed_msg "Marking as finished: $1" mkdir -p "${PATH_ROOT_FINISHEDS}" touch "${PATH_ROOT_FINISHEDS}/$1" diff --git a/trixie/scripts/lib/apt_digested.sh b/trixie/scripts/lib/apt_digested.sh index 4288aac..5244bf7 100644 --- a/trixie/scripts/lib/apt_digested.sh +++ b/trixie/scripts/lib/apt_digested.sh @@ -159,7 +159,7 @@ apt_digested() { local IFS IFS=$(printf '\n\r') for LINE in ${apt_digested_SEDS}; do - I=$((1 + $I)) + I=$((1 + I)) if [ "$I" -eq 1 ]; then PREFIX="${LINE}" continue diff --git a/trixie/scripts/lib/core_setup.sh b/trixie/scripts/lib/core_setup.sh index 1015f3d..83a44cf 100644 --- a/trixie/scripts/lib/core_setup.sh +++ b/trixie/scripts/lib/core_setup.sh @@ -13,7 +13,7 @@ core_setup() { local EXTERNAL_IP="$3" local INSTALL_TAGS="$4" - ./minimize_installation.sh ${INSTALL_TAGS} + ./minimize_installation.sh "${INSTALL_TAGS}" prefixed_msg 'And now: dist-upgrade …' apt_digested -q -q dist-upgrade @@ -23,7 +23,7 @@ core_setup() { usermod -a -G sudo "${USERNAME}" prefixed_msg 'Copying over files, directories …' - copy_dirtrees_of_tags ${INSTALL_TAGS} + copy_dirtrees_of_tags "${INSTALL_TAGS}" prefixed_msg 'Setting hostname …' hostnamectl hostname "${HOSTNAME}" diff --git a/trixie/scripts/lib/prefixed_msg.sh b/trixie/scripts/lib/prefixed_msg.sh deleted file mode 120000 index 28dd87f..0000000 --- a/trixie/scripts/lib/prefixed_msg.sh +++ /dev/null @@ -1 +0,0 @@ -../../../bookworm/scripts/lib/prefixed_msg.sh \ No newline at end of file diff --git a/trixie/scripts/lib/prefixed_msg.sh b/trixie/scripts/lib/prefixed_msg.sh new file mode 100644 index 0000000..72c8dcd --- /dev/null +++ b/trixie/scripts/lib/prefixed_msg.sh @@ -0,0 +1,40 @@ +prefixed_msg_init() { + prefixed_msg_OLD_PREFIX="${prefixed_msg_PREFIX}|${prefixed_msg_OLD_PREFIX}" + export prefixed_msg_OLD_PREFIX + if [ -z "$1" ]; then + prefixed_msg_PREFIX=$(basename "$0") + else + prefixed_msg_PREFIX="$1" + fi + export prefixed_msg_PREFIX +} + +prefixed_msg_exit() { + prefixed_msg_PREFIX=$(echo "${prefixed_msg_OLD_PREFIX}" | cut -d'|' -f1) + export prefixed_msg_PREFIX + prefixed_msg_OLD_PREFIX=$(echo "${prefixed_msg_OLD_PREFIX}" | cut -d'|' -f2-) + export prefixed_msg_OLD_PREFIX +} + + + +prefixed_msg_no_nl() { + if [ -z "${prefixed_msg_PREFIX}" ]; then + printf '%s' "$1" + return + fi + local INDENTOR='··' + local INDENT='' + local SEPARATORS + SEPARATORS=$(echo "${prefixed_msg_OLD_PREFIX}" | sed 's/[^|]//g') + while [ -n "${SEPARATORS}" ]; do + _INDENT="${INDENTOR}${INDENT}" + _SEPARATORS=$(echo -n "${SEPARATORS}" | cut -d'|' -f2-) + done + printf '%s%s: %s' "${INDENT}" "${prefixed_msg_PREFIX}" "$1" +} + +prefixed_msg() { + prefixed_msg_no_nl "$1" + printf '\n' +} diff --git a/trixie/scripts/minimize_installation.sh b/trixie/scripts/minimize_installation.sh index 082217c..942bd1a 100755 --- a/trixie/scripts/minimize_installation.sh +++ b/trixie/scripts/minimize_installation.sh @@ -8,7 +8,7 @@ cd "${ROOT}" . lib/prefixed_msg.sh prefixed_msg_init -INSTALL_TAGS="$@" +INSTALL_TAGS=$* prefixed_msg "narrow system to what is required explicitly by Debian and by us, as per these INSTALL_TAGS: ${INSTALL_TAGS}" PATH_ETC_APT_MINIMIZE=${PATH_ETC}/apt/apt.conf.d/99_minimize_dependencies @@ -25,7 +25,6 @@ PATH_LIST_BLACK="${PATH_LIST_PREFIX}black" prefixed_msg_no_nl "collect packages deemed '${TOK_REQ}' by Debian: " dpkg-query -Wf '${Package} ${Priority}\n' | grep " ${TOK_REQ}" | cut -d' ' -f1 > "${PATH_LIST_UNSORTED}" sort "${PATH_LIST_UNSORTED}" > "${PATH_LIST_WHITE}" -echo $(cat "${PATH_LIST_WHITE}") prefixed_msg 'collect installed packages outside this selection …' dpkg-query -Wf '${Package}\n' > "${PATH_LIST_UNSORTED}" @@ -33,11 +32,11 @@ sort "${PATH_LIST_UNSORTED}" > "${PATH_LIST_ALL_PACKAGES}" comm -3 "${PATH_LIST_ALL_PACKAGES}" "${PATH_LIST_WHITE}" > "${PATH_LIST_BLACK}" prefixed_msg 'apt-mark auto from diff …' -apt-mark auto `cat "${PATH_LIST_BLACK}"` > /dev/null +apt-mark auto < "${PATH_LIST_BLACK}" > /dev/null rm "${PATH_LIST_UNSORTED}" "${PATH_LIST_ALL_PACKAGES}" "${PATH_LIST_WHITE}" "${PATH_LIST_BLACK}" prefixed_msg 'install or mark as manually installed packages from our own selections …' -ensure_packages_of_tags ${INSTALL_TAGS} +ensure_packages_of_tags "${INSTALL_TAGS}" prefixed_msg 'run autopurge to get rid of all unwanted packages …' apt_digested -q -q autopurge diff --git a/trixie/scripts/setup_desktop.sh b/trixie/scripts/setup_desktop.sh index d771382..a057953 100755 --- a/trixie/scripts/setup_desktop.sh +++ b/trixie/scripts/setup_desktop.sh @@ -6,8 +6,8 @@ cd "${ROOT}" . lib/abort_if_offline.sh . lib/apt_digested.sh . lib/constants_etc.sh # PATH_ETC +. lib/constants_finished.sh # PATH_ROOT_FINISHEDS for put_finished_marker . lib/constants_user.sh # USERNAME -. lib/copy_dirtrees_of_tags.sh . lib/core_setup.sh . lib/expect_n_args.sh . lib/prefixed_msg.sh -- 2.30.2