summaryrefslogtreecommitdiff
path: root/extra/coadde/cron-jobs/ftpdir-cleanup
diff options
context:
space:
mode:
Diffstat (limited to 'extra/coadde/cron-jobs/ftpdir-cleanup')
-rwxr-xr-xextra/coadde/cron-jobs/ftpdir-cleanup88
1 files changed, 0 insertions, 88 deletions
diff --git a/extra/coadde/cron-jobs/ftpdir-cleanup b/extra/coadde/cron-jobs/ftpdir-cleanup
deleted file mode 100755
index 4a2b418..0000000
--- a/extra/coadde/cron-jobs/ftpdir-cleanup
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/bin/bash
-
-. "$(dirname "$(readlink -e "$0")")/../config"
-. "$(dirname "$(readlink -e "$0")")/../db-functions"
-
-clean_pkg() {
- local pkg
- local target
-
- if ! "${CLEANUP_DRYRUN}"; then
- for pkg in "$@"; do
- if [ -h "$pkg" ]; then
- rm -f "$pkg" "$pkg.sig"
- else
- mv_acl "$pkg" "$CLEANUP_DESTDIR/${pkg##*/}"
- if [ -e "$pkg.sig" ]; then
- mv_acl "$pkg.sig" "$CLEANUP_DESTDIR/${pkg##*/}.sig"
- fi
- touch "${CLEANUP_DESTDIR}/${pkg##*/}"
- fi
- done
- fi
-}
-
-"${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
- 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}"
- # 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}"
-
- missing_pkgs=($(comm -13 "${WORKDIR}/repo-${repo}-${arch}" "${WORKDIR}/db-${repo}-${arch}"))
- if [ ${#missing_pkgs[@]} -ge 1 ]; then
- error "Missing packages in [%s] (%s)..." "${repo}" "${arch}"
- for missing_pkg in "${missing_pkgs[@]}"; do
- msg2 '%s' "${missing_pkg}"
- done
- fi
-
- old_pkgs=($(comm -23 "${WORKDIR}/repo-${repo}-${arch}" "${WORKDIR}/db-${repo}-${arch}"))
- if [ ${#old_pkgs[@]} -ge 1 ]; then
- msg "Removing old packages from [%s] (%s)..." "${repo}" "${arch}"
- for old_pkg in "${old_pkgs[@]}"; do
- msg2 '%s' "${old_pkg}"
- clean_pkg "${FTP_BASE}/${repo}/os/${arch}/${old_pkg}"
- done
- fi
- done
-done
-
-# get a list of all available packages in the pacakge pool
-find "$FTP_BASE/${PKGPOOL}" -name "*${PKGEXT}" -printf '%f\n' | sort > "${WORKDIR}/pool"
-# create a list of packages in our db
-cat "${WORKDIR}/db-"* | sort -u > "${WORKDIR}/db"
-
-old_pkgs=($(comm -23 "${WORKDIR}/pool" "${WORKDIR}/db"))
-if [ ${#old_pkgs[@]} -ge 1 ]; then
- msg "Removing old packages from package pool..."
- for old_pkg in "${old_pkgs[@]}"; do
- msg2 '%s' "${old_pkg}"
- clean_pkg "$FTP_BASE/${PKGPOOL}/${old_pkg}"
- done
-fi
-
-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..."
- for old_pkg in "${old_pkgs[@]}"; do
- msg2 '%s' "${old_pkg}"
- if ! "${CLEANUP_DRYRUN}"; then
- rm -f "${CLEANUP_DESTDIR}/${old_pkg}"
- rm -f "${CLEANUP_DESTDIR}/${old_pkg}.sig"
- fi
- done
-fi
-
-for repo in "${PKGREPOS[@]}"; do
- for arch in "${ARCHES[@]}"; do
- repo_unlock "${repo}" "${arch}"
- done
-done
-
-script_unlock