#!/bin/sh # requires "lschanges" set -e ARCHIVE_DIR=/home/groups/pkg-gnome/archive LSCHANGES=$ARCHIVE_DIR/bin/lschanges umask 002 log() { echo "$*" >&2 } log_i() { log "I:" "$@" } log_w() { log "W:" "$@" } log_e() { log "E:" "$@" } fatal() { log_e "$@" exit 1 } if [ $# -ne 1 ]; then fatal "Usage: $0 " fi cleanup() { log_i "Cleaning up $*..." rm -rf "$*" } CHANGES="$1" if [ ! -e "$CHANGES" ]; then fatal "$CHANGES doesn't exist" fi distribution="$(sed -n 's/^Distribution: //p' "$CHANGES")" if [ -z "$distribution" ]; then fatal "No Distribution field in $CHANGES" fi for f in $("$LSCHANGES" "$CHANGES"); do path=$(find "$ARCHIVE_DIR/$distribution" -name $f) if [ -z "$path" ]; then log_w "Couldn't not find $f in $ARCHIVE_DIR/$distribution" fi rm -vf "$path" done rm -vf "$CHANGES"