makeobsolete revision 1.13
11.1Sbouyer#!/bin/sh
21.1Sbouyer#
31.13Slukem# $NetBSD: makeobsolete,v 1.13 2002/11/17 02:59:56 lukem 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.11SlukemMAKE="${MAKE:-make} -j 1"
121.12Slukemmachine=`${MAKE} print_machine`
131.12Slukemarch=`${MAKE} print_machine_arch`
141.1Sbouyersetd=`pwd`
151.7Swiznlists="base comp etc games man misc text"
161.10Stronxlists="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.8Sitojunarch=`echo $arch | sed s,^mipse.,mips, | sed s,^sh3e.,sh3e,`
651.1Sbouyer
661.1Sbouyerif [ ! -d $target ] ; then
671.1Sbouyer	echo "target directory [$target] doesn't exists"
681.1Sbouyer	exit 1
691.1Sbouyerfi
701.10Stron
711.10Stron# Automatically add XFree86 version specific sets
721.10Stronfor list in $lists
731.10Strondo
741.10Stron if [ -z "$_lists" ]
751.10Stron then
761.10Stron  _lists=$list
771.10Stron else
781.10Stron  _lists="$_lists $list"
791.10Stron fi
801.10Stron if [ -d "$setd/lists/$list${x11_version}" ]
811.10Stron then
821.10Stron  _lists="$_lists $list${x11_version}"
831.10Stron fi
841.10Strondone
851.10Stronlists=$_lists
861.10Stronunset _lists
871.1Sbouyer
881.1Sbouyerfor setname in $lists; do
891.1Sbouyer	file=$target/${setname}_obsolete
901.1Sbouyer	(
911.1Sbouyer	if [ -f $setd/lists/$setname/obsolete.mi ]; then
921.2Sjwise		awk -- '{print $1}' $setd/lists/$setname/obsolete.mi
931.1Sbouyer	fi
941.1Sbouyer	if [ "$machine" != "$cpu" -a \
951.1Sbouyer	    -f $setd/lists/$setname/obsolete.${arch} ]; then
961.2Sjwise		awk -- '{print $1}' $setd/lists/$setname/obsolete.${arch}
971.1Sbouyer	fi
981.1Sbouyer	if [ -f $setd/lists/$setname/obsolete.${machine} ]; then
991.2Sjwise		awk -- '{print $1}' $setd/lists/$setname/obsolete.${machine}
1001.13Slukem	fi
1011.13Slukem	) | egrep -v '^#' | sort -ru > $file
1021.1Sbouyer	if [ ! -s $file ] ; then
1031.1Sbouyer		rm $file
1041.1Sbouyer	fi
1051.1Sbouyer
1061.13Slukemdone
107