makeobsolete revision 1.6
11.1Sbouyer#!/bin/sh
21.1Sbouyer#
31.6Sfvdl# $NetBSD: makeobsolete,v 1.6 2000/10/27 13:04:58 fvdl Exp $
41.1Sbouyer#
51.1Sbouyer# Print out the obsolete files for a set
61.1Sbouyer# Usage: makeobsolete [-b] [-x] [-a arch] [-m machine] [-s setsdir] \
71.1Sbouyer#    [-t target] [setname ...]
81.1Sbouyer#
91.1Sbouyer
101.1Sbouyer# set defaults
111.1Sbouyer: ${MAKE=make}
121.1Sbouyermachine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | $MAKE -s -f-`}
131.1Sbouyerarch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | $MAKE -s -f-`}
141.1Sbouyersetd=`pwd`
151.1Sbouyernlists="base comp etc games man misc secr text"
161.4Sthorpejxlists="xbase xcomp xcontrib xfont xserver xmisc"
171.1Sbouyerlists=$nlists
181.1Sbouyertarget=./dist
191.1Sbouyer
201.1Sbouyer# handle args
211.1Sbouyerwhile : ; do
221.1Sbouyer	case $1 in
231.1Sbouyer	-b*)
241.1Sbouyer		lists="$xlists $nlists"
251.1Sbouyer		;;
261.1Sbouyer	-x*)
271.1Sbouyer		lists=$xlists;;
281.1Sbouyer	-a*)
291.1Sbouyer		arch=$2; shift
301.1Sbouyer		;;
311.1Sbouyer	-m*)
321.1Sbouyer		machine=$2; shift
331.1Sbouyer		;;
341.1Sbouyer	-s*)
351.1Sbouyer		setd=$2; shift
361.1Sbouyer		;;
371.1Sbouyer	-t*)
381.1Sbouyer		target=$2;shift
391.1Sbouyer		;;
401.1Sbouyer	-*)
411.1Sbouyer		cat 1>&2 <<USAGE
421.1SbouyerUsage: $0 [-a arch] [-m machine] [-s setsdir] [setname ...]
431.1Sbouyer	-b		make netbsd + x11 lists
441.1Sbouyer	-x 		only make x11 lists
451.1Sbouyer	-a arch		set arch (e.g, m68k, mips, powerpc)	[$arch]
461.1Sbouyer	-m machine	set machine (e.g, amiga, i386, macppc)	[$machine]
471.1Sbouyer	-s setsdir	directory to find sets	[$setd]
481.1Sbouyer	-t target	target directory [$target]
491.1Sbouyer	[setname ...] 	sets to build
501.1SbouyerUSAGE
511.1Sbouyer		exit 1
521.1Sbouyer		;;
531.1Sbouyer	*)
541.1Sbouyer		break
551.1Sbouyer		;;
561.1Sbouyer	esac
571.1Sbouyer	shift
581.1Sbouyerdone
591.1Sbouyerif [ -n "$1" ]; then
601.1Sbouyer	lists="$*"
611.1Sbouyerfi
621.1Sbouyer
631.1Sbouyer# Convert mipse[lb] to mips after processing command line arguments.
641.1Sbouyerarch=`echo $arch | sed s,^mipse.,mips,`
651.1Sbouyer
661.1Sbouyerif [ ! -d $target ] ; then
671.1Sbouyer	echo "target directory [$target] doesn't exists"
681.1Sbouyer	exit 1
691.1Sbouyerfi
701.1Sbouyer
711.1Sbouyerfor setname in $lists; do
721.1Sbouyer	file=$target/${setname}_obsolete
731.1Sbouyer	(
741.1Sbouyer	if [ -f $setd/lists/$setname/obsolete.mi ]; then
751.2Sjwise		awk -- '{print $1}' $setd/lists/$setname/obsolete.mi
761.1Sbouyer	fi
771.1Sbouyer	if [ "$machine" != "$cpu" -a \
781.1Sbouyer	    -f $setd/lists/$setname/obsolete.${arch} ]; then
791.2Sjwise		awk -- '{print $1}' $setd/lists/$setname/obsolete.${arch}
801.1Sbouyer	fi
811.1Sbouyer	if [ -f $setd/lists/$setname/obsolete.${machine} ]; then
821.2Sjwise		awk -- '{print $1}' $setd/lists/$setname/obsolete.${machine}
831.6Sfvdl	fi) | egrep -v '^#' | sort -ru > $file
841.1Sbouyer	if [ ! -s $file ] ; then
851.1Sbouyer		rm $file
861.1Sbouyer	fi
871.1Sbouyer
881.6Sfvdldone | egrep -v '^#' | sort -ru
89