#!/bin/sh # Creates versioned, bzip'd tarballs of all directories within a top-level # source directory. # # Usage: prepare_tarballs topdir1 topdir2 ... realver="0.0" #version="${realver}_pre20050726" version="${realver}_pre$(date +%Y%m%d)" startdir="${PWD}" if [ -e /etc/init.d/functions.sh ]; then source /etc/init.d/functions.sh else ebegin() { echo " * ${1} ... " } eend() { if [ "${1}" -eq 0 ]; then echo " [ OK ]" else echo " [ !! ]" fi } einfo() { echo " * ${1}" } eerror() { echo "ERROR: ${1}" } fi if [ "$#" -lt 1 ]; then eerror "Takes one or more arguments: top_srcdir(s)" exit 1 fi [ ! -d ${startdir}/distfiles ] && mkdir ${startdir}/distfiles for srcdir in $*; do einfo "Starting in ${srcdir} ..." pushd ${srcdir} > /dev/null 2>&1 for dir in *; do if [ "${dir}" != "CVS" -a "${dir}" != "ChangeLog" ]; then if find ${dir} -maxdepth 1 -name configure.ac | grep configure.ac > /dev/null 2>&1; then # Fix up naming overlap between lib and proto X11 if [ "${srcdir%/}" = "proto" -a "${dir}" = "X11" ]; then newdir="xproto" else newdir="${dir}" fi ebegin " Creating ${newdir}-${version}.tar.bz2" if [ -e ${startdir}/distfiles/${newdir}-${version}.tar.bz2 ]; then einfo " Tarball already exists! Overwriting..." fi cp -ar ${dir} ${newdir}-${version} find ${newdir}-${version} -type d -name CVS | xargs -n1000 rm -rf tar cvfj ${newdir}-${version}.tar.bz2 ${newdir}-${version} > /dev/null 2>&1 mv ${newdir}-${version}.tar.bz2 ${startdir}/distfiles/ retval="$?" rm -rf ${newdir}-${version} eend ${retval} fi fi done popd > /dev/null 2>&1 done