diff options
author | kris <kris@FreeBSD.org> | 2004-03-08 02:01:24 +0000 |
---|---|---|
committer | kris <kris@FreeBSD.org> | 2004-03-08 02:01:24 +0000 |
commit | 65530cea5ca32cd9c5f682ed35918b6fd82e8809 (patch) | |
tree | 8d2ab53e01b8f4e4145cfeb8bede371aff040097 /Tools | |
parent | 353c1d8e52d1dec726e52b822f0ed01a1b2c7b7f (diff) | |
download | FreeBSD-ports-65530cea5ca32cd9c5f682ed35918b6fd82e8809.zip FreeBSD-ports-65530cea5ca32cd9c5f682ed35918b6fd82e8809.tar.gz |
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.
Diffstat (limited to 'Tools')
-rw-r--r-- | Tools/portbuild/scripts/prunebad | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Tools/portbuild/scripts/prunebad b/Tools/portbuild/scripts/prunebad new file mode 100644 index 0000000..ddcc709 --- /dev/null +++ b/Tools/portbuild/scripts/prunebad @@ -0,0 +1,45 @@ +#!/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
\ No newline at end of file |