makesrctars revision 1.17
11.1Sjtc#! /bin/sh 21.3Smikel# 31.17Slukem# $NetBSD: makesrctars,v 1.17 2004/04/20 06:36:35 lukem Exp $ 41.15Slukem# 51.15Slukem# makesrctars srcdir setdir 61.15Slukem# Create source tarballs in setdir from the source under srcdir. 71.3Smikel# 81.1Sjtc 91.17Slukemprog=${0##*/} 101.17Slukem 111.17Slukem# set defaults 121.13Slukem: ${CKSUM=cksum} 131.17Slukem: ${PAX=pax} 141.17Slukem 151.17Slukemxsrcdir= 161.13Slukem 171.14SlukemGZIP=-9 181.1Sjtcexport GZIP 191.1Sjtc 201.17Slukemusage() 211.17Slukem{ 221.17Slukem cat 1>&2 <<USAGE 231.17SlukemUsage: ${prog} [-x xsrcdir] srcdir setdir 241.17Slukem -x xsrcdir build xsrc.tgz from xsrcdir 251.17Slukem srcdir location of sources 261.17Slukem setdir where to write the .tgz files to 271.17SlukemUSAGE 281.17Slukem exit 1 291.17Slukem} 301.17Slukem 311.17Slukem# handle args 321.17Slukemwhile getopts x: ch; do 331.17Slukem case ${ch} in 341.17Slukem x) 351.17Slukem xsrcdir=${OPTARG} 361.17Slukem ;; 371.17Slukem *) 381.17Slukem usage 391.17Slukem ;; 401.17Slukem esac 411.17Slukemdone 421.17Slukemshift $((${OPTIND} - 1)) 431.17Slukem 441.15Slukemif [ $# -ne 2 ]; then 451.15Slukem echo "Usage: $0 srcdir setdir" 461.1Sjtc exit 1 471.1Sjtcfi 481.15Slukemsrcdir=$1 491.15Slukemsetdir=$2 501.1Sjtc 511.15Slukemif [ ! -d "${setdir}" ]; then 521.15Slukem echo "${setdir} is not a directory" 531.1Sjtc exit 1 541.1Sjtcfi 551.1Sjtc 561.15Slukemmakeset() 571.15Slukem{ 581.15Slukem set=$1.tgz 591.15Slukem shift 601.15Slukem echo "Creating ${set}" 611.15Slukem set -f 621.15Slukem find -s $* \ 631.15Slukem ! \( \( -name obj -o -name 'obj.*' \) \( -type l -o -type d \) \) \ 641.15Slukem -print \ 651.17Slukem | ${PAX} -w -d -s'|^\.|'${srcprefix}'|' \ 661.15Slukem | gzip \ 671.15Slukem > "${setdir}/${set}" 681.15Slukem set +f 691.15Slukem} 701.15Slukem 711.15Slukem 721.17Slukem# create (base)src sets 731.17Slukem# 741.17Slukem 751.17Slukemif ! cd "${srcdir}"; then 761.17Slukem echo "Can't chdir to ${srcdir}" 771.17Slukem exit 1 781.17Slukemfi 791.17Slukem 801.17Slukemsrcprefix=usr/src 811.17Slukem 821.16Slukemmakeset src . \ 831.16Slukem ! \( \( -path ./gnu \ 841.16Slukem -o -path ./share \ 851.16Slukem -o -path ./sys \ 861.16Slukem -o -path ./contrib/sys \ 871.16Slukem -o -path ./usr.sbin/config \ 881.16Slukem \) -prune \) 891.15Slukem 901.15Slukemmakeset gnusrc ./gnu 911.15Slukem 921.16Slukemmakeset syssrc ./sys ./contrib/sys ./usr.sbin/config \ 931.15Slukem ! \( -path ./sys/arch/\*/compile/\* -type d \ 941.15Slukem ! -name CVS -prune \) 951.1Sjtc 961.15Slukemmakeset sharesrc ./share 971.6Sperry 981.17Slukem 991.17Slukem# create xsrc sets 1001.17Slukem# 1011.17Slukemif [ -n "${xsrcdir}" ]; then 1021.17Slukem if ! cd "${xsrcdir}"; then 1031.17Slukem echo "Can't chdir to ${xsrcdir}" 1041.17Slukem exit 1 1051.17Slukem fi 1061.17Slukem srcprefix=usr/xsrc 1071.17Slukem makeset xsrc . 1081.17Slukemfi 1091.17Slukem 1101.17Slukem 1111.16Slukemecho "Creating checksum files" 1121.15Slukem(cd ${setdir} 1131.13Slukem ${CKSUM} -o1 *.tgz > BSDSUM 1141.13Slukem ${CKSUM} *.tgz > CKSUM 1151.13Slukem ${CKSUM} -m *.tgz > MD5 1161.13Slukem ${CKSUM} -o2 *.tgz > SYSVSUM 1171.13Slukem) 118