Home | History | Annotate | Line # | Download | only in sets
makeobsolete revision 1.31
      1   1.1    bouyer #!/bin/sh
      2   1.1    bouyer #
      3  1.31    cegger # $NetBSD: makeobsolete,v 1.31 2009/12/05 15:56:25 cegger Exp $
      4   1.1    bouyer #
      5   1.1    bouyer # Print out the obsolete files for a set
      6   1.1    bouyer # Usage: makeobsolete [-b] [-x] [-a arch] [-m machine] [-s setsdir] \
      7   1.1    bouyer #    [-t target] [setname ...]
      8   1.1    bouyer #
      9   1.1    bouyer 
     10  1.27       apb rundir="$(dirname "$0")" # ${0%/*} isn't good enough when there's no "/"
     11  1.27       apb . "${rundir}/sets.subr"
     12  1.31    cegger lists=
     13   1.1    bouyer target=./dist
     14  1.22     lukem obsolete=1
     15   1.1    bouyer 
     16  1.22     lukem usage()
     17  1.22     lukem {
     18  1.22     lukem 	cat 1>&2 <<USAGE
     19  1.22     lukem Usage: ${0##*/} [-a arch] [-m machine] [-s setsdir] [setname ...]
     20  1.30  uebayasi 	-L base,x,ext	make specified lists
     21   1.1    bouyer 	-b		make netbsd + x11 lists
     22   1.1    bouyer 	-x 		only make x11 lists
     23  1.30  uebayasi 	-y 		only make extsrc lists
     24  1.27       apb 	-a arch		set arch (e.g, m68k, mips, powerpc)	[${MACHINE_ARCH}]
     25  1.27       apb 	-m machine	set machine (e.g, amiga, i386, macppc)	[${MACHINE}]
     26  1.27       apb 	-s setsdir	directory to find sets	[${setd}]
     27  1.27       apb 	-t target	target directory [${target}]
     28   1.1    bouyer 	[setname ...] 	sets to build
     29   1.1    bouyer USAGE
     30  1.22     lukem 	exit 1
     31  1.22     lukem }
     32  1.22     lukem 
     33  1.30  uebayasi while getopts L:bxya:m:s:t: ch; do
     34  1.22     lukem 	case ${ch} in
     35  1.30  uebayasi 	L)
     36  1.31    cegger 		save_IFS="${IFS}"
     37  1.31    cegger 		IFS=,
     38  1.31    cegger 		for _list in ${OPTARG}; do
     39  1.31    cegger 			case $_list in
     40  1.31    cegger 			base)	lists="${lists} ${nlists}" ;;
     41  1.31    cegger 			x)	lists="${lists} ${xlists}" ;;
     42  1.31    cegger 			ext)	lists="${lists} ${extlists}" ;;
     43  1.31    cegger 			esac
     44  1.31    cegger 		done
     45  1.31    cegger 		IFS="${save_IFS}"
     46  1.30  uebayasi 		;;
     47  1.30  uebayasi 	# backward compat
     48  1.22     lukem 	b)
     49  1.30  uebayasi 		lists="${nlists} ${xlists}"
     50  1.22     lukem 		;;
     51  1.22     lukem 	x)
     52  1.27       apb 		lists="${xlists}"
     53  1.22     lukem 		;;
     54  1.30  uebayasi 	y)
     55  1.30  uebayasi 		lists="${extlists}"
     56  1.30  uebayasi 		;;
     57  1.22     lukem 	a)
     58  1.27       apb 		MACHINE_ARCH="${OPTARG}"
     59  1.27       apb 		MACHINE_CPU="$(arch_to_cpu "${OPTARG}")"
     60  1.22     lukem 		;;
     61  1.22     lukem 	m)
     62  1.27       apb 		MACHINE="${OPTARG}"
     63  1.22     lukem 		;;
     64  1.22     lukem 	s)
     65  1.27       apb 		setsdir="${OPTARG}"
     66  1.22     lukem 		;;
     67  1.22     lukem 	t)
     68  1.27       apb 		target="${OPTARG}"
     69   1.1    bouyer 		;;
     70   1.1    bouyer 	*)
     71  1.22     lukem 		usage
     72   1.1    bouyer 		;;
     73   1.1    bouyer 	esac
     74   1.1    bouyer done
     75  1.22     lukem shift $((${OPTIND} - 1))
     76   1.1    bouyer if [ -n "$1" ]; then
     77   1.1    bouyer 	lists="$*"
     78   1.1    bouyer fi
     79   1.1    bouyer 
     80  1.29       apb if [ ! -d "${target}" ]; then
     81  1.27       apb 	echo "target directory [${target}] doesn't exist"
     82   1.1    bouyer 	exit 1
     83   1.1    bouyer fi
     84  1.10      tron 
     85  1.31    cegger for setname in ${lists:-${nlists}}; do
     86  1.27       apb 	file="${target}/${setname}"
     87  1.27       apb 	list_set_files "${setname}" | ${AWK} '{print $1}' | \
     88  1.28       apb 		${SORT} -ru > "${file}"
     89  1.13     lukem done
     90