62 lines
2.2 KiB
Bash
Executable File
62 lines
2.2 KiB
Bash
Executable File
#! /bin/sh
|
|
# clean old distfiles
|
|
# This script actually produces another shell-script that you may edit
|
|
# before executing.
|
|
|
|
# $OpenBSD: clean-old,v 1.5 2008/05/16 17:06:54 espie Exp $
|
|
#
|
|
# Copyright (c) 2000 Marc Espie.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions
|
|
# are met:
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE OPENBSD PROJECT AND CONTRIBUTORS
|
|
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBSD
|
|
# PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
set -e
|
|
: ${PORTSDIR=/usr/ports}
|
|
: ${DISTDIR=${PORTSDIR}/distfiles}
|
|
: ${TMPDIR=/tmp}
|
|
: ${MAKE=make}
|
|
TMP1=`mktemp $TMPDIR/list.XXXXXXXXXX` || exit 1
|
|
#trap 'rm -f $TMP1 $TMP2' 0 1 2 3 5 10 15
|
|
TMP2=`mktemp ${TMPDIR}/list.XXXXXXXXXX` || exit 1
|
|
{
|
|
cd $PORTSDIR
|
|
${MAKE} show=MAKESUMFILES ECHO_MSG=:
|
|
if cd 2>/dev/null $PORTSDIR/mystuff
|
|
then
|
|
find . -type f -name Makefile|while read i
|
|
do
|
|
if fgrep -q bsd.port.mk $i
|
|
then
|
|
( cd `dirname $i`
|
|
${MAKE} show=MAKESUMFILES ECHO_MSG=: || true
|
|
)
|
|
fi
|
|
done
|
|
fi
|
|
}|tr ' ' "\n"|sort -u >$TMP1
|
|
cd $DISTDIR
|
|
find . -type f -print|sed -e 's,^\./,,' |grep -v '^Makefile$' |sort -u >$TMP2
|
|
echo "#! /bin/sh"
|
|
echo "cd $DISTDIR"
|
|
diff -u $TMP1 $TMP2|tail +3|grep '^\+'| \
|
|
sed -e 's,^\+,rm ,' -e 's,[[&()],\\&,g' -e 's,],\\&,g'
|
|
rm $TMP1 $TMP2
|