makeobsolete revision 1.9 1 1.1 bouyer #!/bin/sh
2 1.1 bouyer #
3 1.9 tron # $NetBSD: makeobsolete,v 1.9 2002/04/08 15:39:32 tron 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.1 bouyer # set defaults
11 1.1 bouyer : ${MAKE=make}
12 1.1 bouyer machine=${MACHINE:-`printf 'xxx:\n\techo ${MACHINE}' | $MAKE -s -f-`}
13 1.1 bouyer arch=${MACHINE_ARCH:-`printf 'xxx:\n\techo ${MACHINE_ARCH}' | $MAKE -s -f-`}
14 1.1 bouyer setd=`pwd`
15 1.7 wiz nlists="base comp etc games man misc text"
16 1.9 tron xlists=
17 1.9 tron for xlist in xbase xcomp xcontrib xfont xserver xmisc
18 1.9 tron do
19 1.9 tron if [ -z "$xlists" ]
20 1.9 tron then
21 1.9 tron xlists=$xlist
22 1.9 tron else
23 1.9 tron xlists="$xlists $xlist"
24 1.9 tron fi
25 1.9 tron if [ -d "$setd/lists/$xlist${x11_version}" ]
26 1.9 tron then
27 1.9 tron xlists="$xlists $xlist${x11_version}"
28 1.9 tron fi
29 1.9 tron done
30 1.1 bouyer lists=$nlists
31 1.1 bouyer target=./dist
32 1.1 bouyer
33 1.1 bouyer # handle args
34 1.1 bouyer while : ; do
35 1.1 bouyer case $1 in
36 1.1 bouyer -b*)
37 1.1 bouyer lists="$xlists $nlists"
38 1.1 bouyer ;;
39 1.1 bouyer -x*)
40 1.1 bouyer lists=$xlists;;
41 1.1 bouyer -a*)
42 1.1 bouyer arch=$2; shift
43 1.1 bouyer ;;
44 1.1 bouyer -m*)
45 1.1 bouyer machine=$2; shift
46 1.1 bouyer ;;
47 1.1 bouyer -s*)
48 1.1 bouyer setd=$2; shift
49 1.1 bouyer ;;
50 1.1 bouyer -t*)
51 1.1 bouyer target=$2;shift
52 1.1 bouyer ;;
53 1.1 bouyer -*)
54 1.1 bouyer cat 1>&2 <<USAGE
55 1.1 bouyer Usage: $0 [-a arch] [-m machine] [-s setsdir] [setname ...]
56 1.1 bouyer -b make netbsd + x11 lists
57 1.1 bouyer -x only make x11 lists
58 1.1 bouyer -a arch set arch (e.g, m68k, mips, powerpc) [$arch]
59 1.1 bouyer -m machine set machine (e.g, amiga, i386, macppc) [$machine]
60 1.1 bouyer -s setsdir directory to find sets [$setd]
61 1.1 bouyer -t target target directory [$target]
62 1.1 bouyer [setname ...] sets to build
63 1.1 bouyer USAGE
64 1.1 bouyer exit 1
65 1.1 bouyer ;;
66 1.1 bouyer *)
67 1.1 bouyer break
68 1.1 bouyer ;;
69 1.1 bouyer esac
70 1.1 bouyer shift
71 1.1 bouyer done
72 1.1 bouyer if [ -n "$1" ]; then
73 1.1 bouyer lists="$*"
74 1.1 bouyer fi
75 1.1 bouyer
76 1.1 bouyer # Convert mipse[lb] to mips after processing command line arguments.
77 1.8 itojun arch=`echo $arch | sed s,^mipse.,mips, | sed s,^sh3e.,sh3e,`
78 1.1 bouyer
79 1.1 bouyer if [ ! -d $target ] ; then
80 1.1 bouyer echo "target directory [$target] doesn't exists"
81 1.1 bouyer exit 1
82 1.1 bouyer fi
83 1.1 bouyer
84 1.1 bouyer for setname in $lists; do
85 1.1 bouyer file=$target/${setname}_obsolete
86 1.1 bouyer (
87 1.1 bouyer if [ -f $setd/lists/$setname/obsolete.mi ]; then
88 1.2 jwise awk -- '{print $1}' $setd/lists/$setname/obsolete.mi
89 1.1 bouyer fi
90 1.1 bouyer if [ "$machine" != "$cpu" -a \
91 1.1 bouyer -f $setd/lists/$setname/obsolete.${arch} ]; then
92 1.2 jwise awk -- '{print $1}' $setd/lists/$setname/obsolete.${arch}
93 1.1 bouyer fi
94 1.1 bouyer if [ -f $setd/lists/$setname/obsolete.${machine} ]; then
95 1.2 jwise awk -- '{print $1}' $setd/lists/$setname/obsolete.${machine}
96 1.6 fvdl fi) | egrep -v '^#' | sort -ru > $file
97 1.1 bouyer if [ ! -s $file ] ; then
98 1.1 bouyer rm $file
99 1.1 bouyer fi
100 1.1 bouyer
101 1.6 fvdl done | egrep -v '^#' | sort -ru
102