makeobsolete revision 1.34
11.1Sbouyer#!/bin/sh 21.1Sbouyer# 31.34Schristos# $NetBSD: makeobsolete,v 1.34 2023/11/08 13:02:47 christos 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.34Schristosumask 022 331.32Slukemwhile getopts L:bxa:m:s:t: ch; do 341.22Slukem case ${ch} in 351.30Suebayasi L) 361.31Scegger save_IFS="${IFS}" 371.31Scegger IFS=, 381.31Scegger for _list in ${OPTARG}; do 391.31Scegger case $_list in 401.31Scegger base) lists="${lists} ${nlists}" ;; 411.31Scegger x) lists="${lists} ${xlists}" ;; 421.31Scegger esac 431.31Scegger done 441.31Scegger IFS="${save_IFS}" 451.30Suebayasi ;; 461.30Suebayasi # backward compat 471.22Slukem b) 481.30Suebayasi lists="${nlists} ${xlists}" 491.22Slukem ;; 501.22Slukem x) 511.27Sapb lists="${xlists}" 521.22Slukem ;; 531.22Slukem a) 541.27Sapb MACHINE_ARCH="${OPTARG}" 551.27Sapb MACHINE_CPU="$(arch_to_cpu "${OPTARG}")" 561.22Slukem ;; 571.22Slukem m) 581.27Sapb MACHINE="${OPTARG}" 591.22Slukem ;; 601.22Slukem s) 611.27Sapb setsdir="${OPTARG}" 621.22Slukem ;; 631.22Slukem t) 641.27Sapb target="${OPTARG}" 651.1Sbouyer ;; 661.1Sbouyer *) 671.22Slukem usage 681.1Sbouyer ;; 691.1Sbouyer esac 701.1Sbouyerdone 711.22Slukemshift $((${OPTIND} - 1)) 721.1Sbouyerif [ -n "$1" ]; then 731.1Sbouyer lists="$*" 741.1Sbouyerfi 751.1Sbouyer 761.29Sapbif [ ! -d "${target}" ]; then 771.27Sapb echo "target directory [${target}] doesn't exist" 781.1Sbouyer exit 1 791.1Sbouyerfi 801.10Stron 811.31Sceggerfor setname in ${lists:-${nlists}}; do 821.27Sapb file="${target}/${setname}" 831.27Sapb list_set_files "${setname}" | ${AWK} '{print $1}' | \ 841.28Sapb ${SORT} -ru > "${file}" 851.13Slukemdone 86