[arch-projects] [dbscripts] [PATCH v2 1/5] Use even more bashisms.
Eli Schwartz
eschwartz at archlinux.org
Mon Feb 19 20:11:41 UTC 2018
Catch some cases that were missed in the previous run.
Signed-off-by: Eli Schwartz <eschwartz at archlinux.org>
---
This patch is new + refactor some changes from:
ftpdir-cleanup,sourceballs: replace external find command with bash globbing
cron-jobs/devlist-mailer | 6 +++---
cron-jobs/ftpdir-cleanup | 14 +++++++-------
cron-jobs/integrity-check | 2 +-
cron-jobs/sourceballs | 12 ++++++------
cron-jobs/update-web-db | 6 +++---
5 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/cron-jobs/devlist-mailer b/cron-jobs/devlist-mailer
index ca2e46b..65a5483 100755
--- a/cron-jobs/devlist-mailer
+++ b/cron-jobs/devlist-mailer
@@ -7,17 +7,17 @@ LIST="arch-dev-public at archlinux.org"
FROM="repomaint at archlinux.org"
SUBJECT="Repository Maintenance $(date +"%d-%m-%Y")"
-if [ $# -ge 1 ]; then
+if (( $# >= 1 )); then
SUBJECT="$1 $(date +"%d-%m-%Y")"
fi
-if [ $# -ge 2 ]; then
+if (( $# >= 2 )); then
LIST="$2"
fi
stdin="$(cat)"
#echo used to strip whitespace for checking for actual data
-if [ -n "$(echo $stdin)" ]; then
+if [[ -n "$(echo $stdin)" ]]; then
echo "Subject: $SUBJECT
To: $LIST
diff --git a/cron-jobs/ftpdir-cleanup b/cron-jobs/ftpdir-cleanup
index 2f3d5aa..c771950 100755
--- a/cron-jobs/ftpdir-cleanup
+++ b/cron-jobs/ftpdir-cleanup
@@ -9,11 +9,11 @@ clean_pkg() {
if ! ${CLEANUP_DRYRUN}; then
for pkg in "$@"; do
- if [ -h "$pkg" ]; then
+ if [[ -h $pkg ]]; then
rm -f "$pkg" "$pkg.sig"
else
mv_acl "$pkg" "$CLEANUP_DESTDIR/${pkg##*/}"
- if [ -e "$pkg.sig" ]; then
+ if [[ -e $pkg.sig ]]; then
mv_acl "$pkg.sig" "$CLEANUP_DESTDIR/${pkg##*/}.sig"
fi
touch "${CLEANUP_DESTDIR}/${pkg##*/}"
@@ -34,7 +34,7 @@ ${CLEANUP_DRYRUN} && warning 'dry run mode is active'
for repo in ${PKGREPOS[@]}; do
for arch in ${ARCHES[@]}; do
- if [ ! -f "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT}" ]; then
+ if [[ ! -f ${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT} ]]; then
continue
fi
# get a list of actual available package files
@@ -43,7 +43,7 @@ for repo in ${PKGREPOS[@]}; do
bsdtar -xOf "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT}" | awk '/^%FILENAME%/{getline;print}' | sort > "${WORKDIR}/db-${repo}-${arch}"
missing_pkgs=($(comm -13 "${WORKDIR}/repo-${repo}-${arch}" "${WORKDIR}/db-${repo}-${arch}"))
- if [ ${#missing_pkgs[@]} -ge 1 ]; then
+ if (( ${#missing_pkgs[@]} >= 1 )); then
error "Missing packages in [%s] (%s)..." "$repo" "$arch"
for missing_pkg in ${missing_pkgs[@]}; do
msg2 "${missing_pkg}"
@@ -51,7 +51,7 @@ for repo in ${PKGREPOS[@]}; do
fi
old_pkgs=($(comm -23 "${WORKDIR}/repo-${repo}-${arch}" "${WORKDIR}/db-${repo}-${arch}"))
- if [ ${#old_pkgs[@]} -ge 1 ]; then
+ if (( ${#old_pkgs[@]} >= 1 )); then
msg "Removing old packages from [%s] (%s)..." "$repo" "$arch"
for old_pkg in ${old_pkgs[@]}; do
msg2 "${old_pkg}"
@@ -67,7 +67,7 @@ find "$FTP_BASE/${PKGPOOL}" -name "*${PKGEXT}" -printf '%f\n' | sort > "${WORKDI
find "${WORKDIR}" -maxdepth 1 -type f -name 'db-*' -exec cat {} \; | sort -u > "${WORKDIR}/db"
old_pkgs=($(comm -23 "${WORKDIR}/pool" "${WORKDIR}/db"))
-if [ ${#old_pkgs[@]} -ge 1 ]; then
+if (( ${#old_pkgs[@]} >= 1 )); then
msg "Removing old packages from package pool..."
for old_pkg in ${old_pkgs[@]}; do
msg2 "${old_pkg}"
@@ -76,7 +76,7 @@ if [ ${#old_pkgs[@]} -ge 1 ]; then
fi
old_pkgs=($(find ${CLEANUP_DESTDIR} -type f -name "*${PKGEXT}" -mtime +${CLEANUP_KEEP} -printf '%f\n'))
-if [ ${#old_pkgs[@]} -ge 1 ]; then
+if (( ${#old_pkgs[@]} >= 1 )); then
msg "Removing old packages from the cleanup directory..."
for old_pkg in ${old_pkgs[@]}; do
msg2 "${old_pkg}"
diff --git a/cron-jobs/integrity-check b/cron-jobs/integrity-check
index 211a24b..f1e75ab 100755
--- a/cron-jobs/integrity-check
+++ b/cron-jobs/integrity-check
@@ -7,7 +7,7 @@ dirname="$(dirname $0)"
script_lock
-if [ $# -ne 1 ]; then
+if (( $# != 1 )); then
die "usage: ${0##*/} <mailto>"
fi
mailto=$1
diff --git a/cron-jobs/sourceballs b/cron-jobs/sourceballs
index 9ab4e98..25a8abb 100755
--- a/cron-jobs/sourceballs
+++ b/cron-jobs/sourceballs
@@ -21,7 +21,7 @@ renice +10 -p $$ > /dev/null
for repo in ${PKGREPOS[@]}; do
for arch in ${ARCHES[@]}; do
# Repo does not exist; skip it
- if [ ! -f "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT}" ]; then
+ if [[ ! -f ${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT} ]]; then
continue
fi
bsdtar -xOf "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT}" \
@@ -81,7 +81,7 @@ for repo in ${PKGREPOS[@]}; do
mkdir -p -m0770 "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}"
arch_svn export -q "${SVNREPO}/${pkgbase}/repos/${repo}-${pkgarch}" \
"${WORKDIR}/pkgbuilds/${repo}-${pkgarch}/${pkgbase}" >/dev/null 2>&1
- if [ $? -ge 1 ]; then
+ if (( $? >= 1 )); then
failedpkgs+=("${pkgbase}-${pkgver}${SRCEXT}")
continue
fi
@@ -89,7 +89,7 @@ for repo in ${PKGREPOS[@]}; do
# Build the actual source package
pushd "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}/${pkgbase}" >/dev/null
makepkg --nocolor --allsource --ignorearch --skippgpcheck --config "${dirname}/makepkg.conf" >"${WORKDIR}/${pkgbase}.log" 2>&1
- if [ $? -eq 0 ] && [ -f "${pkgbase}-${pkgver}${SRCEXT}" ]; then
+ if (( $? == 0 )) && [[ -f ${pkgbase}-${pkgver}${SRCEXT} ]]; then
mv_acl "${pkgbase}-${pkgver}${SRCEXT}" "${FTP_BASE}/${SRCPOOL}/${pkgbase}-${pkgver}${SRCEXT}"
# Avoid creating the same source package for every arch
echo "${pkgbase}-${pkgver}${SRCEXT}" >> "${WORKDIR}/available-src-pkgs"
@@ -121,7 +121,7 @@ find "${WORKDIR}" -maxdepth 1 -type f -name 'expected-src-pkgs' -exec cat {} \;
find "${WORKDIR}" -maxdepth 1 -type f -name 'available-src-pkgs' -exec cat {} \; | sort -u > "${WORKDIR}/available-src-pkgs.sort"
old_pkgs=($(comm -23 "${WORKDIR}/available-src-pkgs.sort" "${WORKDIR}/expected-src-pkgs.sort"))
-if [ ${#old_pkgs[@]} -ge 1 ]; then
+if (( ${#old_pkgs[@]} >= 1 )); then
msg "Removing old source packages..."
${SOURCE_CLEANUP_DRYRUN} && warning 'dry run mode is active'
for old_pkg in ${old_pkgs[@]}; do
@@ -134,7 +134,7 @@ if [ ${#old_pkgs[@]} -ge 1 ]; then
fi
old_pkgs=($(find ${SOURCE_CLEANUP_DESTDIR} -type f -name "*${SRCEXT}" -mtime +${SOURCE_CLEANUP_KEEP} -printf '%f\n'))
-if [ ${#old_pkgs[@]} -ge 1 ]; then
+if (( ${#old_pkgs[@]} >= 1 )); then
msg "Removing old source packages from the cleanup directory..."
for old_pkg in ${old_pkgs[@]}; do
msg2 "${old_pkg}"
@@ -142,7 +142,7 @@ if [ ${#old_pkgs[@]} -ge 1 ]; then
done
fi
-if [ -f "${WORKDIR}/makepkg-fail.log" ]; then
+if [[ -f ${WORKDIR}/makepkg-fail.log ]]; then
msg "Log of failed packages"
cat "${WORKDIR}/makepkg-fail.log"
fi
diff --git a/cron-jobs/update-web-db b/cron-jobs/update-web-db
index 23af067..c859ce0 100755
--- a/cron-jobs/update-web-db
+++ b/cron-jobs/update-web-db
@@ -27,7 +27,7 @@ renice +5 -p $$ > /dev/null
echo "%s: Updating DB at %s" "$cmd" "$(date)" >> "${LOGOUT}"
# source our virtualenv if it exists
-if [ -f "$ENVPATH" ]; then
+if [[ -f "$ENVPATH" ]]; then
. "$ENVPATH"
fi
@@ -47,7 +47,7 @@ for repo in ${REPOS[@]}; do
for arch in ${ARCHES[@]}; do
repo_lock ${repo} ${arch} || exit 1
dbfile="/srv/ftp/${repo}/os/${arch}/${repo}${dbfileext}"
- if [ -f "${dbfile}" ]; then
+ if [[ -f ${dbfile} ]]; then
mkdir -p "${WORKDIR}/${repo}/${arch}"
cp "${dbfile}" "${WORKDIR}/${repo}/${arch}/${repo}${dbfileext}"
fi
@@ -60,7 +60,7 @@ pushd $SPATH >/dev/null
for repo in ${REPOS[@]}; do
for arch in ${ARCHES[@]}; do
dbcopy="${WORKDIR}/${repo}/${arch}/${repo}${dbfileext}"
- if [ -f "${dbcopy}" ]; then
+ if [[ -f ${dbcopy} ]]; then
echo "Updating ${repo}-${arch}" >> "${LOGOUT}"
./manage.py reporead ${flags} ${arch} "${dbcopy}" >> "${LOGOUT}" 2>&1
echo "" >> "${LOGOUT}"
--
2.16.2
More information about the arch-projects
mailing list