. 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"
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
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
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}"
+++ /dev/null
-../../../bookworm/scripts/lib/prefixed_msg.sh
\ No newline at end of file
--- /dev/null
+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'
+}
. 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
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}"
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
. 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