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