summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2022-09-10 23:00:26 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2023-12-14 17:13:11 -0500
commit794ecfb27dc50806f2f2410fdf925277c931e2b9 (patch)
treec847372ae0a7ba52571d7520d1b56a3352b350fd
parenta341100f8109746a8011ad7c36de812be0a56ee6 (diff)
[parabola-dependents]: bypass db sync in DEBUG mode
-rwxr-xr-xparabola-dependents34
1 files changed, 21 insertions, 13 deletions
diff --git a/parabola-dependents b/parabola-dependents
index e55d1f8..baa66e5 100755
--- a/parabola-dependents
+++ b/parabola-dependents
@@ -1,6 +1,7 @@
#!/bin/bash
readonly ABS_DIR=/packages/abslibre
+readonly DEBUG=0
readonly BE_VERBOSE=$( [[ "${1}" == '-v' ]] && echo 1 || echo 0 ) ; (( $BE_VERBOSE )) && shift ;
readonly PKGBUILD_SED_RX='s|/PKGBUILD$|| ; s|([^/]*/)?([^/]+)/([^/]+)$|\2 \3|'
@@ -11,6 +12,7 @@ readonly REPOS=( nonprism{-testing,} nonsystemd{-testing,} libre{-testing,}
kernels{-testing,} testing core extra community{-testing,}
pcr{-testing,} nonprism-multilib{-testing,} nonsystemd-multilib
libre-multilib{-testing,} multilib{-testing,} pcr-multilib{-testing,} )
+readonly TEMP_DB_NAME=parabola-dependents
readonly DUMMY_PKGBUILD='pkgname=%s
pkgver=0.0.0
pkgrel=42
@@ -85,17 +87,22 @@ LogError() # (source_file func_name line_n)
Init()
{
- readonly DB_DIR="$(su $(logname) -c 'mktemp -d -t parabola-dependents-XXXXXXXXXX')"
+ readonly DB_DIR="$( db_dir=$(ls -1 -d /tmp/${TEMP_DB_NAME}.??? 2> /dev/null | head -n 1)
+ [[ -d "${db_dir}" ]] &&
+ echo "${db_dir}" ||
+ su $(logname) -c "mktemp -d -p /tmp -t ${TEMP_DB_NAME}.XXX" )"
readonly CFG_FILE=${DB_DIR}/pacman-all.conf
readonly OPTS="--dbpath=${DB_DIR} --config=${CFG_FILE}"
- printf "[options]\nArchitecture = auto\n" > ${CFG_FILE}
- for repo in ${REPOS[@]}
- do printf "[${repo}]\nInclude = /etc/pacman.d/mirrorlist\n" >> ${CFG_FILE}
- done
-
- Log "updating database ...."
- pacman ${OPTS} -Sy &> /dev/null || true
+ if ! (( DEBUG )) || ! (( $(ls -1 /tmp/${TEMP_DB_NAME}.??? | wc -l) ))
+ then Log "updating database ...."
+ printf "[options]\nArchitecture = auto\n" > ${CFG_FILE}
+ for repo in ${REPOS[@]}
+ do printf "[${repo}]\nInclude = /etc/pacman.d/mirrorlist\n" >> ${CFG_FILE}
+ done
+ pacman ${OPTS} -Sy &> /dev/null
+ else Log "not updating database in DEBUG mode - delete ${DB_DIR} to sync"
+ fi
# create dummy for missing dependency package or sodep
local dep pkgbase dummy_pkg
@@ -111,15 +118,16 @@ Init()
printf "${DUMMY_PKGBUILD}\n" "${pkgbase}" "${dep}" > ./PKGBUILD
su $(logname) -c 'makepkg --force &> /dev/null'
- dummy_pkg=${DEP}-0.0.0-42-$(uname -m).pkg.tar.xz
+ dummy_pkg=${pkgbase}-0.0.0-42-$(uname -m).pkg.tar.xz
[[ -f ./${dummy_pkg} ]]
- repo-add --new parabola-dependents.db.tar ./${dummy_pkg} &> /dev/null
+ repo-add ${TEMP_DB_NAME}.db.tar ./${dummy_pkg} &> /dev/null
Log "dummy package '${pkgbase}' created"
- printf "[parabola-dependents]\nServer = file://${DB_DIR}\n" >> ${CFG_FILE}
+ printf "[${TEMP_DB_NAME}]\nServer = file://${DB_DIR}\n" >> ${CFG_FILE}
+
+ pacman ${OPTS} -Sy &> /dev/null
fi
- pacman ${OPTS} -Sy &> /dev/null
}
IsArchRepo() # (repo)
@@ -205,7 +213,7 @@ PrintReport()
Cleanup()
{
- if [[ -d "${DB_DIR}" && "${DB_DIR}" =~ parabola-dependents ]]
+ if [[ -d "${DB_DIR}" && "${DB_DIR}" =~ ^${TEMP_DB_NAME}\....$ ]] && ! (( DEBUG ))
then rm --force --recursive ${DB_DIR}
fi
}