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