NetBSD/distrib/sets/makeobsolete
apb 3a0b541193 Add shell variables defined in sets.subr for almost all commands used
by scripts in distrib/sets/*.  This is intended to be useful when cross
building.  Only trivial commands like echo, cat, and rm are excluded
from this treatment.

While I am here, make ${MTREE} and ${DB} follow the pattern used by most
other such variables.

Reviewed by agc.
2006-01-03 16:40:16 +00:00

70 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
#
# $NetBSD: makeobsolete,v 1.26 2006/01/03 16:40:16 apb Exp $
#
# Print out the obsolete files for a set
# Usage: makeobsolete [-b] [-x] [-a arch] [-m machine] [-s setsdir] \
# [-t target] [setname ...]
#
. ${0%/*}/sets.subr
lists=$nlists
target=./dist
obsolete=1
usage()
{
cat 1>&2 <<USAGE
Usage: ${0##*/} [-a arch] [-m machine] [-s setsdir] [setname ...]
-b make netbsd + x11 lists
-x only make x11 lists
-a arch set arch (e.g, m68k, mips, powerpc) [$MACHINE_ARCH]
-m machine set machine (e.g, amiga, i386, macppc) [$MACHINE]
-s setsdir directory to find sets [$setd]
-t target target directory [$target]
[setname ...] sets to build
USAGE
exit 1
}
while getopts bxa:m:s:t: ch; do
case ${ch} in
b)
lists="$xlists $nlists"
;;
x)
lists="$xlists"
;;
a)
MACHINE_ARCH=${OPTARG}
MACHINE_CPU=$(arch_to_cpu ${OPTARG})
;;
m)
MACHINE=${OPTARG}
;;
s)
setsdir=${OPTARG}
;;
t)
target=${OPTARG}
;;
*)
usage
;;
esac
done
shift $((${OPTIND} - 1))
if [ -n "$1" ]; then
lists="$*"
fi
if [ ! -d $target ] ; then
echo "target directory [$target] doesn't exist"
exit 1
fi
for setname in $lists; do
file=$target/${setname}
list_set_files $setname | ${AWK} '{print $1}' | ${SORT} -ru > $file
done