Annotation of embedaddon/curl/maketgz, revision 1.1.1.1
1.1 misho 1: #!/bin/sh
2: # Script to build release-archives with. Note that this requires a checkout
3: # from git and you should first run ./buildconf and build curl once.
4: #
5: #***************************************************************************
6: # _ _ ____ _
7: # Project ___| | | | _ \| |
8: # / __| | | | |_) | |
9: # | (__| |_| | _ <| |___
10: # \___|\___/|_| \_\_____|
11: #
12: # Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
13: #
14: # This software is licensed as described in the file COPYING, which
15: # you should have received as part of this distribution. The terms
16: # are also available at https://curl.haxx.se/docs/copyright.html.
17: #
18: # You may opt to use, copy, modify, merge, publish, distribute and/or sell
19: # copies of the Software, and permit persons to whom the Software is
20: # furnished to do so, under the terms of the COPYING file.
21: #
22: # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
23: # KIND, either express or implied.
24: #
25: ###########################################################################
26:
27: version=$1
28:
29: if [ -z "$version" ]; then
30: echo "Specify a version number!"
31: exit
32: fi
33:
34: if [ "xonly" = "x$2" ]; then
35: echo "Setup version number only!"
36: only=1
37: fi
38:
39: libversion="$version"
40:
41: # we make curl the same version as libcurl
42: curlversion=$libversion
43:
44: major=`echo $libversion | cut -d. -f1 | sed -e "s/[^0-9]//g"`
45: minor=`echo $libversion | cut -d. -f2 | sed -e "s/[^0-9]//g"`
46: patch=`echo $libversion | cut -d. -f3 | cut -d- -f1 | sed -e "s/[^0-9]//g"`
47:
48: if test -z "$patch"; then
49: echo "invalid version number? needs to be z.y.z"
50: exit
51: fi
52:
53: #
54: # As a precaution, remove all *.dist files that may be lying around, to reduce
55: # the risk of old leftovers getting shipped. The root 'Makefile.dist' is the
56: # exception.
57: echo "removing all old *.dist files"
58: find . -name "*.dist" -a ! -name Makefile.dist -exec rm {} \;
59:
60: numeric=`perl -e 'printf("%02x%02x%02x\n", '"$major, $minor, $patch);"`
61:
62: HEADER=include/curl/curlver.h
63: CHEADER=src/tool_version.h
64: PLIST=lib/libcurl.plist
65:
66: if test -z "$only"; then
67: ext=".dist"
68: # when not setting up version numbers locally
69: for a in $HEADER $CHEADER $PLIST; do
70: cp $a "$a$ext"
71: done
72: HEADER="$HEADER$ext"
73: CHEADER="$CHEADER$ext"
74: PLIST="$PLIST$ext"
75: fi
76:
77: # requires a date command that knows + for format
78: datestamp=`date +"%F"`
79:
80: # Replace version number in header file:
81: sed -i.bak \
82: -e 's/^#define LIBCURL_VERSION .*/#define LIBCURL_VERSION "'$libversion'"/g' \
83: -e 's/^#define LIBCURL_VERSION_NUM .*/#define LIBCURL_VERSION_NUM 0x'$numeric'/g' \
84: -e 's/^#define LIBCURL_VERSION_MAJOR .*/#define LIBCURL_VERSION_MAJOR '$major'/g' \
85: -e 's/^#define LIBCURL_VERSION_MINOR .*/#define LIBCURL_VERSION_MINOR '$minor'/g' \
86: -e 's/^#define LIBCURL_VERSION_PATCH .*/#define LIBCURL_VERSION_PATCH '$patch'/g' \
87: -e "s/^#define LIBCURL_TIMESTAMP .*/#define LIBCURL_TIMESTAMP \"$datestamp\"/g" \
88: $HEADER
89: rm -f "$HEADER.bak"
90:
91: # Replace version number in header file:
92: sed -i.bak 's/#define CURL_VERSION .*/#define CURL_VERSION "'$curlversion'"/g' $CHEADER
93: rm -f "$CHEADER.bak"
94:
95: # Replace version number in plist file:
96: sed -i.bak "s/7\.12\.3/$libversion/g" $PLIST
97: rm -f "$PLIST.bak"
98:
99: if test -n "$only"; then
100: # done!
101: exit;
102: fi
103:
104: echo "curl version $curlversion"
105: echo "libcurl version $libversion"
106: echo "libcurl numerical $numeric"
107: echo "datestamp $datestamp"
108:
109: findprog() {
110: file="$1"
111: for part in `echo $PATH| tr ':' ' '`; do
112: path="$part/$file"
113: if [ -x "$path" ]; then
114: # there it is!
115: return 1
116: fi
117: done
118:
119: # no such executable
120: return 0
121: }
122:
123: ############################################################################
124: #
125: # Enforce a rerun of configure (updates the VERSION)
126: #
127:
128: echo "Re-running config.status"
129: ./config.status --recheck >/dev/null
130:
131: ############################################################################
132: #
133: # automake is needed to run to make a non-GNU Makefile.in if Makefile.am has
134: # been modified.
135: #
136:
137: if { findprog automake >/dev/null 2>/dev/null; } then
138: echo "- Could not find or run automake, I hope you know what you're doing!"
139: else
140: echo "Runs automake --include-deps"
141: automake --include-deps Makefile >/dev/null
142: fi
143:
144: ############################################################################
145: #
146: # Modify the man pages to display the version number and date.
147: #
148:
149: echo "update man pages"
150: ./scripts/updatemanpages.pl $version
151:
152: # make the generated file newer than the man page
153: touch src/tool_hugehelp.c
154:
155: ############################################################################
156: #
157: # Update the IDE files
158: echo "make vc-ide"
159: make -s vc-ide
160:
161: echo "produce CHANGES"
162: git log --pretty=fuller --no-color --date=short --decorate=full -1000 | ./scripts/log2changes.pl > CHANGES.dist
163:
164: ############################################################################
165: #
166: # Now run make dist to generate a tar.gz archive
167: #
168:
169: echo "make dist"
170: targz="curl-$version.tar.gz"
171: make -sj dist VERSION=$version
172:
173: ############################################################################
174: #
175: # Now make a bz2 archive from the tar.gz original
176: #
177:
178: bzip2="curl-$version.tar.bz2"
179: echo "Generating $bzip2"
180: gzip -dc $targz | bzip2 --best > $bzip2
181:
182: ############################################################################
183: #
184: # Now make an xz archive from the tar.gz original
185: #
186:
187: xz="curl-$version.tar.xz"
188: echo "Generating $xz"
189: gzip -dc $targz | xz -6e - > $xz
190:
191: ############################################################################
192: #
193: # Now make a zip archive from the tar.gz original
194: #
195: makezip() {
196: rm -rf $tempdir
197: mkdir $tempdir
198: cd $tempdir
199: gzip -dc ../$targz | tar -xf -
200: find . | zip $zip -@ >/dev/null
201: mv $zip ../
202: cd ..
203: rm -rf $tempdir
204: }
205:
206: zip="curl-$version.zip"
207: echo "Generating $zip"
208: tempdir=".builddir"
209: makezip
210:
211: echo "------------------"
212: echo "maketgz report:"
213: echo ""
214: ls -l $targz $bzip2 $zip $xz
215:
216: echo "Run this:"
217: echo "gpg -b -a $targz && gpg -b -a $bzip2 && gpg -b -a $zip && gpg -b -a $xz"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>