1 1.1 bouyer #!/bin/sh 2 1.1 bouyer # 3 1.32 lukem # $NetBSD: makeobsolete,v 1.32 2022/08/21 07:10:03 lukem 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.32 lukem -L base,x make specified lists 21 1.1 bouyer -b make netbsd + x11 lists 22 1.1 bouyer -x only make x11 lists 23 1.27 apb -a arch set arch (e.g, m68k, mips, powerpc) [${MACHINE_ARCH}] 24 1.27 apb -m machine set machine (e.g, amiga, i386, macppc) [${MACHINE}] 25 1.27 apb -s setsdir directory to find sets [${setd}] 26 1.27 apb -t target target directory [${target}] 27 1.1 bouyer [setname ...] sets to build 28 1.1 bouyer USAGE 29 1.22 lukem exit 1 30 1.22 lukem } 31 1.22 lukem 32 1.32 lukem while getopts L:bxa:m:s:t: ch; do 33 1.22 lukem case ${ch} in 34 1.30 uebayasi L) 35 1.31 cegger save_IFS="${IFS}" 36 1.31 cegger IFS=, 37 1.31 cegger for _list in ${OPTARG}; do 38 1.31 cegger case $_list in 39 1.31 cegger base) lists="${lists} ${nlists}" ;; 40 1.31 cegger x) lists="${lists} ${xlists}" ;; 41 1.31 cegger esac 42 1.31 cegger done 43 1.31 cegger IFS="${save_IFS}" 44 1.30 uebayasi ;; 45 1.30 uebayasi # backward compat 46 1.22 lukem b) 47 1.30 uebayasi lists="${nlists} ${xlists}" 48 1.22 lukem ;; 49 1.22 lukem x) 50 1.27 apb lists="${xlists}" 51 1.22 lukem ;; 52 1.22 lukem a) 53 1.27 apb MACHINE_ARCH="${OPTARG}" 54 1.27 apb MACHINE_CPU="$(arch_to_cpu "${OPTARG}")" 55 1.22 lukem ;; 56 1.22 lukem m) 57 1.27 apb MACHINE="${OPTARG}" 58 1.22 lukem ;; 59 1.22 lukem s) 60 1.27 apb setsdir="${OPTARG}" 61 1.22 lukem ;; 62 1.22 lukem t) 63 1.27 apb target="${OPTARG}" 64 1.1 bouyer ;; 65 1.1 bouyer *) 66 1.22 lukem usage 67 1.1 bouyer ;; 68 1.1 bouyer esac 69 1.1 bouyer done 70 1.22 lukem shift $((${OPTIND} - 1)) 71 1.1 bouyer if [ -n "$1" ]; then 72 1.1 bouyer lists="$*" 73 1.1 bouyer fi 74 1.1 bouyer 75 1.29 apb if [ ! -d "${target}" ]; then 76 1.27 apb echo "target directory [${target}] doesn't exist" 77 1.1 bouyer exit 1 78 1.1 bouyer fi 79 1.10 tron 80 1.31 cegger for setname in ${lists:-${nlists}}; do 81 1.27 apb file="${target}/${setname}" 82 1.27 apb list_set_files "${setname}" | ${AWK} '{print $1}' | \ 83 1.28 apb ${SORT} -ru > "${file}" 84 1.13 lukem done 85