3 # makesrcdist - make a source distribution of CUPS.
6 # Make sure we are running in the right directory...
7 if test ! -f tools
/makesrcdist
; then
8 echo "Run this script from the top-level CUPS source directory, e.g.:"
10 echo " tools/makesrcdist $*"
15 # Figure out the proper echo options...
16 if (echo "testing\c"; echo 1,2,3) |
grep c
>/dev
/null
; then
24 # See if we have local changes (other than this script...)
25 if (svn st |
grep -v makesrcdist |
grep -qv '^\?'); then
26 echo Local changes remain
:
27 svn st |
grep -v makesrcdist |
grep -v '^\?'
31 # Prep for snapshot or version release...
33 echo Updating
for snapshot...
36 # Compute version for snapshot
37 rev=`svn info . | grep Revision: | awk '{print $2}'`
40 fileversion
="2.1svn-r$rev"
41 fileurl
="http://www.cups.org/software/test/cups-$fileversion-source.tar."
44 # Use version from command-line
49 fileurl
="http://www.cups.org/software/$version/cups-$fileversion-source.tar."
50 url
="svn+ssh://src.apple.com/svn/cups/cups.org/tags/release-$version"
52 echo Validating sources...
53 cupsversionpatch
=`echo $version | awk -F. '{if (NF == 3) { print $3 } else { print "0" } }'`
54 cupsversion
=`printf "2.01%02d" $cupsversionpatch`
56 temp
=`grep CUPS_VERSION cups/cups.h | grep -v CUPS_VERSION_ | awk '{print $4}'`
57 if test "$temp" != $cupsversion; then
58 echo "Still need to update CUPS_VERSION to $cupsversion in cups/cups.h (saw $temp)"
62 temp
=`grep CUPS_VERSION_PATCH cups/cups.h | awk '{print $4}'`
63 if test "$temp" != $cupsversionpatch; then
64 echo "Still need to update CUPS_VERSION_PATCH to $cupsversionpatch in cups/cups.h (saw $temp)"
68 temp
=`head -1 README.txt | awk '{print $4}'`
69 if test "$temp" != "v$version"; then
70 echo "Still need to update version to v$version in README.txt (saw $temp)"
74 temp
=`head -1 INSTALL.txt | awk '{print $4}'`
75 if test "$temp" != "v$version"; then
76 echo "Still need to update version to v$version in INSTALL.txt (saw $temp)"
80 temp
=`head -4 CHANGES.txt | grep "CHANGES IN" | awk '{print $4}'`
81 if test "$temp" != "V$version"; then
82 echo "Still need to add CHANGES IN V$version in CHANGES.txt (saw $temp)"
86 echo Creating tag
for release...
87 svn copy svn
+ssh://src.apple.com
/svn
/cups
/cups.org
/trunk
"$url" \
88 -m "Tag $version" ||
exit 1
91 fileurl
=`echo $fileurl | sed -e '1,$s/\\//\\\\\\//g'`
93 TMPDIR
="${TMPDIR:=/tmp}"
95 echo Exporting
$fileversion...
96 rm -rf $TMPDIR/cups-
$version
97 svn
export $url $TMPDIR/cups-
$version
99 echo Updating version information...
100 cd $TMPDIR/cups-
$version/config-scripts
102 sed -e '1,$s/^CUPS_VERSION=.*/CUPS_VERSION='$version'/' \
103 -e '1,$s/^CUPS_REVISION=.*/CUPS_REVISION='$revision'/' \
104 <cups-common.
m4 >cups-common.
m4.new
105 mv cups-common.
m4.new cups-common.
m4
110 rm -rf autom4te
*.cache
115 echo $ac_n Archiving...gz
$ac_c
116 sed -e '1,$s/@CUPS_VERSION@/'$version'/' \
117 -e '1,$s/^Release:.*/Release: '$rev'/' \
118 -e '1,$s/^Source:.*/Source: '$fileurl'gz/' \
119 <cups-
$version/packaging
/cups.spec.
in \
120 >cups-
$version/packaging
/cups.spec
121 tar czf cups-
$fileversion-source.
tar.gz cups-
$version
123 echo $ac_n ...bz2
$ac_c
124 sed -e '1,$s/@CUPS_VERSION@/'$version'/' \
125 -e '1,$s/^Release:.*/Release: '$rev'/' \
126 -e '1,$s/^Source:.*/Source: '$fileurl'bz2/' \
127 <cups-
$version/packaging
/cups.spec.
in \
128 >cups-
$version/packaging
/cups.spec
129 tar cjf cups-
$fileversion-source.
tar.bz2 cups-
$version
132 if test -x /usr
/bin
/md5sum; then
133 md5sum cups-
$fileversion-source.
tar.
{bz2
,gz
} |
awk '{print $1, "'$fileversion' '$fileversion'/" $2}'
134 elif test -x /sbin
/md5
; then
135 md5 cups-
$fileversion-source.
tar.
{bz2
,gz
} |
awk '{print $4, "'$fileversion' '$fileversion'/" substr($2, 2, length($2) - 2)}'
138 for file in cups-
$fileversion-source.
tar.
{bz2
,gz
}; do
139 test -f $file.sig
&& rm -f $file.sig
140 gpg
--detach-sign $file
143 echo Removing temporary files...
146 echo "Done - files in $TMPDIR."