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