home · contact · privacy
Fixes.
authorChristian Heller <c.heller@plomlompom.de>
Thu, 21 Aug 2025 09:13:23 +0000 (11:13 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Thu, 21 Aug 2025 09:13:23 +0000 (11:13 +0200)
bookworm/scripts/lib/copy_dirtrees_of_tags.sh
bookworm/scripts/lib/tagdir_parsing.sh
trixie/copy/all/home [deleted symlink]
trixie/copy/all/root [deleted symlink]
trixie/copy/desktop/home/plom/.local/bin/backlight
trixie/copy/desktop/home/plom/.local/bin/borgplom
trixie/copy/desktop/home/plom/.local/bin/make_secrets
trixie/copy/desktop/home/plom/.local/bin/vol
trixie/copy/t490s/home/plom/.nonpath_bins/status.sh
trixie/scripts/lib/core_setup.sh
trixie/scripts/update_preseed.sh

index 24f927ebc72fd5c1b06379ae577102750637d59d..575adccab2df22a55e25926cc27fc92547707273 100644 (file)
@@ -1,46 +1,58 @@
 . lib/tagdir_parsing.sh
 
 copy_dirtrees_of_tags() {
+    local PATHS_WRITTEN=
+
     _copy_dirtree() {
-        for _PATH_REL in $(tagdir_parsing__relpaths); do
-            _FILENAME="$(basename ${_PATH_REL})"
-            _PATH_TARGET_PARENT=/$(dirname "${_PATH_REL}")
+        local PATH_REL
+        for PATH_REL in $(tagdir_parsing__relpaths); do
+            local FILENAME
+            local PATH_TARGET_PARENT
+           local CREATION_SUMMARY
+           local CREATED_PATHS
+
+            FILENAME=$(basename "${PATH_REL}")
+            PATH_TARGET_PARENT=/$(dirname "${PATH_REL}")
 
             # ensure directory by mkdir -p; to avoid later chowning pre-existing directories,
             # collect only what's returned by the command as actually newly created
-            _CREATION_SUMMARY=$(mkdir -pv "${_PATH_TARGET_PARENT}")
-            _CREATED_PATHS=$(echo "${_CREATION_SUMMARY}" | sed -E "s/'\$//g" | sed -E "s/^mkdir: created directory '//g")
-            _PATHS_WRITTEN="${_CREATED_PATHS}\n${_PATHS_WRITTEN}"
+            CREATION_SUMMARY=$(mkdir -pv "${PATH_TARGET_PARENT}")
+            CREATED_PATHS=$(echo "${CREATION_SUMMARY}" | sed -E "s/'\$//g" | sed -E "s/^mkdir: created directory '//g")
+            PATHS_WRITTEN="${CREATED_PATHS}\n${PATHS_WRITTEN}"
 
             # handle dirtree creation instruction files
-            if tagdir_parsing__is_killme "${_FILENAME}"; then
+            if tagdir_parsing__is_killme "${FILENAME}"; then
                 continue
             fi
-            if tagdir_parsing__is_linkme "${_FILENAME}"; then
-                _PARSED=$(tagdir_parsing__parse_linkme "${_PATH_REL}")
-                _PATH_LINK=$(echo "${_PARSED}" | head -1)
-                _LINK_TARGET=$(echo "${_PARSED}" | tail -1)
-                ln -sf "${_LINK_TARGET}" "${_PATH_LINK}"
-                _PATHS_WRITTEN="${_PATH_LINK}\n${_PATHS_WRITTEN}"
+            if tagdir_parsing__is_linkme "${FILENAME}"; then
+                local PARSED
+                local PATH_LINK
+                local LINK_TARGET
+                PARSED=$(tagdir_parsing__parse_linkme "${PATH_REL}")
+                PATH_LINK=$(echo "${PARSED}" | head -1)
+                LINK_TARGET=$(echo "${PARSED}" | tail -1)
+                ln -sf "${LINK_TARGET}" "${PATH_LINK}"
+                PATHS_WRITTEN="${PATH_LINK}\n${PATHS_WRITTEN}"
                 continue
             fi
 
             # actual file copying
-            _CREATION_SUMMARY=$(cp -avL "${_PATH_REL}" "${_PATH_TARGET_PARENT}")
-            _CREATED_PATHS=$(echo "${_CREATION_SUMMARY}" | grep -v -E '^removed ' | sed -E "s/'\$//g" | sed "s/.*' -> '//g")
-            _PATHS_WRITTEN="${_CREATED_PATHS}\n${_PATHS_WRITTEN}"
+            CREATION_SUMMARY=$(cp -avL "${PATH_REL}" "${PATH_TARGET_PARENT}")
+            _CREATED_PATHS=$(echo "${CREATION_SUMMARY}" | grep -v -E '^removed ' | sed -E "s/'\$//g" | sed "s/.*' -> '//g")
+            PATHS_WRITTEN="${CREATED_PATHS}\n${PATHS_WRITTEN}"
         done
     }
 
-    _PATHS_WRITTEN=
     tagdir_parsing__for_tagdir '_copy_dirtree' $@
-    _PATHS_WRITTEN=$(echo "${_PATHS_WRITTEN}" | grep -v -E '^ *$')
+    PATHS_WRITTEN=$(echo "${PATHS_WRITTEN}" | grep -v -E '^ *$')
 
     ## for all paths written into user home directories, chown to respective users
-    for _PATH in ${_PATHS_WRITTEN}; do
-        if [ $(echo "${_PATH}" | grep -E '^/home/' | wc -l) -gt 0 ]; then
-            _USERNAME=$(echo "${_PATH}" | sed -E 's/^\/home\///' | sed -E 's/\/.*//')
-            chown -R "${_USERNAME}:${_USERNAME}" "${_PATH}"
+    local PATH
+    for PATH in ${PATHS_WRITTEN}; do
+        if [ $(echo "${PATH}" | grep -E '^/home/' | wc -l) -gt 0 ]; then
+            local USERNAME
+            USERNAME=$(echo "${PATH}" | sed -E 's/^\/home\///' | sed -E 's/\/.*//')
+            chown -R "${USERNAME}:${USERNAME}" "${PATH}"
         fi
     done
 }
index 6047e404bd5c4fa21b0b639d47750306fd408992..cf87312e2b4fd28d868eeb223c33c1d1aa3fda70 100644 (file)
@@ -3,16 +3,17 @@ tagdir_parsing__is_killme() {
 }
 
 tagdir_parsing__for_tagdir() {
-    _COMMAND=$1
+    local COMMAND=$1
     shift 1 
-    _TAGS=$@
-    for _TAG in ${_TAGS}; do
-        _PATH_TAG="../copy/${_TAG}"
-        if [ ! -d "${_PATH_TAG}" ]; then
+    local TAGS=$@
+    local TAG
+    for TAG in ${TAGS}; do
+        local PATH_TAG="../copy/${TAG}"
+        if [ ! -d "${PATH_TAG}" ]; then
             continue
         fi
-        cd "${_PATH_TAG}"
-        ${_COMMAND}
+        cd "${PATH_TAG}"
+        ${COMMAND}
         cd - > /dev/null
     done
 }
@@ -26,13 +27,17 @@ tagdir_parsing__is_linkme() {
 }
 
 tagdir_parsing__parse_linkme() {
-    _PATH_REL_LINKME=$1 
-    _PATH_REL_LINKME_PARENT=$(dirname "${_PATH_REL_LINKME}")
-    _LINK_TARGET=$(cat "${_PATH_REL_LINKME}" | head -1)
-    _LINK_NAME=$(cat "${_PATH_REL_LINKME}" | tail -1)
-    if [ -z "${_LINK_NAME}" ]; then
-        _LINK_NAME=$(basename "${_LINK_TARGET}")
+    local PATH_REL_LINKME=$1
+    local PATH_REL_LINKME_PARENT
+    local LINK_TARGET
+    local LINK_NAME
+    local PATH_ABS
+    PATH_REL_LINKME_PARENT=$(dirname "${PATH_REL_LINKME}")
+    LINK_TARGET=$(cat "${PATH_REL_LINKME}" | head -1)
+    LINK_NAME=$(cat "${PATH_REL_LINKME}" | tail -1)
+    if [ -z "${LINK_NAME}" ]; then
+        _LINK_NAME=$(basename "${LINK_TARGET}")
     fi
-    _PATH_ABS="/${_PATH_REL_LINKME_PARENT}/${_LINK_NAME}"
-    printf '%s\n%s' "${_PATH_ABS}" "${_LINK_TARGET}"
+    PATH_ABS="/${PATH_REL_LINKME_PARENT}/${LINK_NAME}"
+    printf '%s\n%s' "${PATH_ABS}" "${LINK_TARGET}"
 }
diff --git a/trixie/copy/all/home b/trixie/copy/all/home
deleted file mode 120000 (symlink)
index 0016e74..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../../../bookworm/copy/all/home
\ No newline at end of file
diff --git a/trixie/copy/all/root b/trixie/copy/all/root
deleted file mode 120000 (symlink)
index ab75fb1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../../../bookworm/copy/all/root
\ No newline at end of file
index d2c17110a87bc49a47cae7f3f9f877279d523983..e83ff4ee4b45e022142a89b69254f1e4eb253dcb 100755 (executable)
@@ -1,8 +1,8 @@
 #!/bin/sh
 set -e
 cd $(dirname "$0")
-. lib/abort
-. lib/print_usage
+. lib/abort.sh
+. lib/print_usage.sh
 
 ARG_HELP=--help
 USAGE_DESCRIPTION='Set backlight to maximum, or [INTEGER] percentage of it.'
index ff4ca612365fc898d222946aaa5c0bd49359a200..251b4e1f6621cad4f9c589357f5e759aaf16cb93 100755 (executable)
@@ -1,13 +1,13 @@
 #!/bin/sh
 set -e
 cd $(dirname "$0")
-. lib/abort
-. lib/constants_borg  # PATH_BORG_CONF
-. lib/expect_n_args
-. lib/get_passphrase
-. lib/path_tmp_timestamped
-. lib/print_usage
-. lib/retry_until
+. lib/abort.sh
+. lib/constants_borg.sh  # PATH_BORG_CONF
+. lib/expect_n_args.sh
+. lib/get_passphrase.sh
+. lib/path_tmp_timestamped.sh
+. lib/print_usage.sh
+. lib/retry_until.sh
 cd - > /dev/null
 
 USAGE_DESCRIPTION='Wrapper around certain borgbackup usages.\n\nAvailable commands:'
index 6b29b004ae337a0d8d88cea9aa0dd98999593475..f3a5fe99ad7c6df73b36f11d2cb6beab8f9ac9e6 100755 (executable)
@@ -2,14 +2,14 @@
 set -e
 
 cd $(dirname "$0")
-. lib/abort_if_exists
-. lib/constants_borg  # NAME_BORGAPP, PATH_BORG_CONF
-. lib/constants_secrets  # PATH_REL_SECRETS, PATH_SECRETS, PATH_SECRETS_BORGKEYS, PATH_SECRETS_KDBX, PATH_USER_KDBX
-. lib/constants_ssh  # PATH_USER_SSH 
-. lib/constants_user  # USERNAME
-. lib/copy_and_unmount_secrets
-. lib/mount_secrets
-. lib/prefixed_msg
+. lib/abort_if_exists.sh
+. lib/constants_borg.sh  # NAME_BORGAPP, PATH_BORG_CONF
+. lib/constants_secrets.sh  # PATH_REL_SECRETS, PATH_SECRETS, PATH_SECRETS_BORGKEYS, PATH_SECRETS_KDBX, PATH_USER_KDBX
+. lib/constants_ssh.sh  # PATH_USER_SSH
+. lib/constants_user.sh  # USERNAME
+. lib/copy_and_unmount_secrets.sh
+. lib/mount_secrets.sh
+. lib/prefixed_msg.sh
 
 prefixed_msg_init
 
index 3481e01f90f10dc48e2ff875c2db2690397fa7c1..fa06b9af859ed90dd67948ea334d10acb4453291 100755 (executable)
@@ -1,9 +1,9 @@
 #!/bin/sh
 set -e
 cd $(dirname "$0")
-. lib/abort
-. lib/audio_dev_is_mute
-. lib/print_usage
+. lib/abort.sh
+. lib/audio_dev_is_mute.sh
+. lib/print_usage.sh
 
 MAX_LOUDNESS=150
 
index 950a6ba2af65084afac25640cfd135edb20ce220..7cb3691aa08ed689c9e6d1b7c3e426034b9ec50b 100755 (executable)
@@ -2,7 +2,7 @@
 # see sway-bar(5) and swaybar-protocol(7)
 set -e
 
-. "${HOME}/.plomlib/audio_dev_is_mute"
+. "${HOME}/.plomlib/audio_dev_is_mute.sh"
 
 SYSCLASS_DIR=/sys/class
 
index 114fe5f1e16bdfb1cb2f0aef9f92cda453386c14..1015f3d317fb98d8ccc59f2c94051283d59b1c01 100644 (file)
@@ -5,42 +5,42 @@
 . lib/prefixed_msg.sh
 
 core_setup() {
-prefixed_msg_init 'core_setup'
-prefixed_msg 'starting (performing standard installation setup steps)'
+    prefixed_msg_init 'core_setup'
+    prefixed_msg 'starting (performing standard installation setup steps)'
 
-_HOSTNAME="$1"
-_FQDN="$2"
-_EXTERNAL_IP="$3"
-_INSTALL_TAGS="$4"
+    local HOSTNAME="$1"
+    local FQDN="$2"
+    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
+    prefixed_msg 'And now: dist-upgrade …'
+    apt_digested -q -q dist-upgrade
 
-prefixed_msg "Setting up user: ${USERNAME}"
-adduser --quiet --disabled-password --gecos "" "${USERNAME}"
-usermod -a -G sudo "${USERNAME}"
+    prefixed_msg "Setting up user: ${USERNAME}"
+    adduser --quiet --disabled-password --gecos "" "${USERNAME}"
+    usermod -a -G sudo "${USERNAME}"
 
-prefixed_msg 'Copying over files, directories …'
-copy_dirtrees_of_tags ${_INSTALL_TAGS}
+    prefixed_msg 'Copying over files, directories …'
+    copy_dirtrees_of_tags ${INSTALL_TAGS}
 
-prefixed_msg 'Setting hostname …'
-hostnamectl hostname "${_HOSTNAME}"
+    prefixed_msg 'Setting hostname …'
+    hostnamectl hostname "${HOSTNAME}"
 
-prefixed_msg "Adapting ${_PATH_HOSTS} …"
-_PATH_HOSTS="${PATH_ETC}/hosts"
-if [ -z "${_FQDN}" ]; then
-    sed -i 's/REPLACE_WITH_FQDN/REPLACE_WITH_HOSTNAME.local REPLACE_WITH_HOSTNAME.localdomain/g' "${_PATH_HOSTS}"
-else
-    sed -i 's/REPLACE_WITH_FQDN/'"${_FQDN}"'/g' "${_PATH_HOSTS}"
-    sed -i "s/#REPLACE_WITH_EXTERNAL_IP/${_EXTERNAL_IP}/g" "${_PATH_HOSTS}"
-fi
-sed -i 's/REPLACE_WITH_HOSTNAME/'"${_HOSTNAME}"'/g' "${_PATH_HOSTS}"
+    local PATH_HOSTS="${PATH_ETC}/hosts"
+    prefixed_msg "Adapting ${PATH_HOSTS} …"
+    if [ -z "${FQDN}" ]; then
+        sed -i 's/REPLACE_WITH_FQDN/REPLACE_WITH_HOSTNAME.local REPLACE_WITH_HOSTNAME.localdomain/g' "${PATH_HOSTS}"
+    else
+        sed -i 's/REPLACE_WITH_FQDN/'"${FQDN}"'/g' "${PATH_HOSTS}"
+        sed -i "s/#REPLACE_WITH_EXTERNAL_IP/${EXTERNAL_IP}/g" "${PATH_HOSTS}"
+    fi
+    sed -i 's/REPLACE_WITH_HOSTNAME/'"${HOSTNAME}"'/g' "${PATH_HOSTS}"
 
-prefixed_msg 'Syncing clock …'
-ntpdate-debian -s
+    prefixed_msg 'Syncing clock …'
+    ntpdate-debian -s
 
-prefixed_msg 'finished'
-prefixed_msg_exit
+    prefixed_msg 'finished'
+    prefixed_msg_exit
 }
index e23c201937e771ffec3f7c036c11c9c2846b3e3d..00d1f971941a8af84f1c103e1843f0ead39be069 100755 (executable)
@@ -1,6 +1,7 @@
 #!/bin/sh
 set -e
-cd $(dirname "$0")
+ROOT=$(dirname "$0")
+cd "${ROOT}"
 . lib/abort_if_command_unknown.sh
 . lib/constants_installer.sh  # FILENAME_PRESEED_CFG, PATH_PRESEED_CFG
 . lib/expect_n_args.sh
@@ -12,13 +13,13 @@ prefixed_msg_init
 
 abort_if_command_unknown pmount
 
-expect_n_args 1 4 'DEVICE (e.g. "sdb1") ROOT_PASSWORD WIFI_ESSID WIFI_PASSWORD' $@
+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})"
+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}"
 
@@ -32,11 +33,13 @@ prefixed_msg "Copying ${PATH_PRESEED_CFG} …"
 cp "${PATH_PRESEED_CFG}" "${PATH_MOUNTED_PRESEED_CFG}"
 
 replace_if_provided() {
-    _VAR_NAME="$1"
+    local 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}"
+    local REPLACEMENT
+    REPLACEMENT=$(val_of_var_of_name "${VAR_NAME}")
+    if [ -n "${REPLACEMENT}" ]; then
+        prefixed_msg "Replacing ${VAR_NAME} …"
+        sed -i "s/REPLACE_WITH_${VAR_NAME}/${REPLACEMENT}/g" "${PATH_MOUNTED_PRESEED_CFG}"
     fi
 }
 replace_if_provided ROOT_PASSWORD