makeobsolete revision 1.32
11.1Sbouyer#!/bin/sh
21.1Sbouyer#
31.32Slukem# $NetBSD: makeobsolete,v 1.32 2022/08/21 07:10:03 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.27Sapbrundir="$(dirname "$0")" # ${0%/*} isn't good enough when there's no "/"
111.27Sapb. "${rundir}/sets.subr"
121.31Sceggerlists=
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.32Slukem	-L base,x	make specified lists
211.1Sbouyer	-b		make netbsd + x11 lists
221.1Sbouyer	-x 		only make x11 lists
231.27Sapb	-a arch		set arch (e.g, m68k, mips, powerpc)	[${MACHINE_ARCH}]
241.27Sapb	-m machine	set machine (e.g, amiga, i386, macppc)	[${MACHINE}]
251.27Sapb	-s setsdir	directory to find sets	[${setd}]
261.27Sapb	-t target	target directory [${target}]
271.1Sbouyer	[setname ...] 	sets to build
281.1SbouyerUSAGE
291.22Slukem	exit 1
301.22Slukem}
311.22Slukem
321.32Slukemwhile getopts L:bxa:m:s:t: ch; do
331.22Slukem	case ${ch} in
341.30Suebayasi	L)
351.31Scegger		save_IFS="${IFS}"
361.31Scegger		IFS=,
371.31Scegger		for _list in ${OPTARG}; do
381.31Scegger			case $_list in
391.31Scegger			base)	lists="${lists} ${nlists}" ;;
401.31Scegger			x)	lists="${lists} ${xlists}" ;;
411.31Scegger			esac
421.31Scegger		done
431.31Scegger		IFS="${save_IFS}"
441.30Suebayasi		;;
451.30Suebayasi	# backward compat
461.22Slukem	b)
471.30Suebayasi		lists="${nlists} ${xlists}"
481.22Slukem		;;
491.22Slukem	x)
501.27Sapb		lists="${xlists}"
511.22Slukem		;;
521.22Slukem	a)
531.27Sapb		MACHINE_ARCH="${OPTARG}"
541.27Sapb		MACHINE_CPU="$(arch_to_cpu "${OPTARG}")"
551.22Slukem		;;
561.22Slukem	m)
571.27Sapb		MACHINE="${OPTARG}"
581.22Slukem		;;
591.22Slukem	s)
601.27Sapb		setsdir="${OPTARG}"
611.22Slukem		;;
621.22Slukem	t)
631.27Sapb		target="${OPTARG}"
641.1Sbouyer		;;
651.1Sbouyer	*)
661.22Slukem		usage
671.1Sbouyer		;;
681.1Sbouyer	esac
691.1Sbouyerdone
701.22Slukemshift $((${OPTIND} - 1))
711.1Sbouyerif [ -n "$1" ]; then
721.1Sbouyer	lists="$*"
731.1Sbouyerfi
741.1Sbouyer
751.29Sapbif [ ! -d "${target}" ]; then
761.27Sapb	echo "target directory [${target}] doesn't exist"
771.1Sbouyer	exit 1
781.1Sbouyerfi
791.10Stron
801.31Sceggerfor setname in ${lists:-${nlists}}; do
811.27Sapb	file="${target}/${setname}"
821.27Sapb	list_set_files "${setname}" | ${AWK} '{print $1}' | \
831.28Sapb		${SORT} -ru > "${file}"
841.13Slukemdone
85