NetBSD/distrib/sets/makeobsolete
tv 8b5d5857ce Obliterate "man/md_share". The difference is negligible relative to the
size of the man set, and with all architectures' man pages in "man", we
can now share both "man" and "misc" on all platforms (CD-ROM space saver).
2000-10-05 00:11:43 +00:00

89 lines
1.9 KiB
Bash
Executable File

#!/bin/sh
#
# $NetBSD: makeobsolete,v 1.5 2000/10/05 00:11:44 tv Exp $
#
# Print out the obsolete files for a set
# Usage: makeobsolete [-b] [-x] [-a arch] [-m machine] [-s setsdir] \
# [-t target] [setname ...]
#
# set defaults
: ${MAKE=make}
machine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | $MAKE -s -f-`}
arch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | $MAKE -s -f-`}
setd=`pwd`
nlists="base comp etc games man misc secr text"
xlists="xbase xcomp xcontrib xfont xserver xmisc"
lists=$nlists
target=./dist
# handle args
while : ; do
case $1 in
-b*)
lists="$xlists $nlists"
;;
-x*)
lists=$xlists;;
-a*)
arch=$2; shift
;;
-m*)
machine=$2; shift
;;
-s*)
setd=$2; shift
;;
-t*)
target=$2;shift
;;
-*)
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) [$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
;;
*)
break
;;
esac
shift
done
if [ -n "$1" ]; then
lists="$*"
fi
# Convert mipse[lb] to mips after processing command line arguments.
arch=`echo $arch | sed s,^mipse.,mips,`
if [ ! -d $target ] ; then
echo "target directory [$target] doesn't exists"
exit 1
fi
for setname in $lists; do
file=$target/${setname}_obsolete
(
if [ -f $setd/lists/$setname/obsolete.mi ]; then
awk -- '{print $1}' $setd/lists/$setname/obsolete.mi
fi
if [ "$machine" != "$cpu" -a \
-f $setd/lists/$setname/obsolete.${arch} ]; then
awk -- '{print $1}' $setd/lists/$setname/obsolete.${arch}
fi
if [ -f $setd/lists/$setname/obsolete.${machine} ]; then
awk -- '{print $1}' $setd/lists/$setname/obsolete.${machine}
fi) | egrep -v '^#' | sort -u > $file
if [ ! -s $file ] ; then
rm $file
fi
done | egrep -v '^#' | sort -u