From b2abcf95b33fc3c24855da83bc71112098e849b4 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Jun 2014 14:19:49 -0400 Subject: use mv_acl --- cron-jobs/ftpdir-cleanup | 4 ++-- cron-jobs/sourceballs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cron-jobs/ftpdir-cleanup b/cron-jobs/ftpdir-cleanup index 04ca6c9..4a2b418 100755 --- a/cron-jobs/ftpdir-cleanup +++ b/cron-jobs/ftpdir-cleanup @@ -12,9 +12,9 @@ clean_pkg() { if [ -h "$pkg" ]; then rm -f "$pkg" "$pkg.sig" else - mv -f "$pkg" "$CLEANUP_DESTDIR" + mv_acl "$pkg" "$CLEANUP_DESTDIR/${pkg##*/}" if [ -e "$pkg.sig" ]; then - mv -f "$pkg.sig" "$CLEANUP_DESTDIR" + mv_acl "$pkg.sig" "$CLEANUP_DESTDIR/${pkg##*/}.sig" fi touch "${CLEANUP_DESTDIR}/${pkg##*/}" fi diff --git a/cron-jobs/sourceballs b/cron-jobs/sourceballs index 5ce7cfd..b172685 100755 --- a/cron-jobs/sourceballs +++ b/cron-jobs/sourceballs @@ -96,7 +96,7 @@ for repo in "${PKGREPOS[@]}"; do pushd "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}/${pkgbase}" >/dev/null makepkg --nocolor --allsource --ignorearch # >/dev/null 2>&1 if [ $? -eq 0 ] && [ -f "${pkgbase}-${pkgver}${SRCEXT}" ]; then - mv "${pkgbase}-${pkgver}${SRCEXT}" "${FTP_BASE}/${SRCPOOL}" + 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" newpkgs+=("${pkgbase}-${pkgver}${SRCEXT}") @@ -132,7 +132,7 @@ if [ ${#old_pkgs[@]} -ge 1 ]; then for old_pkg in "${old_pkgs[@]}"; do msg2 '%s' "${old_pkg}" if ! "${SOURCE_CLEANUP_DRYRUN}"; then - mv "$FTP_BASE/${SRCPOOL}/${old_pkg}" "${SOURCE_CLEANUP_DESTDIR}" + mv_acl "$FTP_BASE/${SRCPOOL}/${old_pkg}" "${SOURCE_CLEANUP_DESTDIR}/${old_pkg}" touch "${SOURCE_CLEANUP_DESTDIR}/${old_pkg}" fi done -- cgit v1.2.3-2-g168b From b3c27405fb9e2686d3db9ee23ca616dc6b93b1f3 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Jun 2014 14:20:35 -0400 Subject: silly whitespace and similar fidling --- cron-jobs/repo-sanity-check | 8 +++----- cron-jobs/sourceballs2 | 2 +- db-check-nonfree | 2 +- db-functions | 4 ++-- db-update | 2 +- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/cron-jobs/repo-sanity-check b/cron-jobs/repo-sanity-check index 012b544..86f9629 100755 --- a/cron-jobs/repo-sanity-check +++ b/cron-jobs/repo-sanity-check @@ -1,5 +1,5 @@ #!/bin/bash -# Solves issue165 +# Solves issue165... on the old flyspray install. I have no idea what issue that was. . "$(dirname "$(readlink -e "$0")")/../config" . "$(dirname "$(readlink -e "$0")")/../db-functions" @@ -46,12 +46,10 @@ for _repo in "${PKGREPOS[@]}"; do <(printf '%s\n' "${on_repo[@]}" | sort -u) )) # Remove them from databases, ftpdir-cleanup will take care of the rest - find "${FTP_BASE}/${_repo}" -name "*.db.tar.?z" -exec \ - repo-remove {} "${remove[@]}" >/dev/null 2>&1 \; + find "${FTP_BASE}/${_repo}" -name "*.db.tar.?z" \ + -exec repo-remove {} "${remove[@]}" >/dev/null 2>&1 \; msg2 "Removed the following packages:" plain '%s' "${remove[@]}" done - -exit $? diff --git a/cron-jobs/sourceballs2 b/cron-jobs/sourceballs2 index c431e9f..e935f86 100755 --- a/cron-jobs/sourceballs2 +++ b/cron-jobs/sourceballs2 @@ -13,7 +13,7 @@ pushd "${WORKDIR}" >/dev/null script_lock -#adjust the nice level to run at a lower priority +# Adjust the nice level to run at a lower priority renice +10 -p $$ > /dev/null # Create a list of all available source package file names diff --git a/db-check-nonfree b/db-check-nonfree index c1673c3..37b7cf6 100755 --- a/db-check-nonfree +++ b/db-check-nonfree @@ -4,7 +4,7 @@ . "$(dirname "$(readlink -e "$0")")/db-functions" if [ $# -ge 1 ]; then - warning "Calling %s with a specific repository is not supported" "${0##*/}" + error "Calling %s with a specific repository is not supported" "${0##*/}" exit 1 fi diff --git a/db-functions b/db-functions index 51fc1bd..accc508 100644 --- a/db-functions +++ b/db-functions @@ -188,7 +188,7 @@ repo_lock () { while [ "$_count" -le "$_trial" ] || "$_lockblock" ; do if ! mkdir "$LOCKDIR" >/dev/null 2>&1 ; then _owner="$(/usr/bin/stat -c %U "$LOCKDIR")" - warning "Repo [%s] (%s) is already locked by %s." "$1" "$2" "$_owner" + warning "Repo [%s] (%s) is already locked by %s." "${1}" "${2}" "$_owner" msg2 "Retrying in %d seconds..." "$LOCK_DELAY" else LOCKS+=("$1.$2") @@ -490,7 +490,7 @@ set_repo_permission() { if [ -w "${dbfile}" ]; then local group=$(/usr/bin/stat --printf='%G' "$(dirname "${dbfile}")") - chgrp "$group" "${dbfile}" || error "Could not change group of %s to %s" "${dbfile}" "$group" + chgrp "$group" "${dbfile}" || error "Could not change group of %s to %s" "${dbfile}" "$group" chgrp "$group" "${filesfile}" || error "Could not change group of %s to %s" "${filesfile}" "$group" chmod g+w "${dbfile}" || error "Could not set write permission for group %s to %s" "$group" "${dbfile}" chmod g+w "${filesfile}" || error "Could not set write permission for group %s to %s" "$group" "${filesfile}" diff --git a/db-update b/db-update index ced673e..4d2cace 100755 --- a/db-update +++ b/db-update @@ -58,7 +58,7 @@ for repo in "${repos[@]}"; do arch_pkgs=($(getpkgfiles "${STAGING}/${repo}/"*-"${pkgarch}"${PKGEXT} 2>/dev/null)) for pkg in "${arch_pkgs[@]}" "${any_pkgs[@]}"; do pkgfile="${pkg##*/}" - msg2 '%s (%s)' "${pkgfile}" "${pkgarch}" + msg2 "%s (%s)" "${pkgfile}" "${pkgarch}" # any packages might have been moved by the previous run if [ -f "${pkg}" ]; then mv "${pkg}" "$FTP_BASE/${PKGPOOL}" -- cgit v1.2.3-2-g168b From 12faf7365342bcfebb951dd748d48b5db8a1acba Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Jun 2014 14:20:54 -0400 Subject: oops --- db-functions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db-functions b/db-functions index accc508..e45f673 100644 --- a/db-functions +++ b/db-functions @@ -171,7 +171,7 @@ repo_lock () { return 1 fi if [ -f "${FILESLOCKFILE}" ]; then - error "Repo [%s] (%s) is already locked by repo-{add,remove} process %s" "$2" "$2" "$(<"$FILESLOCKFILE")" + error "Repo [%s] (%s) is already locked by repo-{add,remove} process %s" "$1" "$2" "$(<"$FILESLOCKFILE")" return 1 fi -- cgit v1.2.3-2-g168b From 108262939f3b80bc82e1a2eec983944f448f2afd Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Jun 2014 14:21:18 -0400 Subject: db-functions:check_repo_permissions: ARCHES is an array --- db-functions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db-functions b/db-functions index e45f673..ca43259 100644 --- a/db-functions +++ b/db-functions @@ -472,7 +472,7 @@ check_repo_permission() { [ -w "$FTP_BASE/${PKGPOOL}" ] || return 1 local arch - for arch in ${ARCHES}; do + for arch in "${ARCHES[@]}"; do local dir="${FTP_BASE}/${repo}/os/${arch}/" [ -w "${dir}" ] || return 1 [ -f "${dir}${repo}"${DBEXT} -a ! -w "${dir}${repo}"${DBEXT} ] && return 1 -- cgit v1.2.3-2-g168b From 14dc8bc6bf985464c119910eeb22f65f534a57b0 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Jun 2014 14:21:29 -0400 Subject: more quoting fixes --- db-functions | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/db-functions b/db-functions index ca43259..5ccaaad 100644 --- a/db-functions +++ b/db-functions @@ -298,7 +298,7 @@ getpkgfile() { exit 1 fi - echo ${1} + echo "${1}" } getpkgfiles() { @@ -425,11 +425,11 @@ check_splitpkgs() { check_pkgrepos() { local pkgfile=$1 - local pkgname="$(getpkgname ${pkgfile})" + local pkgname="$(getpkgname "${pkgfile}")" [ $? -ge 1 ] && return 1 - local pkgver="$(getpkgver ${pkgfile})" + local pkgver="$(getpkgver "${pkgfile}")" [ $? -ge 1 ] && return 1 - local pkgarch="$(getpkgarch ${pkgfile})" + local pkgarch="$(getpkgarch "${pkgfile}")" [ $? -ge 1 ] && return 1 [ -f "${FTP_BASE}/${PKGPOOL}/${pkgname}-${pkgver}-${pkgarch}"${PKGEXT} ] && return 1 -- cgit v1.2.3-2-g168b From bb6df9198b3dba28e378acf738b0770fb159a1c8 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Jun 2014 14:21:50 -0400 Subject: db-cleanup: obey TMPDIR --- db-cleanup | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/db-cleanup b/db-cleanup index 6ac9747..3b5ea13 100755 --- a/db-cleanup +++ b/db-cleanup @@ -28,6 +28,9 @@ trap 'trap_exit "$(gettext "An unknown error has occurred. Exiting...")"' ERR EXTRAFLAGS=() "${CLEANUP_DRYRUN}" && EXTRAFLAGS+=(--dry-run) +filter=$(mktemp -t "${0##*/}.XXXXXXXXXX") +trap "rm -f -- $(printf %q "$filter")" EXIT + for _repo in "${PKGREPOS[@]}"; do for _arch in "${ARCHES[@]}"; do msg "Getting %s-%s database" "${_repo}" "${_arch}" @@ -43,7 +46,7 @@ for _repo in "${PKGREPOS[@]}"; do bsdtar tf "${dbfile}" | \ cut -d'/' -f1 | \ sort -u | \ - sed "s|$|*|" >> "/tmp/${0##*/}.$$.filter" + sed "s|$|*|" >> "$filter" done done @@ -54,7 +57,7 @@ for POOL in "${PKGPOOLS[@]}" "${SRCPOOLS[@]}"; do msg2 '%s' "${POOL}" rsync "${EXTRAFLAGS[@]}" -va --delete-excluded \ - --include-from="/tmp/${0##*/}.$$.filter" \ + --include-from="$filter" \ --exclude="*" \ "${FTP_BASE}/${POOL}/" \ "${FTP_BASE}/${POOL}/" -- cgit v1.2.3-2-g168b From f8296b65608ea5414de118653b3929493d81a94c Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Jun 2014 14:22:10 -0400 Subject: db-cleanup: clarify message --- db-cleanup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db-cleanup b/db-cleanup index 3b5ea13..989bda1 100755 --- a/db-cleanup +++ b/db-cleanup @@ -63,7 +63,7 @@ for POOL in "${PKGPOOLS[@]}" "${SRCPOOLS[@]}"; do "${FTP_BASE}/${POOL}/" done -msg "Removing symlinks:" +msg "Removing dead symlinks:" find -L "${FTP_BASE}/" -type l "${CLEANUP_DRYRUN}" || find -L "${FTP_BASE}/" -type l -delete -- cgit v1.2.3-2-g168b From e5b35d14b8f81d1ecf1d6eb77aa20c7b7ca303e9 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Jun 2014 14:22:32 -0400 Subject: db-cleanup: delete symlinks in one pass --- db-cleanup | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/db-cleanup b/db-cleanup index 989bda1..efe7397 100755 --- a/db-cleanup +++ b/db-cleanup @@ -64,7 +64,6 @@ for POOL in "${PKGPOOLS[@]}" "${SRCPOOLS[@]}"; do done msg "Removing dead symlinks:" -find -L "${FTP_BASE}/" -type l -"${CLEANUP_DRYRUN}" || find -L "${FTP_BASE}/" -type l -delete - -exit $? +actions=(-print) +"${CLEANUP_DRYRUN}" || actions+=(-delete) +find -L "${FTP_BASE}/" -type l "${actions[@]}" -- cgit v1.2.3-2-g168b From 67e03640968bba58e40f22945f21e220425d6909 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Jun 2014 14:33:36 -0400 Subject: cron-jobs/repo-sanity-check: re-arrange redirectorys to be more clear --- cron-jobs/repo-sanity-check | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cron-jobs/repo-sanity-check b/cron-jobs/repo-sanity-check index 86f9629..c7ee377 100755 --- a/cron-jobs/repo-sanity-check +++ b/cron-jobs/repo-sanity-check @@ -22,7 +22,7 @@ for _repo in "${PKGREPOS[@]}"; do for _pkg in "${pkgname[@]}"; do unset "package_${pkg}" >/dev/null 2>&1 done - + # this fills the on_abs array echo "${pkgname[@]}" done @@ -47,7 +47,7 @@ for _repo in "${PKGREPOS[@]}"; do # Remove them from databases, ftpdir-cleanup will take care of the rest find "${FTP_BASE}/${_repo}" -name "*.db.tar.?z" \ - -exec repo-remove {} "${remove[@]}" >/dev/null 2>&1 \; + -exec repo-remove {} "${remove[@]}" \; >/dev/null 2>&1 msg2 "Removed the following packages:" plain '%s' "${remove[@]}" -- cgit v1.2.3-2-g168b From e0c3d7b0ba452d75a478f2c8505c9b46dabe29b5 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Jun 2014 14:34:09 -0400 Subject: sourceballs: (from Arch): create the workdir with mode 0770 --- cron-jobs/sourceballs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cron-jobs/sourceballs b/cron-jobs/sourceballs index b172685..2895725 100755 --- a/cron-jobs/sourceballs +++ b/cron-jobs/sourceballs @@ -79,7 +79,7 @@ for repo in "${PKGREPOS[@]}"; do fi # Get the sources from svn - mkdir -p "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}" + mkdir -p -m0770 "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}" #svn export -q "${SVNREPO}/${pkgbase}/repos/${repo}-${pkgarch}" \ # "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}/${pkgbase}" >/dev/null 2>&1 -- cgit v1.2.3-2-g168b From 809e7ede093e6348552a9dc3d28b61e669bb49fd Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Jun 2014 14:34:32 -0400 Subject: db-funtions:check_splitpkgs(): use printf instead of a loop --- db-functions | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/db-functions b/db-functions index 5ccaaad..6543d96 100644 --- a/db-functions +++ b/db-functions @@ -404,8 +404,7 @@ check_splitpkgs() { fi local svnnames=($(. "${WORKDIR}/pkgbuilds/${repo}-${_pkgarch}/${_pkgbase}"; echo "${pkgname[@]}")) - for svnname in "${svnnames[@]}"; do - echo "${svnname}" >> "${repo}/${_pkgarch}/${_pkgbase}/svn" + printf '%s\n' "${svnnames[@]}" >> "${repo}/${_pkgarch}/${_pkgbase}/svn" done done popd >/dev/null -- cgit v1.2.3-2-g168b From cdc18bf703f6f6a55053b86c36df3775ed02eea7 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 18 Jun 2014 19:26:57 -0400 Subject: oops --- db-functions | 1 - 1 file changed, 1 deletion(-) diff --git a/db-functions b/db-functions index 6543d96..a4b072b 100644 --- a/db-functions +++ b/db-functions @@ -405,7 +405,6 @@ check_splitpkgs() { local svnnames=($(. "${WORKDIR}/pkgbuilds/${repo}-${_pkgarch}/${_pkgbase}"; echo "${pkgname[@]}")) printf '%s\n' "${svnnames[@]}" >> "${repo}/${_pkgarch}/${_pkgbase}/svn" - done done popd >/dev/null -- cgit v1.2.3-2-g168b