makeobsolete revision 1.30
11.1Sbouyer#!/bin/sh
21.1Sbouyer#
31.30Suebayasi# $NetBSD: makeobsolete,v 1.30 2009/11/30 16:13:23 uebayasi 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.27Sapbrundir="$(dirname "$0")" # ${0%/*} isn't good enough when there's no "/"
111.27Sapb. "${rundir}/sets.subr"
121.27Sapblists="${nlists}"
131.1Sbouyertarget=./dist
141.22Slukemobsolete=1
151.1Sbouyer
161.22Slukemusage()
171.22Slukem{
181.22Slukem	cat 1>&2 <<USAGE
191.22SlukemUsage: ${0##*/} [-a arch] [-m machine] [-s setsdir] [setname ...]
201.30Suebayasi	-L base,x,ext	make specified lists
211.1Sbouyer	-b		make netbsd + x11 lists
221.1Sbouyer	-x 		only make x11 lists
231.30Suebayasi	-y 		only make extsrc lists
241.27Sapb	-a arch		set arch (e.g, m68k, mips, powerpc)	[${MACHINE_ARCH}]
251.27Sapb	-m machine	set machine (e.g, amiga, i386, macppc)	[${MACHINE}]
261.27Sapb	-s setsdir	directory to find sets	[${setd}]
271.27Sapb	-t target	target directory [${target}]
281.1Sbouyer	[setname ...] 	sets to build
291.1SbouyerUSAGE
301.22Slukem	exit 1
311.22Slukem}
321.22Slukem
331.30Suebayasiwhile getopts L:bxya:m:s:t: ch; do
341.22Slukem	case ${ch} in
351.30Suebayasi	L)
361.30Suebayasi		lists=$(
371.30Suebayasi			for _list in $( echo ${OPTARG} | tr , ' ' ); do
381.30Suebayasi				case $_list in
391.30Suebayasi				base)	echo "${nlists}" ;;
401.30Suebayasi				x)	echo "${xlists}" ;;
411.30Suebayasi				ext)	echo "${extlists}" ;;
421.30Suebayasi				esac
431.30Suebayasi			done
441.30Suebayasi		)
451.30Suebayasi		;;
461.30Suebayasi	# backward compat
471.22Slukem	b)
481.30Suebayasi		lists="${nlists} ${xlists}"
491.22Slukem		;;
501.22Slukem	x)
511.27Sapb		lists="${xlists}"
521.22Slukem		;;
531.30Suebayasi	y)
541.30Suebayasi		lists="${extlists}"
551.30Suebayasi		;;
561.22Slukem	a)
571.27Sapb		MACHINE_ARCH="${OPTARG}"
581.27Sapb		MACHINE_CPU="$(arch_to_cpu "${OPTARG}")"
591.22Slukem		;;
601.22Slukem	m)
611.27Sapb		MACHINE="${OPTARG}"
621.22Slukem		;;
631.22Slukem	s)
641.27Sapb		setsdir="${OPTARG}"
651.22Slukem		;;
661.22Slukem	t)
671.27Sapb		target="${OPTARG}"
681.1Sbouyer		;;
691.1Sbouyer	*)
701.22Slukem		usage
711.1Sbouyer		;;
721.1Sbouyer	esac
731.1Sbouyerdone
741.22Slukemshift $((${OPTIND} - 1))
751.1Sbouyerif [ -n "$1" ]; then
761.1Sbouyer	lists="$*"
771.1Sbouyerfi
781.1Sbouyer
791.29Sapbif [ ! -d "${target}" ]; then
801.27Sapb	echo "target directory [${target}] doesn't exist"
811.1Sbouyer	exit 1
821.1Sbouyerfi
831.10Stron
841.27Sapbfor setname in ${lists}; do
851.27Sapb	file="${target}/${setname}"
861.27Sapb	list_set_files "${setname}" | ${AWK} '{print $1}' | \
871.28Sapb		${SORT} -ru > "${file}"
881.13Slukemdone
89