summaryrefslogtreecommitdiff
path: root/cron-jobs
diff options
context:
space:
mode:
Diffstat (limited to 'cron-jobs')
-rwxr-xr-xcron-jobs/ftpdir-cleanup40
-rwxr-xr-xcron-jobs/integrity-check6
-rwxr-xr-xcron-jobs/repo-sanity-check4
-rwxr-xr-xcron-jobs/sourceballs41
-rw-r--r--cron-jobs/sourceballs.skip24
-rwxr-xr-xcron-jobs/sourceballs24
-rwxr-xr-xcron-jobs/update-abs-tarballs2
-rwxr-xr-xcron-jobs/update-web-db6
8 files changed, 63 insertions, 64 deletions
diff --git a/cron-jobs/ftpdir-cleanup b/cron-jobs/ftpdir-cleanup
index 83e6e17..e42a1a8 100755
--- a/cron-jobs/ftpdir-cleanup
+++ b/cron-jobs/ftpdir-cleanup
@@ -1,7 +1,7 @@
#!/bin/bash
-. "$(dirname $0)/../db-functions"
-. "$(dirname $0)/../config"
+. "$(dirname "$(readlink -e "$0")")/../config"
+. "$(dirname "$(readlink -e "$0")")/../db-functions"
clean_pkg() {
local pkg
@@ -12,16 +12,23 @@ 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}/$(basename ${pkg})"
+ touch "${CLEANUP_DESTDIR}/${pkg##*/}"
fi
done
fi
}
+script_lock
+
+for repo in ${PKGREPOS[@]}; do
+ for arch in ${ARCHES[@]}; do
+ repo_lock ${repo} ${arch} || exit 1
+ done
+done
${CLEANUP_DRYRUN} && warning 'dry run mode is active'
@@ -68,29 +75,6 @@ if [ ${#old_pkgs[@]} -ge 1 ]; then
done
fi
-# cleanup of legacy $repo/os/any directories
-for repo in ${PKGREPOS[@]}; do
- if [ ! -d "${FTP_BASE}/${repo}/os/any" ]; then
- continue
- fi
- if [ -n "$(find "${FTP_BASE}/${repo}/os/any" -type d -empty)" ]; then
- msg "Removing empty legacy directory ${repo}/os/any"
- ${CLEANUP_DRYRUN} || rmdir "${FTP_BASE}/${repo}/os/any"
- continue
- fi
- find "${FTP_BASE}/${repo}/os/any" -name "*${PKGEXT}" -printf '%f\n' | sort > "${WORKDIR}/any-${repo}"
- cat "${WORKDIR}/db-${repo}-"* | sort -u > "${WORKDIR}/all-${repo}"
-
- old_pkgs=($(comm -23 "${WORKDIR}/any-${repo}" "${WORKDIR}/all-${repo}"))
- if [ ${#old_pkgs[@]} -ge 1 ]; then
- msg "Removing old packages from [${repo}] (any)..."
- for old_pkg in ${old_pkgs[@]}; do
- msg2 "${old_pkg}"
- clean_pkg "${FTP_BASE}/${repo}/os/any/${old_pkg}"
- done
- fi
-done
-
old_pkgs=($(find ${CLEANUP_DESTDIR} -type f -name "*${PKGEXT}" -mtime +${CLEANUP_KEEP} -printf '%f\n'))
if [ ${#old_pkgs[@]} -ge 1 ]; then
msg "Removing old packages from the cleanup directory..."
diff --git a/cron-jobs/integrity-check b/cron-jobs/integrity-check
index d4f9694..86a8f1d 100755
--- a/cron-jobs/integrity-check
+++ b/cron-jobs/integrity-check
@@ -1,14 +1,14 @@
#!/bin/bash
-dirname="$(dirname $0)"
+dirname="$(dirname "$(readlink -e "$0")")"
-. "${dirname}/../db-functions"
. "${dirname}/../config"
+. "${dirname}/../db-functions"
script_lock
if [ $# -ne 1 ]; then
- die "usage: $(basename $0) <mailto>"
+ die "usage: ${0##*/} <mailto>"
fi
mailto=$1
diff --git a/cron-jobs/repo-sanity-check b/cron-jobs/repo-sanity-check
index 1ba90a6..2aa7892 100755
--- a/cron-jobs/repo-sanity-check
+++ b/cron-jobs/repo-sanity-check
@@ -1,8 +1,8 @@
#!/bin/bash
# Solves issue165
-. "$(dirname $0)/../db-functions"
-. "$(dirname $0)/../config"
+. "$(dirname "$(readlink -e "$0")")/../db-functions"
+. "$(dirname "$(readlink -e "$0")")/../config"
# Traverse all repos
for _repo in ${PKGREPOS[@]}; do
diff --git a/cron-jobs/sourceballs b/cron-jobs/sourceballs
index ee074bd..1542499 100755
--- a/cron-jobs/sourceballs
+++ b/cron-jobs/sourceballs
@@ -1,8 +1,8 @@
#!/bin/bash
-dirname="$(dirname $(readlink -e $0))"
-. "${dirname}/../db-functions"
+dirname="$(dirname "$(readlink -e "$0")")"
. "${dirname}/../config"
+. "${dirname}/../db-functions"
pushd "${WORKDIR}" >/dev/null
script_lock
@@ -21,10 +21,10 @@ renice +10 -p $$ > /dev/null
for repo in ${PKGREPOS[@]}; do
for arch in ${ARCHES[@]}; do
# Repo does not exist; skip it
- if [ ! -f "${ARCH_BASE}/${repo}/os/${arch}/${repo}${DBEXT}" ]; then
+ if [ ! -f "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT}" ]; then
continue
fi
- bsdtar -xOf "${ARCH_BASE}/${repo}/os/${arch}/${repo}${DBEXT}" \
+ bsdtar -xOf "${FTP_BASE}/${repo}/os/${arch}/${repo}${DBEXT}" \
| awk '/^%NAME%/ { getline b };
/^%BASE%/ { getline b };
/^%VERSION%/ { getline v };
@@ -46,7 +46,7 @@ for repo in ${PKGREPOS[@]}; do
done
# Create a list of all available source package file names
-find "${ARCH_BASE}/${SRCPOOL}" -xtype f -name "*${SRCEXT}" -printf '%f\n' | sort -u > "${WORKDIR}/available-src-pkgs"
+find "${FTP_BASE}/${SRCPOOL}" -xtype f -name "*${SRCEXT}" -printf '%f\n' | sort -u > "${WORKDIR}/available-src-pkgs"
# Check for all packages if we need to build a source package
for repo in ${PKGREPOS[@]}; do
@@ -59,11 +59,11 @@ for repo in ${PKGREPOS[@]}; do
pkgarch=${pkginfo[2]}
pkglicense=(${pkginfo[@]:3})
- # Should this packages be skipped?
+ # Should this package be skipped?
if grep -Fqx "${pkgbase}" "${dirname}/sourceballs.skip"; then
continue
fi
- # Commenting out, we'll sourceball everything
+ # Commenting out, we'll sourceball everything
# Check if the license or .force file does not enforce creating a source package
# if ! (chk_license ${pkglicense[@]} || grep -Fqx "${pkgbase}" "${dirname}/sourceballs.force"); then
# continue
@@ -78,15 +78,10 @@ for repo in ${PKGREPOS[@]}; do
continue
fi
- # Get the sources from svn
- mkdir -p "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}"
- #svn export -q "${SVNREPO}/${pkgbase}/repos/${repo}-${pkgarch}" \
- # "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}/${pkgbase}" >/dev/null 2>&1
-
- # If it's on official repos, nor [libre], nor [libre-testing]
- cp -r "${SVNREPO}/$repo/${pkgbase}" "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}/" >/dev/null 2>&1 || \
- cp -r "${SVNREPO}/libre/${pkgbase}" "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}/" >/dev/null 2>&1 || \
- cp -r "${SVNREPO}/libre-testing/${pkgbase}" "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}/" >/dev/null 2>&1
+ # Get the sources from xbs
+ mkdir -p -m0770 "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}"
+ cp -a "$(xbs releasepath "${pkgbase}" "${repo}" "${pkgarch}")" \
+ "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}/${pkgbase}" >/dev/null 2>&1
if [ $? -ge 1 ]; then
failedpkgs[${#failedpkgs[*]}]="${pkgbase}-${pkgver}${SRCEXT}"
continue
@@ -94,14 +89,15 @@ for repo in ${PKGREPOS[@]}; do
# Build the actual source package
pushd "${WORKDIR}/pkgbuilds/${repo}-${pkgarch}/${pkgbase}" >/dev/null
- makepkg --nocolor --allsource --ignorearch # >/dev/null 2>&1
+ SRCPKGDEST=. makepkg --nocolor --allsource --ignorearch --skippgpcheck >"${WORKDIR}/${pkgbase}.log" 2>&1
if [ $? -eq 0 ] && [ -f "${pkgbase}-${pkgver}${SRCEXT}" ]; then
- mv "${pkgbase}-${pkgver}${SRCEXT}" "${ARCH_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[${#newpkgs[*]}]="${pkgbase}-${pkgver}${SRCEXT}"
else
- failedpkgs[${#failedpkgs[*]}]="${pkgbase}-${pkgver}${SRCEXT}"
+ failedpkgs+=("${pkgbase}-${pkgver}${SRCEXT}")
+ cat "${WORKDIR}/${pkgbase}.log" >> "${WORKDIR}/makepkg-fail.log"
fi
popd >/dev/null
fi
@@ -132,7 +128,7 @@ if [ ${#old_pkgs[@]} -ge 1 ]; then
for old_pkg in ${old_pkgs[@]}; do
msg2 "${old_pkg}"
if ! ${SOURCE_CLEANUP_DRYRUN}; then
- mv "$ARCH_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
@@ -147,4 +143,9 @@ if [ ${#old_pkgs[@]} -ge 1 ]; then
done
fi
+if [ -f "${WORKDIR}/makepkg-fail.log" ]; then
+ msg "Log of failed packages"
+ cat "${WORKDIR}/makepkg-fail.log"
+fi
+
script_unlock
diff --git a/cron-jobs/sourceballs.skip b/cron-jobs/sourceballs.skip
index 14d6f4b..0e1731c 100644
--- a/cron-jobs/sourceballs.skip
+++ b/cron-jobs/sourceballs.skip
@@ -1,14 +1,28 @@
-nexuiz-data
+0ad-data
+alienarena-data
+blobwars-data
+btanks-data
+dangerdeep-data
+egoboo-data
+fillets-ng-data
+flightgear-data
+frogatto-data
+gcompris-data
+naev-data
+openarena-data
+rocksndiamonds-data
+smc-data
+speed-dreams-data
torcs-data
tremulous-data
ufoai-data
-frogatto-data
vdrift-data
-naev-data
-btanks-data
+warmux-data
wesnoth-data
-texlive-bin
+widelands-data
+xonotic-data
texlive-bibtexextra
+texlive-bin
texlive-core
texlive-fontsextra
texlive-formatsextra
diff --git a/cron-jobs/sourceballs2 b/cron-jobs/sourceballs2
index 5644268..bbe227d 100755
--- a/cron-jobs/sourceballs2
+++ b/cron-jobs/sourceballs2
@@ -4,7 +4,7 @@
# Makepkg --allsource every package
# Remove the old sourceballs
-dirname="$(dirname $(readlink -e $0))"
+dirname="$(dirname "$(readlink -e "$0")")"
. "${dirname}/../db-functions"
. "${dirname}/../config"
. "${MAKEPKGCONF}"
@@ -17,7 +17,7 @@ script_lock
renice +10 -p $$ > /dev/null
# Create a list of all available source package file names
-find "${ARCH_BASE}/${SRCPOOL}" -xtype f -name "*${SRCEXT}" -printf '%f\n' | sort -u > "${WORKDIR}/available-src-pkgs"
+find "${FTP_BASE}/${SRCPOOL}" -xtype f -name "*${SRCEXT}" -printf '%f\n' | sort -u > "${WORKDIR}/available-src-pkgs"
pushd "${SVNREPO}" >/dev/null
diff --git a/cron-jobs/update-abs-tarballs b/cron-jobs/update-abs-tarballs
index 824ac34..901cc4b 100755
--- a/cron-jobs/update-abs-tarballs
+++ b/cron-jobs/update-abs-tarballs
@@ -1,6 +1,6 @@
#!/bin/bash
-. "$(dirname $0)/../config"
+. "$(dirname "$(readlink -e "$0")")/../config"
rsync -av --exclude=staging/ parabolagnulinux.org::abstar/ ${FTP_BASE}/
diff --git a/cron-jobs/update-web-db b/cron-jobs/update-web-db
index 6ced4c1..713e75e 100755
--- a/cron-jobs/update-web-db
+++ b/cron-jobs/update-web-db
@@ -1,7 +1,7 @@
#!/bin/bash
-. "$(dirname $0)/../db-functions"
-. "$(dirname $0)/../config"
+. "$(dirname "$(readlink -e "$0")")/../config"
+. "$(dirname "$(readlink -e "$0")")/../db-functions"
# setup paths
SPATH="/srv/http/archweb"
@@ -14,7 +14,7 @@ REPOS=('community-testing' 'multilib-testing' 'multilib' 'community' 'extra' 'te
LOGOUT="/tmp/archweb_update.log"
# figure out what operation to perform
-cmd="$(basename $0)"
+cmd="${0##*/}"
if [[ $cmd != "update-web-db" && $cmd != "update-web-files-db" ]]; then
die "Invalid command name '$cmd' specified!"
fi