#!/bin/sh # # "$Id$" # # makesrcdist - make a source distribution of CUPS. # # Make sure we are running in the right directory... if test ! -f tools/makesrcdist; then echo "Run this script from the top-level CUPS source directory, e.g.:" echo "" echo " tools/makesrcdist $*" echo "" exit 1 fi # Figure out the proper echo options... if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then ac_n=-n ac_c= else ac_n= ac_c='\c' fi # See if we have local changes (other than this script...) if (svn st | grep -v makesrcdist | grep -qv '^\?'); then echo Local changes remain: svn st | grep -v makesrcdist | grep -v '^\?' exit 1 fi # Prep for snapshot or version release... if test $# = 0; then echo Updating for snapshot... svn up # Compute version for snapshot rev=`svn info . | grep Revision: | awk '{print $2}'` version="2.1svn" revision="-r$rev" fileversion="2.1svn-r$rev" fileurl="http://www.cups.org/software/test/cups-$fileversion-source.tar." url="." else # Use version from command-line rev="1" version=$1 revision="" fileversion=$1 fileurl="http://www.cups.org/software/$version/cups-$fileversion-source.tar." url="svn+ssh://src.apple.com/svn/cups/cups.org/tags/release-$version" echo Validating sources... cupsversionpatch=`echo $version | awk -F. '{if (NF == 3) { print $3 } else { print "0" } }'` cupsversion=`printf "2.01%02d" $cupsversionpatch` temp=`grep CUPS_VERSION cups/cups.h | grep -v CUPS_VERSION_ | awk '{print $4}'` if test "$temp" != $cupsversion; then echo "Still need to update CUPS_VERSION to $cupsversion in cups/cups.h (saw $temp)" exit 1 fi temp=`grep CUPS_VERSION_PATCH cups/cups.h | awk '{print $4}'` if test "$temp" != $cupsversionpatch; then echo "Still need to update CUPS_VERSION_PATCH to $cupsversionpatch in cups/cups.h (saw $temp)" exit 1 fi temp=`head -1 README.txt | awk '{print $4}'` if test "$temp" != "v$version"; then echo "Still need to update version to v$version in README.txt (saw $temp)" exit 1 fi temp=`head -1 INSTALL.txt | awk '{print $4}'` if test "$temp" != "v$version"; then echo "Still need to update version to v$version in INSTALL.txt (saw $temp)" exit 1 fi temp=`head -4 CHANGES.txt | grep "CHANGES IN" | awk '{print $4}'` if test "$temp" != "V$version"; then echo "Still need to add CHANGES IN V$version in CHANGES.txt (saw $temp)" exit 1 fi echo Creating tag for release... svn copy svn+ssh://src.apple.com/svn/cups/cups.org/trunk "$url" \ -m "Tag $version" || exit 1 fi fileurl=`echo $fileurl | sed -e '1,$s/\\//\\\\\\//g'` TMPDIR="${TMPDIR:=/tmp}" echo Exporting $fileversion... rm -rf $TMPDIR/cups-$version svn export $url $TMPDIR/cups-$version echo Updating version information... cd $TMPDIR/cups-$version/config-scripts sed -e '1,$s/^CUPS_VERSION=.*/CUPS_VERSION='$version'/' \ -e '1,$s/^CUPS_REVISION=.*/CUPS_REVISION='$revision'/' \ cups-common.m4.new mv cups-common.m4.new cups-common.m4 cd .. echo Configuring... autoconf -f rm -rf autom4te*.cache rm -rf everywhere rm -rf tools cd .. echo $ac_n Archiving...gz$ac_c sed -e '1,$s/@CUPS_VERSION@/'$version'/' \ -e '1,$s/^Release:.*/Release: '$rev'/' \ -e '1,$s/^Source:.*/Source: '$fileurl'gz/' \ cups-$version/packaging/cups.spec tar czf cups-$fileversion-source.tar.gz cups-$version echo $ac_n ...bz2$ac_c sed -e '1,$s/@CUPS_VERSION@/'$version'/' \ -e '1,$s/^Release:.*/Release: '$rev'/' \ -e '1,$s/^Source:.*/Source: '$fileurl'bz2/' \ cups-$version/packaging/cups.spec tar cjf cups-$fileversion-source.tar.bz2 cups-$version echo "..." if test -x /usr/bin/md5sum; then md5sum cups-$fileversion-source.tar.{bz2,gz} | awk '{print $1, "'$fileversion' '$fileversion'/" $2}' elif test -x /sbin/md5; then md5 cups-$fileversion-source.tar.{bz2,gz} | awk '{print $4, "'$fileversion' '$fileversion'/" substr($2, 2, length($2) - 2)}' fi for file in cups-$fileversion-source.tar.{bz2,gz}; do test -f $file.sig && rm -f $file.sig gpg --detach-sign $file done echo Removing temporary files... rm -rf cups-$version echo "Done - files in $TMPDIR." # # End of "$Id$". #