1#!/bin/sh 2# 3# "$Id: makesrcdist 12078 2014-07-31 11:45:57Z msweet $" 4# 5# makesrcdist - make a source distribution of CUPS. 6# 7 8# Make sure we are running in the right directory... 9if test ! -f tools/makesrcdist; then 10 echo "Run this script from the top-level CUPS source directory, e.g.:" 11 echo "" 12 echo " tools/makesrcdist $*" 13 echo "" 14 exit 1 15fi 16 17if (svn st | grep -v makesrcdist | grep -qv '^\?'); then 18 echo Local changes remain: 19 svn st | grep -v makesrcdist | grep -v '^\?' 20 exit 1 21fi 22 23if test $# = 0; then 24 echo Updating for snapshot... 25 svn up 26 27 # Compute version for snapshot 28 rev=`svn info . | grep Revision: | awk '{print $2}'` 29 version="2.0svn" 30 revision="-r$rev" 31 fileversion="2.0svn-r$rev" 32 fileurl="http://www.cups.org/software/test/cups-$fileversion-source.tar." 33 url="." 34else 35 # Use version from command-line 36 rev="1" 37 version=$1 38 revision="" 39 fileversion=$1 40 fileurl="http://www.cups.org/software/$version/cups-$fileversion-source.tar." 41 url="svn+ssh://src.apple.com/svn/cups/cups.org/tags/release-$version" 42 43 echo Validating sources... 44 cupsversionpatch=`echo $version | awk -F. '{if (NF == 3) { print $3 } else { print "0" } }'` 45 cupsversion=`printf "2.00%02d" $cupsversionpatch` 46 47 temp=`grep CUPS_VERSION cups/cups.h | grep -v CUPS_VERSION_ | awk '{print $4}'` 48 if test "$temp" != $cupsversion; then 49 echo "Still need to update CUPS_VERSION to $cupsversion in cups/cups.h (saw $temp)" 50 exit 1 51 fi 52 53 temp=`grep CUPS_VERSION_PATCH cups/cups.h | awk '{print $4}'` 54 if test "$temp" != $cupsversionpatch; then 55 echo "Still need to update CUPS_VERSION_PATCH to $cupsversionpatch in cups/cups.h (saw $temp)" 56 exit 1 57 fi 58 59 temp=`head -1 README.txt | awk '{print $4}'` 60 if test "$temp" != "v$version"; then 61 echo "Still need to update version to v$version in README.txt (saw $temp)" 62 exit 1 63 fi 64 65 temp=`head -1 INSTALL.txt | awk '{print $4}'` 66 if test "$temp" != "v$version"; then 67 echo "Still need to update version to v$version in INSTALL.txt (saw $temp)" 68 exit 1 69 fi 70 71 temp=`head -4 CHANGES.txt | grep "CHANGES IN" | awk '{print $4}'` 72 if test "$temp" != "V$version"; then 73 echo "Still need to add CHANGES IN V$version in CHANGES.txt (saw $temp)" 74 exit 1 75 fi 76 77 echo Creating tag for release... 78 svn copy svn+ssh://src.apple.com/svn/cups/cups.org/trunk "$url" \ 79 -m "Tag $version" || exit 1 80fi 81 82fileurl=`echo $fileurl | sed -e '1,$s/\\//\\\\\\//g'` 83 84echo Exporting $fileversion... 85rm -rf /tmp/cups-$version 86svn export $url /tmp/cups-$version 87 88echo Updating version information... 89cd /tmp/cups-$version/config-scripts 90 91sed -e '1,$s/^CUPS_VERSION=.*/CUPS_VERSION='$version'/' \ 92 -e '1,$s/^CUPS_REVISION=.*/CUPS_REVISION='$revision'/' \ 93 <cups-common.m4 >cups-common.m4.new 94mv cups-common.m4.new cups-common.m4 95cd .. 96 97echo Configuring... 98autoconf -f 99rm -rf autom4te*.cache 100rm -rf everywhere 101rm -rf tools 102cd .. 103 104echo -n Archiving...gz 105sed -e '1,$s/@CUPS_VERSION@/'$version'/' \ 106 -e '1,$s/^Release:.*/Release: '$rev'/' \ 107 -e '1,$s/^Source:.*/Source: '$fileurl'gz/' \ 108 <cups-$version/packaging/cups.spec.in \ 109 >cups-$version/packaging/cups.spec 110tar czf cups-$fileversion-source.tar.gz cups-$version 111 112echo -n ...bz2 113sed -e '1,$s/@CUPS_VERSION@/'$version'/' \ 114 -e '1,$s/^Release:.*/Release: '$rev'/' \ 115 -e '1,$s/^Source:.*/Source: '$fileurl'bz2/' \ 116 <cups-$version/packaging/cups.spec.in \ 117 >cups-$version/packaging/cups.spec 118tar cjf cups-$fileversion-source.tar.bz2 cups-$version 119echo "..." 120 121if test -x /usr/bin/md5sum; then 122 (cd /tmp; md5sum cups-$fileversion-source.tar.{bz2,gz} | awk '{print $1, "'$fileversion' '$fileversion'/" $2}') 123elif test -x /sbin/md5; then 124 (cd /tmp; md5 cups-$fileversion-source.tar.{bz2,gz} | awk '{print $4, "'$fileversion' '$fileversion'/" substr($2, 2, length($2) - 2)}') 125fi 126 127for file in /tmp/cups-$fileversion-source.tar.{bz2,gz}; do 128 gpg --detach-sign $file 129done 130 131echo Removing temporary files... 132rm -rf cups-$version 133 134echo "Done." 135 136# 137# End of "$Id: makesrcdist 12078 2014-07-31 11:45:57Z msweet $". 138# 139