Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: curl-7_19_5
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

executable file 185 lines (152 sloc) 5.292 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184
#! /bin/sh
# Script to build release-archives with. Note that this requires a checkout
# from CVS and you should first run ./buildconf and build curl once.
#
#***************************************************************************
# _ _ ____ _
# Project ___| | | | _ \| |
# / __| | | | |_) | |
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
# Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
# are also available at http://curl.haxx.se/docs/copyright.html.
#
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
# copies of the Software, and permit persons to whom the Software is
# furnished to do so, under the terms of the COPYING file.
#
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
# KIND, either express or implied.
#
# $Id$
###########################################################################

version=$1

if [ -z "$version" ]; then
echo "Specify a version number!"
  exit
fi

libversion="$version"

# we make curl the same version as libcurl
curlversion=$libversion

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"`

numeric=`perl -e 'printf("%02x%02x%02x\n", '"$major, $minor, $patch);"`

HEADER=include/curl/curlver.h
CHEADER=src/version.h

# requires a date command that knows -u for UTC time zone
datestamp=`date -u`

# Replace version number in header file:
sed -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

# Replace version number in header file:
sed 's/#define CURL_VERSION .*/#define CURL_VERSION "'$curlversion'"/g' $CHEADER >$CHEADER.dist

# Generate VC8 and VC9 versions from the VC6 Makefile versions
for ver in vc8 vc9; do
make -f Makefile.dist $ver
  mv src/Makefile.$ver src/Makefile.$ver.dist
  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"
echo "datestamp $datestamp"

findprog()
{
  file="$1"
  for part in `echo $PATH| tr ':' ' '`; do
path="$part/$file"
    if [ -x "$path" ]; then
      # there it is!
      return 1
    fi
done

  # no such executable
  return 0
}

echo "maketgz: cp lib/config.h.in src/config.h.in"
cp lib/config.h.in src/config.h.in

############################################################################
#
# Enforce a rerun of configure (updates the VERSION)
#

echo "Re-running config.status"
./config.status --recheck >/dev/null

############################################################################
#
# automake is needed to run to make a non-GNU Makefile.in if Makefile.am has
# been modified.
#

if { findprog automake >/dev/null 2>/dev/null; } then
echo "- Could not find or run automake, I hope you know what you're doing!"
else
echo "Runs automake --include-deps"
  automake --include-deps Makefile >/dev/null
fi

############################################################################
#
# Make sure we have updated HTML versions of all man pages:
#
echo "make html"
make -s html

# And the PDF versions
echo "make pdf"
make -s pdf

############################################################################
#
# Now run make dist to generate a tar.gz archive
#

echo "make dist"
targz="curl-$version.tar.gz"
make -s dist VERSION=$version

############################################################################
#
# Now make a bz2 archive from the tar.gz original
#

bzip2="curl-$version.tar.bz2"
echo "Generating $bzip2"
gzip -dc $targz | bzip2 --best - > $bzip2

############################################################################
#
# Now make an lzma archive from the tar.gz original
#

lzma="curl-$version.tar.lzma"
echo "Generating $lzma"
gzip -dc $targz | lzma --best - > $lzma

############################################################################
#
# Now make a zip archive from the tar.gz original
#
makezip ()
{
  rm -rf $tempdir
  mkdir $tempdir
  cd $tempdir
  gzip -dc ../$targz | tar -xf -
  find . | zip $zip -@ >/dev/null
  mv $zip ../
  cd ..
  rm -rf $tempdir
}

zip="curl-$version.zip"
echo "Generating $zip"
tempdir=".builddir"
makezip

echo "------------------"
echo "maketgz report:"
echo ""
ls -l $targz $bzip2 $zip $lzma

echo "Run this:"
echo "gpg -b -a $targz && gpg -b -a $bzip2 && gpg -b -a $zip && gpg -b -a $lzma"
Something went wrong with that request. Please try again.