@@ -25,7 +25,7 @@ TMPDIR="/var/tmp"
ARCHES=(x86_64)
DBEXT=".db.tar.gz"
FILESEXT=".files.tar.gz"
-PKGEXT=".pkg.tar.?z"
+PKGEXTS=".pkg.tar.?z"
SRCEXT=".src.tar.gz"
# Allowed licenses: get sourceballs only for licenses in this array
@@ -38,7 +38,7 @@ for repo in ${PKGREPOS[@]}; do
continue
fi
# get a list of actual available package files
- find "${FTP_BASE}/${repo}/os/${arch}" -xtype f -name "*${PKGEXT}" -printf '%f\n' | sort > "${WORKDIR}/repo-${repo}-${arch}"
+ find "${FTP_BASE}/${repo}/os/${arch}" -xtype f -name "*${PKGEXTS}" -printf '%f\n' | sort > "${WORKDIR}/repo-${repo}-${arch}"
# get a list of package files defined in the repo db
bsdtar -xOf "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT}" | awk '/^%FILENAME%/{getline;print}' | sort > "${WORKDIR}/db-${repo}-${arch}"
@@ -62,7 +62,7 @@ for repo in ${PKGREPOS[@]}; do
done
# get a list of all available packages in the pacakge pool
-find "$FTP_BASE/${PKGPOOL}" -name "*${PKGEXT}" -printf '%f\n' | sort > "${WORKDIR}/pool"
+find "$FTP_BASE/${PKGPOOL}" -name "*${PKGEXTS}" -printf '%f\n' | sort > "${WORKDIR}/pool"
# create a list of packages in our db
find "${WORKDIR}" -maxdepth 1 -type f -name 'db-*' -exec cat {} \; | sort -u > "${WORKDIR}/db"
@@ -75,7 +75,7 @@ if (( ${#old_pkgs[@]} >= 1 )); then
done
fi
-old_pkgs=($(find ${CLEANUP_DESTDIR} -type f -name "*${PKGEXT}" -mtime +${CLEANUP_KEEP} -printf '%f\n'))
+old_pkgs=($(find ${CLEANUP_DESTDIR} -type f -name "*${PKGEXTS}" -mtime +${CLEANUP_KEEP} -printf '%f\n'))
if (( ${#old_pkgs[@]} >= 1 )); then
msg "Removing old packages from the cleanup directory..."
for old_pkg in ${old_pkgs[@]}; do
@@ -374,8 +374,8 @@ check_pkgrepos() {
local pkgver="$(getpkgver ${pkgfile})" || return 1
local pkgarch="$(getpkgarch ${pkgfile})" || return 1
- [[ -f ${FTP_BASE}/${PKGPOOL}/${pkgname}-${pkgver}-${pkgarch}${PKGEXT} ]] && return 1
- [[ -f ${FTP_BASE}/${PKGPOOL}/${pkgname}-${pkgver}-${pkgarch}${PKGEXT}.sig ]] && return 1
+ [[ -f ${FTP_BASE}/${PKGPOOL}/${pkgname}-${pkgver}-${pkgarch}${PKGEXTS} ]] && return 1
+ [[ -f ${FTP_BASE}/${PKGPOOL}/${pkgname}-${pkgver}-${pkgarch}${PKGEXTS}.sig ]] && return 1
[[ -f ${FTP_BASE}/${PKGPOOL}/${pkgfile##*/} ]] && return 1
[[ -f ${FTP_BASE}/${PKGPOOL}/${pkgfile##*/}.sig ]] && return 1
@@ -49,7 +49,7 @@ for pkgbase in ${args[@]:2}; do
for pkgname in ${pkgnames[@]}; do
for tarch in ${tarches[@]}; do
- getpkgfile "${ftppath_from}/${tarch}/"${pkgname}-${pkgver}-${pkgarch}${PKGEXT} >/dev/null
+ getpkgfile "${ftppath_from}/${tarch}/"${pkgname}-${pkgver}-${pkgarch}${PKGEXTS} >/dev/null
done
done
continue 2
@@ -95,7 +95,7 @@ for pkgbase in ${args[@]:2}; do
for pkgname in ${pkgnames[@]}; do
for tarch in ${tarches[@]}; do
- pkgpath=$(getpkgfile "${ftppath_from}/${tarch}/"${pkgname}-${pkgver}-${pkgarch}${PKGEXT})
+ pkgpath=$(getpkgfile "${ftppath_from}/${tarch}/"${pkgname}-${pkgver}-${pkgarch}${PKGEXTS})
pkgfile="${pkgpath##*/}"
ln -s "../../../${PKGPOOL}/${pkgfile}" ${ftppath_to}/${tarch}/
@@ -9,7 +9,7 @@ if (( $# >= 1 )); then
fi
# Find repos with packages to release
-if ! staging_repos=($(find "${STAGING}" -mindepth 1 -type f -name "*${PKGEXT}" -printf '%h\n' | sort -u)); then
+if ! staging_repos=($(find "${STAGING}" -mindepth 1 -type f -name "*${PKGEXTS}" -printf '%h\n' | sort -u)); then
die "Could not read %s" "$STAGING"
fi
@@ -32,7 +32,7 @@ for repo in ${repos[@]}; do
if ! check_repo_permission "${repo}"; then
die "You don't have permission to update packages in %s" "$repo"
fi
- pkgs=($(getpkgfiles "${STAGING}/${repo}/"*${PKGEXT}))
+ pkgs=($(getpkgfiles "${STAGING}/${repo}/"*${PKGEXTS}))
if (( $? == 0 )); then
for pkg in ${pkgs[@]}; do
if [[ -h ${pkg} ]]; then
@@ -70,10 +70,10 @@ done
for repo in ${repos[@]}; do
msg "Updating [%s]..." "$repo"
- any_pkgs=($(getpkgfiles "${STAGING}/${repo}/"*-any${PKGEXT} 2>/dev/null))
+ any_pkgs=($(getpkgfiles "${STAGING}/${repo}/"*-any${PKGEXTS} 2>/dev/null))
for pkgarch in ${ARCHES[@]}; do
add_pkgs=()
- arch_pkgs=($(getpkgfiles "${STAGING}/${repo}/"*-${pkgarch}${PKGEXT} 2>/dev/null))
+ arch_pkgs=($(getpkgfiles "${STAGING}/${repo}/"*-${pkgarch}${PKGEXTS} 2>/dev/null))
for pkg in ${arch_pkgs[@]} ${any_pkgs[@]}; do
pkgfile="${pkg##*/}"
msg2 "${pkgfile} (${pkgarch})"
@@ -31,7 +31,7 @@ __movePackageToRepo() {
releasePackage extra ${pkgbase}
for arch in ${arches[@]}; do
__movePackageToRepo extra ${pkgbase} ${arch}
- db-repo-add extra ${arch} ${pkgbase}-1-1-${arch}.pkg.tar.xz
+ db-repo-add extra ${arch} ${pkgbase}-1-1-${arch}${PKGEXT}
done
done
@@ -54,7 +54,7 @@ __movePackageToRepo() {
add_pkgs=()
for pkgbase in ${pkgs[@]}; do
__movePackageToRepo extra ${pkgbase} ${arch}
- add_pkgs+=("${pkgbase}-1-1-${arch}.pkg.tar.xz")
+ add_pkgs+=("${pkgbase}-1-1-${arch}${PKGEXT}")
done
db-repo-add extra ${arch} ${add_pkgs[@]}
done
@@ -73,7 +73,7 @@ __movePackageToRepo() {
for pkgbase in ${pkgs[@]}; do
releasePackage extra ${pkgbase}
__movePackageToRepo extra ${pkgbase} any
- db-repo-add extra any ${pkgbase}-1-1-any.pkg.tar.xz
+ db-repo-add extra any ${pkgbase}-1-1-any${PKGEXT}
done
for pkgbase in ${pkgs[@]}; do
@@ -151,8 +151,7 @@ load ../lib/common
local p
releasePackage extra 'pkg-any-a'
for p in "${STAGING}"/extra/*${PKGEXT}; do
- unxz $p
- xz -0 ${p%%.xz}
+ printf '%s\n' "Not a real package" | gpg -v --detach-sign --no-armor --use-agent - > "${p}.sig"
done
run db-update
[ "$status" -ne 0 ]
@@ -82,7 +82,7 @@ __checkRepoRemovedPackage() {
db-remove extra any pkg-any-a
ftpdir-cleanup
- local pkg1='pkg-any-a-1-1-any.pkg.tar.xz'
+ local pkg1="pkg-any-a-1-1-any${PKGEXT}"
checkRemovedPackage extra 'pkg-any-a'
for arch in ${arches[@]}; do
__checkRepoRemovedPackage extra 'pkg-any-a' ${arch}
@@ -138,8 +138,8 @@ __checkRepoRemovedPackage() {
ftpdir-cleanup
- local pkgfilea="pkg-simple-a-1-1-${arch}.pkg.tar.xz"
- local pkgfileb="pkg-simple-b-1-1-${arch}.pkg.tar.xz"
+ local pkgfilea="pkg-simple-a-1-1-${arch}${PKGEXT}"
+ local pkgfileb="pkg-simple-b-1-1-${arch}${PKGEXT}"
for arch in ${arches[@]}; do
touch -d "-$(expr ${CLEANUP_KEEP} + 1)days" ${CLEANUP_DESTDIR}/${pkgfilea}{,.sig}
done
@@ -34,9 +34,9 @@ __buildPackage() {
pkgarches=($(. PKGBUILD; echo ${arch[@]}))
for tarch in ${pkgarches[@]}; do
if [ "${tarch}" == 'any' ]; then
- PKGDEST=${pkgdest} makepkg -c
+ PKGDEST=${pkgdest} makepkg --config "$MAKEPKG_CONF" -c
else
- PKGDEST=${pkgdest} CARCH=${tarch} makepkg -c
+ PKGDEST=${pkgdest} CARCH=${tarch} makepkg --config "$MAKEPKG_CONF" -c
fi
done
@@ -82,6 +82,8 @@ setup() {
local pkg
local r
local a
+ MAKEPKG_CONF="$PWD/../cron-jobs/makepkg.conf"
+ PKGEXT="$(. "$MAKEPKG_CONF"; printf '%s' "$PKGEXT")"
TMP="$(mktemp -d)"
PKGEXT is a makepkg variable referring to a fixed filename suffix, but we were also using it to mean a bash glob referring to candidate filenames. This is wrong, so rename it to PKGEXTS which is more descriptive of its purpose. Exclude the testsuite from this change, as the testsuite actually uses PKGEXT for its intended purpose. Fix the testsuite to consistently use PKGEXT, as it hardcoded the file extension in several cases, and extract its value from the makepkg.conf we ship. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> --- This is new, and renders some old things obsolete. I see no need to jump through more hoops than strictly necessary, plus, lots of this was technically broken anyway -- but it worked because again, the testsuite is not using PKGEXT in the dbscripts sense, rather in the makepkg sense. I'm hoping some of the logic there can be replaced with my --packagelist fixes for makepkg 5.1 as well. config | 2 +- cron-jobs/ftpdir-cleanup | 6 +++--- db-functions | 4 ++-- db-move | 4 ++-- db-update | 8 ++++---- test/cases/db-repo-add.bats | 6 +++--- test/cases/db-update.bats | 3 +-- test/cases/ftpdir-cleanup.bats | 6 +++--- test/lib/common.bash | 6 ++++-- 9 files changed, 23 insertions(+), 22 deletions(-)