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