Home | History | Annotate | Line # | Download | only in sets
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