makesrctars revision 1.19
11.1Sjtc#! /bin/sh 21.3Smikel# 31.19Slukem# $NetBSD: makesrctars,v 1.19 2005/05/22 03:05:15 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.19Slukem find $* \ 631.18Slukem ! \( \( -name obj -o -name 'obj.*' \) \( -type l -o -type d \) -prune \) \ 641.15Slukem -print \ 651.19Slukem | sort \ 661.17Slukem | ${PAX} -w -d -s'|^\.|'${srcprefix}'|' \ 671.15Slukem | gzip \ 681.15Slukem > "${setdir}/${set}" 691.15Slukem set +f 701.15Slukem} 711.15Slukem 721.15Slukem 731.17Slukem# create (base)src sets 741.17Slukem# 751.17Slukem 761.17Slukemif ! cd "${srcdir}"; then 771.17Slukem echo "Can't chdir to ${srcdir}" 781.17Slukem exit 1 791.17Slukemfi 801.17Slukem 811.17Slukemsrcprefix=usr/src 821.17Slukem 831.16Slukemmakeset src . \ 841.16Slukem ! \( \( -path ./gnu \ 851.16Slukem -o -path ./share \ 861.16Slukem -o -path ./sys \ 871.16Slukem -o -path ./contrib/sys \ 881.16Slukem -o -path ./usr.sbin/config \ 891.16Slukem \) -prune \) 901.15Slukem 911.15Slukemmakeset gnusrc ./gnu 921.15Slukem 931.16Slukemmakeset syssrc ./sys ./contrib/sys ./usr.sbin/config \ 941.15Slukem ! \( -path ./sys/arch/\*/compile/\* -type d \ 951.15Slukem ! -name CVS -prune \) 961.1Sjtc 971.15Slukemmakeset sharesrc ./share 981.6Sperry 991.17Slukem 1001.17Slukem# create xsrc sets 1011.17Slukem# 1021.17Slukemif [ -n "${xsrcdir}" ]; then 1031.17Slukem if ! cd "${xsrcdir}"; then 1041.17Slukem echo "Can't chdir to ${xsrcdir}" 1051.17Slukem exit 1 1061.17Slukem fi 1071.17Slukem srcprefix=usr/xsrc 1081.17Slukem makeset xsrc . 1091.17Slukemfi 1101.17Slukem 1111.17Slukem 1121.16Slukemecho "Creating checksum files" 1131.15Slukem(cd ${setdir} 1141.13Slukem ${CKSUM} -o1 *.tgz > BSDSUM 1151.13Slukem ${CKSUM} *.tgz > CKSUM 1161.13Slukem ${CKSUM} -m *.tgz > MD5 1171.13Slukem ${CKSUM} -o2 *.tgz > SYSVSUM 1181.13Slukem) 119