maketgz: make it support "only" generating version info

... to allow you to update the local repository with the given version
number data.
This commit is contained in:
Daniel Stenberg 2016-10-10 14:11:44 +02:00
parent aec0c993cb
commit d18c546454
1 changed files with 33 additions and 7 deletions

40
maketgz
View File

@ -31,6 +31,11 @@ if [ -z "$version" ]; then
exit
fi
if [ "xonly" = "x$2" ]; then
echo "Setup version number only!"
only=1
fi
libversion="$version"
# we make curl the same version as libcurl
@ -40,25 +45,50 @@ major=`echo $libversion |cut -d. -f1 | sed -e "s/[^0-9]//g"`
minor=`echo $libversion |cut -d. -f2 | sed -e "s/[^0-9]//g"`
patch=`echo $libversion |cut -d. -f3 | cut -d- -f1 | sed -e "s/[^0-9]//g"`
if test -z "$patch"; then
echo "invalid version number? needs to be z.y.z"
exit
fi
numeric=`perl -e 'printf("%02x%02x%02x\n", '"$major, $minor, $patch);"`
HEADER=include/curl/curlver.h
CHEADER=src/tool_version.h
PLIST=lib/libcurl.plist
if test -z "$only"; then
ext=".dist"
# when not setting up version numbers locally
for a in $HEADER $CHEADER $PLIST; do
cp $a "$a$ext"
done
HEADER="$HEADER$ext"
CHEADER="$CHEADER$ext"
PLIST="$PLIST$ext"
fi
# requires a date command that knows -u for UTC time zone
datestamp=`LC_TIME=C date -u`
# Replace version number in header file:
sed -e 's/^#define LIBCURL_VERSION .*/#define LIBCURL_VERSION "'$libversion'"/g' \
sed -i -e 's/^#define LIBCURL_VERSION .*/#define LIBCURL_VERSION "'$libversion'"/g' \
-e 's/^#define LIBCURL_VERSION_NUM .*/#define LIBCURL_VERSION_NUM 0x'$numeric'/g' \
-e 's/^#define LIBCURL_VERSION_MAJOR .*/#define LIBCURL_VERSION_MAJOR '$major'/g' \
-e 's/^#define LIBCURL_VERSION_MINOR .*/#define LIBCURL_VERSION_MINOR '$minor'/g' \
-e 's/^#define LIBCURL_VERSION_PATCH .*/#define LIBCURL_VERSION_PATCH '$patch'/g' \
-e "s/^#define LIBCURL_TIMESTAMP .*/#define LIBCURL_TIMESTAMP \"$datestamp\"/g" \
$HEADER >$HEADER.dist
$HEADER
# Replace version number in header file:
sed 's/#define CURL_VERSION .*/#define CURL_VERSION "'$curlversion'"/g' $CHEADER >$CHEADER.dist
sed -i 's/#define CURL_VERSION .*/#define CURL_VERSION "'$curlversion'"/g' $CHEADER
# Replace version number in plist file:
sed -i "s/7\.12\.3/$libversion/g" $PLIST
if test -n "$only"; then
# done!
exit;
fi
# Generate VC7, VC8, VC9, VC10, VC11, VC12 and VC14 versions from the VC6
# Makefile versions
@ -68,10 +98,6 @@ for ver in vc7 vc8 vc9 vc10 vc11 vc12 vc14; do
mv lib/Makefile.$ver lib/Makefile.$ver.dist
done
# Replace version number in plist file:
PLIST=lib/libcurl.plist
sed "s/7\.12\.3/$libversion/g" $PLIST > $PLIST.dist
echo "curl version $curlversion"
echo "libcurl version $libversion"
echo "libcurl numerical $numeric"