From 81e1646fd291e14fc718a1bb7cef7108981effdf Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Tue, 6 May 2025 00:14:51 +0200 Subject: [PATCH] Fix. --- bookworm/scripts/lib/apt_get_digested | 2 +- bookworm/scripts/lib/core_setup | 2 +- bookworm/scripts/lib/ensure_packages_of_tags | 25 +++++++++++++++----- bookworm/scripts/lib/install_tags | 2 +- bookworm/scripts/lib/minimize_installation | 2 +- bookworm/scripts/lib/prefixed_msg | 2 +- bookworm/scripts/setup_catgirl.sh | 2 +- bookworm/scripts/setup_seedbox.sh | 2 +- bookworm/scripts/setup_server.sh | 4 ++-- 9 files changed, 28 insertions(+), 15 deletions(-) diff --git a/bookworm/scripts/lib/apt_get_digested b/bookworm/scripts/lib/apt_get_digested index 30ed81e..ca65f5c 100644 --- a/bookworm/scripts/lib/apt_get_digested +++ b/bookworm/scripts/lib/apt_get_digested @@ -2,7 +2,7 @@ . lib/prefixed_msg apt_get_digested() { -prefixed_msg_init 'apt_get_digested: ' +prefixed_msg_init 'apt_get_digested' abort_if_command_unknown calc diff --git a/bookworm/scripts/lib/core_setup b/bookworm/scripts/lib/core_setup index 44b7552..a8ed301 100644 --- a/bookworm/scripts/lib/core_setup +++ b/bookworm/scripts/lib/core_setup @@ -4,7 +4,7 @@ . lib/minimize_installation . lib/prefixed_msg core_setup() { -prefixed_msg_init 'core_setup: ' +prefixed_msg_init 'core_setup' prefixed_msg 'starting (performing standard installation setup steps)' _HOSTNAME="$1" diff --git a/bookworm/scripts/lib/ensure_packages_of_tags b/bookworm/scripts/lib/ensure_packages_of_tags index 06eb91b..310a2cc 100644 --- a/bookworm/scripts/lib/ensure_packages_of_tags +++ b/bookworm/scripts/lib/ensure_packages_of_tags @@ -2,21 +2,34 @@ . lib/prefixed_msg ensure_packages_of_tags() { -prefixed_msg_init 'ensure_packages_of_tags: ' -prefixed_msg 'starting (walking through package names in ../aptmark/ files to ensure respective packages are installed' +prefixed_msg_init 'ensure_packages_of_tags' +prefixed_msg 'starting' +_INSTALL_CMD='apt_get_digested "-q -q -o Dpkg::Options::=--force-confnew install' for _TAG in $@; do + prefixed_msg_no_nl "For tag '${_TAG}', " + if [ "$(echo ${_TAG} | cut -d':' -f1)" = 'keep_if_installed' ]; then + _PACKAGE=$(echo ${_TAG} | cut -d':' -f2) + printf 'checking if installed … ' + if dpkg-query -Wf '${Package}\n' | grep '^'"${_PACKAGE}"'$' > /dev/null; then + echo 'yup, keeping!' + ${_INSTALL_CMD} ${_PACKAGE} + else + echo 'nope, nothing to keep.' + fi + continue + fi _PATH_APTMARK_TAG="../aptmark/${_TAG}" if [ ! -f "${_PATH_APTMARK_TAG}" ]; then + echo 'no file, ignoring.' continue fi _PACKAGES=$(cat "${_PATH_APTMARK_TAG}" | sed -E 's/#.*//g' | sed -z 's/\n/ /g' | sed 's/ */ /g' | cut -c 2-) - prefixed_msg_no_nl "For tag '${_TAG}', " if [ -z "${_PACKAGES}" ]; then - echo "nothing to install." + echo 'nothing to install.' else - echo "ensuring installation of: ${_PACKAGES}" - apt_get_digested "-q -q -o Dpkg::Options::=--force-confnew install ${_PACKAGES}" + echo 'ensuring installation of: ${_PACKAGES}' + ${_INSTALL_CMD} ${_PACKAGES} fi done prefixed_msg 'finished' diff --git a/bookworm/scripts/lib/install_tags b/bookworm/scripts/lib/install_tags index 39c0f4e..4169bd6 100644 --- a/bookworm/scripts/lib/install_tags +++ b/bookworm/scripts/lib/install_tags @@ -2,7 +2,7 @@ . lib/ensure_packages_of_tags . lib/prefixed_msg install_tags() { - prefixed_msg_init 'install_tags: ' + prefixed_msg_init 'install_tags' _INSTALL_TAGS="$@" prefixed_msg "Installing packages and files for: ${_INSTALL_TAGS}" diff --git a/bookworm/scripts/lib/minimize_installation b/bookworm/scripts/lib/minimize_installation index 67050ac..2f1a2bb 100644 --- a/bookworm/scripts/lib/minimize_installation +++ b/bookworm/scripts/lib/minimize_installation @@ -3,7 +3,7 @@ . lib/prefixed_msg minimize_installation() { -prefixed_msg_init 'minimize_installation: ' +prefixed_msg_init 'minimize_installation' _INSTALL_TAGS="$@" prefixed_msg "starting (narrow system to what is required explicitly by Debian and by us, as per these INSTALL_TAGS: ${_INSTALL_TAGS})" diff --git a/bookworm/scripts/lib/prefixed_msg b/bookworm/scripts/lib/prefixed_msg index 4ac74ed..d29d6bf 100644 --- a/bookworm/scripts/lib/prefixed_msg +++ b/bookworm/scripts/lib/prefixed_msg @@ -15,7 +15,7 @@ prefixed_msg_no_nl() { _INDENT="${_INDENT}${_INDENTOR}" _SEPARATORS=$(echo -n "${_SEPARATORS}" | cut -d'|' -f2-) done - printf '%s%s%s' "${_INDENT}" "${prefixed_msg_PREFIX}" "$1" + printf '%s%s: %s' "${_INDENT}" "${prefixed_msg_PREFIX}" "$1" } prefixed_msg() { prefixed_msg_no_nl "$1" diff --git a/bookworm/scripts/setup_catgirl.sh b/bookworm/scripts/setup_catgirl.sh index fff8ed7..e7d6435 100755 --- a/bookworm/scripts/setup_catgirl.sh +++ b/bookworm/scripts/setup_catgirl.sh @@ -7,7 +7,7 @@ cd $(dirname "$0") . lib/install_tags . lib/prefixed_msg -prefixed_msg_init 'setup_catgirl.sh: ' +prefixed_msg_init 'setup_catgirl.sh' prefixed_msg 'starting' expect_n_args 1 1 'IRC_PASSWORD' $@ diff --git a/bookworm/scripts/setup_seedbox.sh b/bookworm/scripts/setup_seedbox.sh index f4e5ddb..c312471 100755 --- a/bookworm/scripts/setup_seedbox.sh +++ b/bookworm/scripts/setup_seedbox.sh @@ -6,7 +6,7 @@ cd $(dirname "$0") . lib/install_tags . lib/prefixed_msg -prefixed_msg_init 'setup_seedbox.sh: ' +prefixed_msg_init 'setup_seedbox.sh' prefixed_msg 'starting' expect_n_args 0 0 '' $@ diff --git a/bookworm/scripts/setup_server.sh b/bookworm/scripts/setup_server.sh index da17074..cce061e 100755 --- a/bookworm/scripts/setup_server.sh +++ b/bookworm/scripts/setup_server.sh @@ -11,10 +11,10 @@ cd $(dirname "$0") . lib/prefixed_msg . lib/put_finished_marker -prefixed_msg_init 'setup_server.sh: ' +prefixed_msg_init 'setup_server.sh' prefixed_msg 'starting (setting up basics of standard server)' -INSTALL_TAGS='all server user' +INSTALL_TAGS='all server user keep_if_installed:systemd-resolved' abort_if_command_unknown gpg expect_n_args 2 3 'CADDY_PASSWORD, HOSTNAME, [FQDN]' $@ -- 2.30.2