1 1.1 bouyer #!/bin/sh 2 1.1 bouyer # 3 1.34 christos # $NetBSD: makeobsolete,v 1.34 2023/11/08 13:02:47 christos 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.34 christos umask 022 33 1.32 lukem while getopts L:bxa: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 esac 43 1.31 cegger done 44 1.31 cegger IFS="${save_IFS}" 45 1.30 uebayasi ;; 46 1.30 uebayasi # backward compat 47 1.22 lukem b) 48 1.30 uebayasi lists="${nlists} ${xlists}" 49 1.22 lukem ;; 50 1.22 lukem x) 51 1.27 apb lists="${xlists}" 52 1.22 lukem ;; 53 1.22 lukem a) 54 1.27 apb MACHINE_ARCH="${OPTARG}" 55 1.27 apb MACHINE_CPU="$(arch_to_cpu "${OPTARG}")" 56 1.22 lukem ;; 57 1.22 lukem m) 58 1.27 apb MACHINE="${OPTARG}" 59 1.22 lukem ;; 60 1.22 lukem s) 61 1.27 apb setsdir="${OPTARG}" 62 1.22 lukem ;; 63 1.22 lukem t) 64 1.27 apb target="${OPTARG}" 65 1.1 bouyer ;; 66 1.1 bouyer *) 67 1.22 lukem usage 68 1.1 bouyer ;; 69 1.1 bouyer esac 70 1.1 bouyer done 71 1.22 lukem shift $((${OPTIND} - 1)) 72 1.1 bouyer if [ -n "$1" ]; then 73 1.1 bouyer lists="$*" 74 1.1 bouyer fi 75 1.1 bouyer 76 1.29 apb if [ ! -d "${target}" ]; then 77 1.27 apb echo "target directory [${target}] doesn't exist" 78 1.1 bouyer exit 1 79 1.1 bouyer fi 80 1.10 tron 81 1.31 cegger for setname in ${lists:-${nlists}}; do 82 1.27 apb file="${target}/${setname}" 83 1.27 apb list_set_files "${setname}" | ${AWK} '{print $1}' | \ 84 1.28 apb ${SORT} -ru > "${file}" 85 1.13 lukem done 86