]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | #!/bin/sh |
2 | # | |
ef416fc2 | 3 | # makesrcdist - make a source distribution of CUPS. |
4 | # | |
5 | ||
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.:" | |
9 | echo "" | |
10 | echo " tools/makesrcdist $*" | |
11 | echo "" | |
12 | exit 1 | |
13 | fi | |
14 | ||
e10c6901 MS |
15 | # Figure out the proper echo options... |
16 | if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then | |
17 | ac_n=-n | |
18 | ac_c= | |
19 | else | |
20 | ac_n= | |
21 | ac_c='\c' | |
22 | fi | |
23 | ||
24 | # See if we have local changes (other than this script...) | |
12f89d24 MS |
25 | if (svn st | grep -v makesrcdist | grep -qv '^\?'); then |
26 | echo Local changes remain: | |
27 | svn st | grep -v makesrcdist | grep -v '^\?' | |
28 | exit 1 | |
29 | fi | |
30 | ||
e10c6901 | 31 | # Prep for snapshot or version release... |
ef416fc2 | 32 | if test $# = 0; then |
33 | echo Updating for snapshot... | |
34 | svn up | |
12f89d24 MS |
35 | |
36 | # Compute version for snapshot | |
db8b865d | 37 | rev=`svn info . | grep Revision: | awk '{print $2}'` |
fab9a59a | 38 | version="2.1svn" |
ecdc0628 | 39 | revision="-r$rev" |
fab9a59a | 40 | fileversion="2.1svn-r$rev" |
223bdaa1 | 41 | fileurl="http://www.cups.org/software/test/cups-$fileversion-source.tar." |
ef416fc2 | 42 | url="." |
43 | else | |
12f89d24 | 44 | # Use version from command-line |
ef416fc2 | 45 | rev="1" |
46 | version=$1 | |
ecdc0628 | 47 | revision="" |
ef416fc2 | 48 | fileversion=$1 |
223bdaa1 MS |
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" | |
ef416fc2 | 51 | |
12f89d24 | 52 | echo Validating sources... |
37e7e6e0 | 53 | cupsversionpatch=`echo $version | awk -F. '{if (NF == 3) { print $3 } else { print "0" } }'` |
03e56bef | 54 | cupsversion=`printf "2.01%02d" $cupsversionpatch` |
12f89d24 MS |
55 | |
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)" | |
59 | exit 1 | |
60 | fi | |
61 | ||
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)" | |
65 | exit 1 | |
66 | fi | |
67 | ||
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)" | |
71 | exit 1 | |
72 | fi | |
73 | ||
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)" | |
77 | exit 1 | |
78 | fi | |
79 | ||
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)" | |
83 | exit 1 | |
84 | fi | |
85 | ||
86 | echo Creating tag for release... | |
223bdaa1 | 87 | svn copy svn+ssh://src.apple.com/svn/cups/cups.org/trunk "$url" \ |
ef416fc2 | 88 | -m "Tag $version" || exit 1 |
89 | fi | |
90 | ||
e1d6a774 | 91 | fileurl=`echo $fileurl | sed -e '1,$s/\\//\\\\\\//g'` |
92 | ||
e10c6901 MS |
93 | TMPDIR="${TMPDIR:=/tmp}" |
94 | ||
ef416fc2 | 95 | echo Exporting $fileversion... |
e10c6901 MS |
96 | rm -rf $TMPDIR/cups-$version |
97 | svn export $url $TMPDIR/cups-$version | |
ef416fc2 | 98 | |
99 | echo Updating version information... | |
e10c6901 | 100 | cd $TMPDIR/cups-$version/config-scripts |
ef416fc2 | 101 | |
b423cd4c | 102 | sed -e '1,$s/^CUPS_VERSION=.*/CUPS_VERSION='$version'/' \ |
ecdc0628 | 103 | -e '1,$s/^CUPS_REVISION=.*/CUPS_REVISION='$revision'/' \ |
ef416fc2 | 104 | <cups-common.m4 >cups-common.m4.new |
105 | mv cups-common.m4.new cups-common.m4 | |
106 | cd .. | |
ef416fc2 | 107 | |
108 | echo Configuring... | |
109 | autoconf -f | |
110 | rm -rf autom4te*.cache | |
6b2419da | 111 | rm -rf everywhere |
ef416fc2 | 112 | rm -rf tools |
113 | cd .. | |
114 | ||
e10c6901 | 115 | echo $ac_n Archiving...gz$ac_c |
e1d6a774 | 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 | |
bd7854cb | 121 | tar czf cups-$fileversion-source.tar.gz cups-$version |
e1d6a774 | 122 | |
e10c6901 | 123 | echo $ac_n ...bz2$ac_c |
e1d6a774 | 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 | |
bd7854cb | 129 | tar cjf cups-$fileversion-source.tar.bz2 cups-$version |
ef416fc2 | 130 | echo "..." |
131 | ||
005dd1eb | 132 | if test -x /usr/bin/md5sum; then |
e10c6901 | 133 | md5sum cups-$fileversion-source.tar.{bz2,gz} | awk '{print $1, "'$fileversion' '$fileversion'/" $2}' |
005dd1eb | 134 | elif test -x /sbin/md5; then |
e10c6901 | 135 | md5 cups-$fileversion-source.tar.{bz2,gz} | awk '{print $4, "'$fileversion' '$fileversion'/" substr($2, 2, length($2) - 2)}' |
005dd1eb MS |
136 | fi |
137 | ||
e10c6901 MS |
138 | for file in cups-$fileversion-source.tar.{bz2,gz}; do |
139 | test -f $file.sig && rm -f $file.sig | |
27d0ed52 MS |
140 | gpg --detach-sign $file |
141 | done | |
142 | ||
bd7854cb | 143 | echo Removing temporary files... |
144 | rm -rf cups-$version | |
145 | ||
e10c6901 | 146 | echo "Done - files in $TMPDIR." |