1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-01 05:45:45 +00:00
freebsd-ports/Tools/portbuild/scripts/prunebad
Kris Kennaway f71e690779 Verify the archive integrity of a package set, and move aside any that
are found to be bad.  Not currently in use, since we do not experience
package corruption and this takes quite a while to run.
2004-03-08 02:01:24 +00:00

45 lines
882 B
Bash

#!/bin/sh
# configurable variables
pb=/var/portbuild
if [ $# -ne 2 ]; then
echo "prunebad <arch> <branch>"
exit 1
fi
arch=$1
branch=$2
shift 2
. ${pb}/${arch}/portbuild.conf
. ${pb}/scripts/buildenv
buildenv ${pb} ${arch} ${branch}
cd ${pb}/${arch}/${branch}
if [ -f .packagelock ]; then exit; fi
touch .packagelock
cd packages/All
if [ ! -f .packagestamp ]; then
newfiles=$(find . -name \*${PKGSUFFIX})
else
newfiles=$(find . -name \*${PKGSUFFIX} -newer ../../.packagestamp)
fi
touch ../../.packagestamp
echo Checking $newfiles
mkdir -p ${pb}/${arch}/${branch}/bad
echo "checking packages"
for i in ${newfiles}; do
if ! ${PKGZIPCMD} -t $i; then
echo "Warning: package $i is bad, moving to ${pb}/${arch}/${branch}/bad"
# the latest link will be left behind...
mv $i ${pb}/${arch}/${branch}/bad
rm ../*/$i
fi
done
cd ../..
rm .packagelock