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