home · contact · privacy
Fixed. master
authorChristian Heller <c.heller@plomlompom.de>
Mon, 5 May 2025 20:13:54 +0000 (22:13 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Mon, 5 May 2025 20:13:54 +0000 (22:13 +0200)
bookworm/scripts/lib/apt_get_digested [new file with mode: 0644]
bookworm/scripts/lib/apt_get_edited [deleted file]
bookworm/scripts/lib/core_setup
bookworm/scripts/lib/ensure_packages_of_tags
bookworm/scripts/lib/minimize_installation
bookworm/scripts/lib/prefixed_msg
testing/scripts/lib/apt_get_edited [deleted symlink]

diff --git a/bookworm/scripts/lib/apt_get_digested b/bookworm/scripts/lib/apt_get_digested
new file mode 100644 (file)
index 0000000..c1c7f02
--- /dev/null
@@ -0,0 +1,67 @@
+. lib/abort_if_command_unknown
+apt_get_digested() {
+
+abort_if_command_unknown calc
+
+_SEDS=\
+'|\(Reading database \.\.\. .*|IGNORE
+|Generation complete.|IGNORE
+|Preconfiguring packages \.\.\.|IGNORE
+|Preparing to unpack [[:print:]]+ \.\.\.|IGNORE
+|Unpacking [[:print:]]+ \([[:print:]]+\)( over \([[:print:]]+\))? \.\.\.|IGNORE
+Adding diversion(s):|Adding '"'"'diversion of ([[:print:]]+) to ([[:print:]]+) by ([[:print:]]+)'"'"'| \3:[\1 → \2]
+Created symlink(s):|Created symlink '"'"'([[:print:]]+)'"'"' → '"'"'([[:print:]]+)'"'"'\.| [\1 → \2]
+FOLLOW_PREFIX|([[:print:]]+) depends on ([[:print:]]+)( \([>=]+ [[:print:]]+\))?\.|[\2 → \1]
+Installing new version of config file(s):|Installing new version of config file ([[:print:]]+) \.\.\.|\1
+Processing triggers for:|Processing triggers for ([[:print:]]+) \([[:print:]]+\) \.\.\.|\1
+Purging configuration files:|Purging configuration files for ([[:print:]]+) \([[:print:]]+\) \.\.\.|\1
+Removing:|Removing ([[:print:]]+) \([[:print:]]+\) \.\.\.|\1
+Removing diversion(s):|Removing '"'"'diversion of ([[:print:]]+) to ([[:print:]]+) by ([[:print:]]+)| \3:[\1 → \2]
+Removing obsolete conffile(s):|Removing obsolete conffile ([[:print:]]+) \.\.\.|\1
+Selecting previously unselected: |Selecting previously unselected package ([[:print:]]+)\.|\1
+Setting up:|Setting up ([[:print:]]+) \([[:print:]]+\) \.\.\.|\1
+Updating to current default:|Updating ([[:print:]]+) to current default.|\1
+disabled or static unit, so not starting:|([[:print:]]+) is a disabled or a static unit, not starting it\.|\1
+disabled or static unit not running, so not starting:|([[:print:]]+) is a disabled or a static unit not running, not starting it\.|\1
+BECOME_NEXT_PREFIX|dpkg: ([[:print:]]+): dependency problems, but removing anyway as you requested:|dpkg warns: despite dependency problems, removing \1 – dependencies:
+dpkg warns: unable to delete old directories (not empty):|dpkg: warning: unable to delete old directory '"'"'([[:print:]]+)'"'"': Directory not empty|\1
+update-alternatives: providing in auto mode:|update-alternatives: using ([[:print:]]+) to provide ([[:print:]]+) \(([[:print:]]+)\) in auto mode| [\1 → \2 (\3)]'
+
+_LAST_PREFIX=''
+DEBIAN_FRONTEND=noninteractive apt-get -y $1 2>&1 | while read _LINE; do
+    _LINE=$(printf '%s' "${_LINE}" | tr -d '\r')
+    if [ -z "${_LINE}" ]; then
+        continue
+    fi
+    _COMPRESSED_ITEM=''
+    for _SED in $(printf '%s' "${_SEDS}" | sed 's/ /#WHITESPACE#/g'); do
+        _WHITESPACED=$(printf '%s' "${_SED}" | sed 's/#WHITESPACE#/ /g')
+        _PREFIX=$(printf '%s' "${_WHITESPACED}" | cut -d'|' -f1)
+        _PATTERN=$(printf '^%s$' "${_WHITESPACED}" | cut -d'|' -f2)
+        _REPLACEMENT=$(printf '%s' "${_WHITESPACED}" | cut -d'|' -f3)
+        if printf '%s' "${_LINE}" | grep -E "${_PATTERN}" > /dev/null; then
+            _COMPRESSED_ITEM=$(printf '%s' "${_LINE}" | sed -E "s|${_PATTERN}|${_REPLACEMENT}|")
+            if [ "${_PREFIX}" = "BECOME_NEXT_PREFIX" ]; then
+                _LEADER_PREFIX="${_COMPRESSED_ITEM}"
+                _COMPRESSED_ITEM=IGNORE
+            elif [ "${_PREFIX}" = "FOLLOW_PREFIX"  ]; then
+                _PREFIX="${_LEADER_PREFIX}"
+            fi
+            break
+        fi
+    done
+    if [ "${_COMPRESSED_ITEM}" = "IGNORE" ]; then
+        continue
+    elif [ -z "${_COMPRESSED_ITEM}" ]; then
+        _LAST_PREFIX=''
+        printf '\n\r%s' "${_LINE}"
+    else
+        if [ "${_PREFIX}" != "${_LAST_PREFIX}" ]; then
+            printf '\n\r# apt_get_digested: %s' "${_PREFIX}"
+            _LAST_PREFIX="${_PREFIX}"
+        fi
+        printf ' %s' "${_COMPRESSED_ITEM}"
+    fi
+done
+printf '\r\n\n'
+}
diff --git a/bookworm/scripts/lib/apt_get_edited b/bookworm/scripts/lib/apt_get_edited
deleted file mode 100644 (file)
index 960e4ff..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-. lib/abort_if_command_unknown
-apt_get_edited() {
-
-abort_if_command_unknown calc
-
-_SEDS=\
-'|\(Reading database \.\.\. .*|IGNORE
-|Generation complete.|IGNORE
-|Preconfiguring packages \.\.\.|IGNORE
-|Preparing to unpack [[:print:]]+ \.\.\.|IGNORE
-|Unpacking [[:print:]]+ \([[:print:]]+\)( over \([[:print:]]+\))? \.\.\.|IGNORE
-Adding diversion(s):|Adding '"'"'diversion of ([[:print:]]+) to ([[:print:]]+) by ([[:print:]]+)'"'"'| \3:[\1 → \2]
-Created symlink(s):|Created symlink '"'"'([[:print:]]+)'"'"' → '"'"'([[:print:]]+)'"'"'\.| [\1 → \2]
-FOLLOW_PREFIX|([[:print:]]+) depends on ([[:print:]]+)( \([>=]+ [[:print:]]+\))?\.|[\2 → \1]
-Installing new version of config file(s):|Installing new version of config file ([[:print:]]+) \.\.\.|\1
-Processing triggers for:|Processing triggers for ([[:print:]]+) \([[:print:]]+\) \.\.\.|\1
-Purging configuration files:|Purging configuration files for ([[:print:]]+) \([[:print:]]+\) \.\.\.|\1
-Removing:|Removing ([[:print:]]+) \([[:print:]]+\) \.\.\.|\1
-Removing diversion(s):|Removing '"'"'diversion of ([[:print:]]+) to ([[:print:]]+) by ([[:print:]]+)| \3:[\1 → \2]
-Removing obsolete conffile(s):|Removing obsolete conffile ([[:print:]]+) \.\.\.|\1
-Selecting previously unselected: |Selecting previously unselected package ([[:print:]]+)\.|\1
-Setting up:|Setting up ([[:print:]]+) \([[:print:]]+\) \.\.\.|\1
-Updating to current default:|Updating ([[:print:]]+) to current default.|\1
-disabled or static unit, so not starting:|([[:print:]]+) is a disabled or a static unit, not starting it\.|\1
-disabled or static unit not running, so not starting:|([[:print:]]+) is a disabled or a static unit not running, not starting it\.|\1
-BECOME_NEXT_PREFIX|dpkg: ([[:print:]]+): dependency problems, but removing anyway as you requested:|dpkg warns: despite dependency problems, removing \1 – dependencies:
-dpkg warns: unable to delete old directories (not empty):|dpkg: warning: unable to delete old directory '"'"'([[:print:]]+)'"'"': Directory not empty|\1
-update-alternatives: providing in auto mode:|update-alternatives: using ([[:print:]]+) to provide ([[:print:]]+) \(([[:print:]]+)\) in auto mode| [\1 → \2 (\3)]'
-
-_LAST_PREFIX=''
-DEBIAN_FRONTEND=noninteractive apt-get -y $1 2>&1 | while read _LINE; do
-    _LINE=$(printf '%s' "${_LINE}" | tr -d '\r')
-    if [ -z "${_LINE}" ]; then
-        continue
-    fi
-    _COMPRESSED_ITEM=''
-    for _SED in $(printf '%s' "${_SEDS}" | sed 's/ /#WHITESPACE#/g'); do
-        _WHITESPACED=$(printf '%s' "${_SED}" | sed 's/#WHITESPACE#/ /g')
-        _PREFIX=$(printf '%s' "${_WHITESPACED}" | cut -d'|' -f1)
-        _PATTERN=$(printf '^%s$' "${_WHITESPACED}" | cut -d'|' -f2)
-        _REPLACEMENT=$(printf '%s' "${_WHITESPACED}" | cut -d'|' -f3)
-        if printf '%s' "${_LINE}" | grep -E "${_PATTERN}" > /dev/null; then
-            _COMPRESSED_ITEM=$(printf '%s' "${_LINE}" | sed -E "s|${_PATTERN}|${_REPLACEMENT}|")
-            if [ "${_PREFIX}" = "BECOME_NEXT_PREFIX" ]; then
-                _LEADER_PREFIX="${_COMPRESSED_ITEM}"
-                _COMPRESSED_ITEM=IGNORE
-            elif [ "${_PREFIX}" = "FOLLOW_PREFIX"  ]; then
-                _PREFIX="${_LEADER_PREFIX}"
-            fi
-            break
-        fi
-    done
-    if [ "${_COMPRESSED_ITEM}" = "IGNORE" ]; then
-        continue
-    elif [ -z "${_COMPRESSED_ITEM}" ]; then
-        _LAST_PREFIX=''
-        printf '\n\r%s' "${_LINE}"
-    else
-        if [ "${_PREFIX}" != "${_LAST_PREFIX}" ]; then
-            printf '\n\r# apt_get_edited: %s' "${_PREFIX}"
-            _LAST_PREFIX="${_PREFIX}"
-        fi
-        printf ' %s' "${_COMPRESSED_ITEM}"
-    fi
-done
-printf '\r\n\n'
-}
index 9c3ace46bd43401d867479f66387928d7fbd06db..c6125443cf9b2b8451a205a8d7d62fdd532a88ed 100644 (file)
@@ -1,3 +1,4 @@
+. lib/apt_get_digested
 . lib/constants_user  # USERNAME
 . lib/copy_dirtrees_of_tags
 . lib/minimize_installation
@@ -14,7 +15,7 @@ _INSTALL_TAGS="$4"
 minimize_installation ${_INSTALL_TAGS}
 
 prefixed_msg 'And now: dist-upgrade …'
-apt_get_edited '-q -q dist-upgrade' 
+apt_get_digested '-q -q dist-upgrade' 
 
 prefixed_msg "Setting up user: ${USERNAME}"
 adduser --quiet --disabled-password --gecos "" "${USERNAME}"
index 941e262c799fe692c1f9f647bf0b64e47061d0ca..4bcdacec2586d3a2fe36c09c876b05940b25475d 100644 (file)
@@ -1,4 +1,4 @@
-. lib/apt_get_edited
+. lib/apt_get_digested
 . lib/prefixed_msg
 ensure_packages_of_tags() {
 prefixed_msg_init '# ensure_packages_of_tags: '
@@ -15,7 +15,7 @@ for _TAG in $@; do
         echo "nothing to install."
     else
         echo "ensuring installation of: ${_PACKAGES}"
-        apt_get_edited "-q -q -o Dpkg::Options::=--force-confnew install ${_PACKAGES}"
+        apt_get_digested "-q -q -o Dpkg::Options::=--force-confnew install ${_PACKAGES}"
     fi
 done
 prefixed_msg 'finished'
index 7c993d2f0b1d3ac4e96f21a8d94df64b0d9c981b..366625afe37f5441a299746cb0fd1e6a8fe518b0 100644 (file)
@@ -1,4 +1,4 @@
-. lib/apt_get_edited
+. lib/apt_get_digested
 . lib/ensure_packages_of_tags
 . lib/prefixed_msg
 minimize_installation() {
@@ -37,7 +37,7 @@ prefixed_msg 'install or mark as manually installed packages from our own select
 ensure_packages_of_tags ${_INSTALL_TAGS} 
 
 prefixed_msg 'run autopurge to get rid of all unwanted packages …'
-apt_get_edited '-q -q autopurge'
+apt_get_digested '-q -q autopurge'
 
 prefixed_msg 'finished'
 prefixed_msg_exit
index b1b32fc57acd9b7d100ac78471e72ad3dc66df05..dcb92646a46e972a8529be678c56336d2e1f33e8 100644 (file)
@@ -1,9 +1,10 @@
 prefixed_msg_init() {
-    prefixed_msg_OLD_PREFIX="${prefixed_msg_PREFIX}"
+    prefixed_msg_OLD_PREFIX="${prefixed_msg_PREFIX}|${prefixed_msg_OLD_PREFIX}"
     prefixed_msg_PREFIX="$1"
 }
 prefixed_msg_exit() {
-    prefixed_msg_PREFIX="${prefixed_msg_OLD_PREFIX}"
+    prefixed_msg_PREFIX=$(echo "${prefixed_msg_OLD_PREFIX}" | cut -d'|' -f1)
+    prefixed_msg_OLD_PREFIX=$(echo "${prefixed_msg_OLD_PREFIX}" | cut -d'|' -f2-)
 }
 prefixed_msg() {
     printf '%s%s\n' "${prefixed_msg_PREFIX}" "$1"
diff --git a/testing/scripts/lib/apt_get_edited b/testing/scripts/lib/apt_get_edited
deleted file mode 120000 (symlink)
index 82f1893..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../../../trixie/scripts/lib/apt_get_edited
\ No newline at end of file