Home | History | Annotate | Line # | Download | only in sets
makesrctars revision 1.19
      1   1.1    jtc #! /bin/sh
      2   1.3  mikel #
      3  1.19  lukem #	$NetBSD: makesrctars,v 1.19 2005/05/22 03:05:15 lukem Exp $
      4  1.15  lukem #
      5  1.15  lukem # makesrctars srcdir setdir
      6  1.15  lukem #	Create source tarballs in setdir from the source under srcdir.
      7   1.3  mikel #
      8   1.1    jtc 
      9  1.17  lukem prog=${0##*/}
     10  1.17  lukem 
     11  1.17  lukem # set defaults
     12  1.13  lukem : ${CKSUM=cksum}
     13  1.17  lukem : ${PAX=pax}
     14  1.17  lukem 
     15  1.17  lukem xsrcdir=
     16  1.13  lukem 
     17  1.14  lukem GZIP=-9
     18   1.1    jtc export GZIP
     19   1.1    jtc 
     20  1.17  lukem usage()
     21  1.17  lukem {
     22  1.17  lukem 	cat 1>&2 <<USAGE
     23  1.17  lukem Usage: ${prog} [-x xsrcdir] srcdir setdir
     24  1.17  lukem 	-x xsrcdir	build xsrc.tgz from xsrcdir
     25  1.17  lukem 	srcdir		location of sources
     26  1.17  lukem 	setdir		where to write the .tgz files to
     27  1.17  lukem USAGE
     28  1.17  lukem 	exit 1
     29  1.17  lukem }
     30  1.17  lukem 
     31  1.17  lukem # handle args
     32  1.17  lukem while getopts x: ch; do
     33  1.17  lukem 	case ${ch} in
     34  1.17  lukem 	x)	
     35  1.17  lukem 		xsrcdir=${OPTARG}
     36  1.17  lukem 		;;
     37  1.17  lukem 	*)
     38  1.17  lukem 		usage
     39  1.17  lukem 		;;
     40  1.17  lukem 	esac
     41  1.17  lukem done
     42  1.17  lukem shift $((${OPTIND} - 1))
     43  1.17  lukem 
     44  1.15  lukem if [ $# -ne 2 ]; then
     45  1.15  lukem 	echo "Usage: $0 srcdir setdir"
     46   1.1    jtc 	exit 1
     47   1.1    jtc fi
     48  1.15  lukem srcdir=$1
     49  1.15  lukem setdir=$2
     50   1.1    jtc 
     51  1.15  lukem if [ ! -d "${setdir}" ]; then
     52  1.15  lukem 	echo "${setdir} is not a directory"
     53   1.1    jtc 	exit 1
     54   1.1    jtc fi
     55   1.1    jtc 
     56  1.15  lukem makeset()
     57  1.15  lukem {
     58  1.15  lukem 	set=$1.tgz
     59  1.15  lukem 	shift
     60  1.15  lukem 	echo "Creating ${set}"
     61  1.15  lukem 	set -f
     62  1.19  lukem 	find $* \
     63  1.18  lukem 	    ! \( \( -name obj -o -name 'obj.*' \) \( -type l -o -type d \) -prune \) \
     64  1.15  lukem 	    -print \
     65  1.19  lukem 	    | sort \
     66  1.17  lukem 	    | ${PAX} -w -d -s'|^\.|'${srcprefix}'|' \
     67  1.15  lukem 	    | gzip \
     68  1.15  lukem 	    > "${setdir}/${set}"
     69  1.15  lukem 	set +f
     70  1.15  lukem }
     71  1.15  lukem 
     72  1.15  lukem 
     73  1.17  lukem # create (base)src sets
     74  1.17  lukem #
     75  1.17  lukem 
     76  1.17  lukem if ! cd "${srcdir}"; then
     77  1.17  lukem 	echo "Can't chdir to ${srcdir}"
     78  1.17  lukem 	exit 1
     79  1.17  lukem fi
     80  1.17  lukem 
     81  1.17  lukem srcprefix=usr/src
     82  1.17  lukem 
     83  1.16  lukem makeset src .						\
     84  1.16  lukem 		! \( \(	-path ./gnu			\
     85  1.16  lukem 		     -o -path ./share			\
     86  1.16  lukem 		     -o -path ./sys			\
     87  1.16  lukem 		     -o -path ./contrib/sys		\
     88  1.16  lukem 		     -o -path ./usr.sbin/config		\
     89  1.16  lukem 		    \) -prune \)
     90  1.15  lukem 
     91  1.15  lukem makeset gnusrc ./gnu
     92  1.15  lukem 
     93  1.16  lukem makeset syssrc ./sys ./contrib/sys ./usr.sbin/config			\
     94  1.15  lukem 		! \( -path ./sys/arch/\*/compile/\* -type d		\
     95  1.15  lukem 		    ! -name CVS -prune \)
     96   1.1    jtc 
     97  1.15  lukem makeset sharesrc ./share
     98   1.6  perry 
     99  1.17  lukem 
    100  1.17  lukem # create xsrc sets
    101  1.17  lukem #
    102  1.17  lukem if [ -n "${xsrcdir}" ]; then
    103  1.17  lukem 	if ! cd "${xsrcdir}"; then
    104  1.17  lukem 		echo "Can't chdir to ${xsrcdir}"
    105  1.17  lukem 		exit 1
    106  1.17  lukem 	fi
    107  1.17  lukem 	srcprefix=usr/xsrc
    108  1.17  lukem 	makeset xsrc .
    109  1.17  lukem fi
    110  1.17  lukem 
    111  1.17  lukem 
    112  1.16  lukem echo "Creating checksum files"
    113  1.15  lukem (cd ${setdir}
    114  1.13  lukem 	${CKSUM} -o1 *.tgz > BSDSUM
    115  1.13  lukem 	${CKSUM}     *.tgz > CKSUM
    116  1.13  lukem 	${CKSUM} -m  *.tgz > MD5
    117  1.13  lukem 	${CKSUM} -o2 *.tgz > SYSVSUM
    118  1.13  lukem )
    119