summaryrefslogtreecommitdiff
path: root/cron-jobs/ftpdir-cleanup
diff options
context:
space:
mode:
authorAaron Griffin <aaronmgriffin@gmail.com>2008-05-29 15:31:21 -0400
committerAaron Griffin <aaronmgriffin@gmail.com>2008-05-29 15:31:21 -0400
commitfd921f8dc355ac51a8be843a4da052474b22700c (patch)
tree46e4c727be53c760ccbf88bc423064c2bc2ab579 /cron-jobs/ftpdir-cleanup
parentc417aa306de4329322d99f1067f97a35013610b3 (diff)
Move ftpdir-cleanup to misc-scripts
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
Diffstat (limited to 'cron-jobs/ftpdir-cleanup')
-rwxr-xr-xcron-jobs/ftpdir-cleanup116
1 files changed, 0 insertions, 116 deletions
diff --git a/cron-jobs/ftpdir-cleanup b/cron-jobs/ftpdir-cleanup
deleted file mode 100755
index f8c1a8e..0000000
--- a/cron-jobs/ftpdir-cleanup
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/bin/bash
-
-if [ $# -ne 2 ]; then
- echo "usage: $(basename $0) <reponame> <arch>"
- exit 1
-fi
-
-reponame=$1
-arch=$2
-
-##### Arch specific stuff. TODO make this configurable #####
-ftppath="/home/ftp/$reponame/os/$arch/"
-############################################################
-
-if [ ! -d "$ftppath" ]; then
- echo "FTP path '$ftppath' does not exist"
- exit 1
-fi
-
-if [ ! -f /etc/makepkg.conf ]; then
- echo "/etc/makepkg.conf not found! Aborting"
- exit 1
-fi
-
-. /etc/makepkg.conf
-
-getpkgname() {
- local tmp
-
- tmp=${1##*/}
- tmp=${tmp%$PKGEXT}
- tmp=${tmp%-$arch}
- echo ${tmp%-*-*}
-}
-
-getpkgname_ver() {
- local tmp
-
- tmp=${1##*/}
- tmp=${tmp%$PKGEXT}
- echo ${tmp%-$arch}
-}
-
-MISSINGFILES=""
-DELETEFILES=""
-EXTRAFILES=""
-
-TMPDIR=$(mktemp -d /tmp/cleanup.XXXXXX) || exit 1
-
-cd "${TMPDIR}"
-/bin/tar xzf "$ftppath/$reponame.db.tar.$DB_COMPRESSION"
-
-for pkg in *; do
- filename=$(grep -A1 '^%FILENAME%$' "${pkg}/desc" | tail -n1)
- [ -z "${filename}" ] && filename="${pkg}.pkg.tar.gz"
-
- if [ ! -f "${ftppath}/${filename}" ]; then
- MISSINGFILES="${MISSINGFILES} ${filename}"
- else
- pkgname="$(getpkgname ${filename})"
- for otherfile in ${ftppath}/${pkgname}-*; do
- otherfile="$(basename ${otherfile})"
- if [ "${otherfile}" != "${filename}" -a "${pkgname}" = "$(getpkgname ${otherfile})" ]; then
- DELETEFILES="${DELETEFILES} ${otherfile}"
- fi
- done
- fi
-done
-
-cd "$ftppath"
-for pkg in *$PKGEXT; do
- pkgname="$(getpkgname $pkg)"
- for p in ${TMPDIR}/${pkgname}-*; do
- if [ -d "${p}" -a "$(getpkgname $(basename ${p}))" = "${pkgname}" ]; then
- continue 2
- fi
- done
- EXTRAFILES="$EXTRAFILES $pkg"
-done
-
-cd "$ftppath"
-rm -rf ${TMPDIR}
-
-echo "Scan complete for $reponame ($arch) at ${ftppath}"
-if [ -n "$DELETEFILES" ]; then
- echo " The following files are out of date"
- echo " They will be moved to /home/package-cleanup"
- for f in $DELETEFILES; do
- echo " $f"
- done
-fi
-echo ""
-if [ -n "$MISSINGFILES" ]; then
- echo " The following files are missing in the repo"
- for f in $MISSINGFILES; do
- echo " $f"
- done
-fi
-echo ""
-if [ -n "$EXTRAFILES" ]; then
- echo " The following files are in the repo but not the db"
- echo " They will be moved to /home/package-cleanup"
- for f in $EXTRAFILES; do
- echo " $f"
- done
-fi
-
-if [ -n "${DELETEFILES}" ]; then
- mv ${DELETEFILES} /home/package-cleanup/
- echo ""
-fi
-
-if [ -n "${EXTRAFILES}" ]; then
- mv ${EXTRAFILES} /home/package-cleanup/
- echo ""
-fi