]>
Commit | Line | Data |
---|---|---|
98bf1607 SR |
1 | #!/bin/sh |
2 | # | |
9deef2e7 | 3 | # Copyright (C) 2009-2016 Internet Systems Consortium, Inc. ("ISC") |
98bf1607 SR |
4 | # |
5 | # Permission to use, copy, modify, and/or distribute this software for any | |
6 | # purpose with or without fee is hereby granted, provided that the above | |
7 | # copyright notice and this permission notice appear in all copies. | |
8 | # | |
9 | # THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH | |
10 | # REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY | |
11 | # AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, | |
12 | # INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM | |
13 | # LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE | |
14 | # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR | |
15 | # PERFORMANCE OF THIS SOFTWARE. | |
16 | ||
1c46a593 | 17 | # $Id: bind.sh,v 1.32 2012/05/24 17:50:00 sar Exp $ |
98bf1607 SR |
18 | |
19 | # Get the bind distribution for the libraries | |
20 | # This script is used to build the DHCP distribution and shouldn't be shipped | |
21 | # | |
7c2a9dd9 SR |
22 | # Usage: sh bind.sh [--remote=<path>] <DHCP version> |
23 | # | |
24 | # Normally remote will only be used by Robie | |
6bc3ebf0 | 25 | # |
98bf1607 SR |
26 | # |
27 | ||
28 | topdir=`pwd` | |
29 | binddir=$topdir/bind | |
38f8f603 | 30 | remote=--remote=repo.isc.org:/proj/git/prod/bind9.git |
7c2a9dd9 SR |
31 | |
32 | case "${1:-}" in | |
33 | --remote=*) | |
34 | remote="${1}"; | |
35 | shift | |
36 | ;; | |
37 | esac | |
98bf1607 SR |
38 | |
39 | case $# in | |
6bc3ebf0 SR |
40 | 1) |
41 | case "$1" in | |
42 | ### | |
43 | ### Robie calls this script with the building branch name so we can | |
44 | ### build with BIND9 HEAD for the relevant branch we would release | |
45 | ### with. | |
46 | ### | |
47 | ### XXX: We can't use the 'snapshot' syntax right now because kit.sh | |
48 | ### pulls the version.tmp off the branch name, and then stores a | |
49 | ### tarball with vastly different values. So the version.tmp can not | |
50 | ### be used to chdir down into the directory that is unpacked. | |
51 | ### | |
1dceab6c SR |
52 | v4_2) noSNAP=snapshot BINDTAG=v9_9 ;; |
53 | v4_3) noSNAP=snapshot BINDTAG=v9_9 ;; | |
ae91e4db FD |
54 | v4_4) noSNAP=snapshot BINDTAG=v9_11 ;; |
55 | HEAD|v[0-9]_[0-9].*) noSNAP=snapshot BINDTAG=v9_11 ;; | |
71334704 | 56 | ### HEAD|v[0-9]_[0-9].*) noSNAP=snapshot BINDTAG=HEAD ;; |
6bc3ebf0 SR |
57 | ### |
58 | ### For ease of use, this records the sticky tag of versions | |
59 | ### released with each point release. | |
60 | ### | |
33dca28a | 61 | 4.3.4|4.3.4b1) BINDTAG=v9_9_8_P4 ;; |
5fc79cfd | 62 | 4.3.3) BINDTAG=v9_9_7_P3 ;; |
74a01dbb | 63 | 4.3.3b1) BINDTAG=v9_9_7_P2 ;; |
5ddbe8e4 | 64 | 4.3.2|4.3.2rc2) BINDTAG=v9_9_7 ;; |
439958f1 | 65 | 4.3.2rc1) BINDTAG=v9_9_7rc2 ;; |
4d9b81fc | 66 | 4.3.2b1) BINDTAG=v9_9_7rc1 ;; |
2794167d | 67 | 4.3.2.pre-beta) BINDTAG=v9_9_5_P1 ;; |
906ec9a7 | 68 | 4.3.1b1|4.3.1rc1|4.3.1) BINDTAG=v9_9_5_P1 ;; |
8c532cdd | 69 | 4.3.0) BINDTAG=v9_9_5 ;; |
71b49b9f | 70 | 4.3.0rc1) BINDTAG=v9_9_5rc2 ;; |
324257e3 | 71 | 4.3.0b1) BINDTAG=v9_9_5rc1 ;; |
32da1939 | 72 | 4.3.0a1) BINDTAG=v9_9_5b1 ;; |
faeebc73 SR |
73 | 4.2.6) BINDTAG=v9_9_5 ;; |
74 | 4.2.6rc1) BINDTAG=v9_9_5rc2 ;; | |
75 | 4.2.6b1) BINDTAG=v9_9_5rc1 ;; | |
76 | 4.2.5b1|4.2.5rc1|4.2.5) BINDTAG=v9_8_4_P1 ;; | |
1c46a593 | 77 | 4.2.4rc2|4.2.4) BINDTAG=v9_8_3 ;; |
54f05ec5 | 78 | 4.2.4b1|4.2.4rc1) BINDTAG=v9_8_2 ;; |
6bc3ebf0 SR |
79 | 4.2.3-P1|4.2.3-P2) BINDTAG=v9_8_1_P1 ;; |
80 | 4.2.3rc1|4.2.3) BINDTAG=v9_8_1 ;; | |
81 | 4.2.2rc1|4.2.2) BINDTAG=v9_8_0_P4 ;; | |
82 | 4.2.1|4.2.1-P1|4.2.2b1) BINDTAG=v9_8_0 ;; | |
83 | 4.2.1rc1) BINDTAG=v9_8_0rc1 ;; | |
84 | 4.2.1b1) BINDTAG=v9_8_0b1 ;; | |
85 | 4.2.0rc1|4.2.0) BINDTAG=v9_7_1 ;; | |
86 | 4.2.0b2) BINDTAG=v9_7_1rc1 ;; | |
87 | 4.2.0b1) BINDTAG=v9_7_0_P1 ;; | |
88 | 4.2.0a2|4.2.0a1) BINDTAG=v9_7_0b3 ;; | |
89 | *) echo "bind.sh: unsupported version: $1" >&2 | |
90 | exit 1 | |
91 | ;; | |
92 | esac | |
98bf1607 | 93 | ;; |
7c2a9dd9 | 94 | *) echo "usage: sh bind.sh [--remote=<path>] [<branch>|<version>]" >&2 |
98bf1607 SR |
95 | exit 1 |
96 | ;; | |
97 | esac | |
98 | ||
db031fd1 MA |
99 | if test -d bind/bind9/.git |
100 | then | |
c87db1b1 | 101 | cp util/Makefile.bind.in bind/Makefile.in |
38f8f603 | 102 | rm -rf bind/include bind/lib |
db031fd1 | 103 | cd bind/bind9 |
38f8f603 MA |
104 | test -f Makefile && make distclean |
105 | git fetch | |
fe16ba39 FD |
106 | git checkout $BINDTAG && test -n "${noSNAP}" && \ |
107 | git merge --ff-only HEAD | |
db031fd1 MA |
108 | else |
109 | # Delete all previous bind stuff | |
110 | rm -rf bind | |
98bf1607 | 111 | |
db031fd1 MA |
112 | # Make and move to our directory for all things bind |
113 | mkdir $binddir | |
114 | cp util/Makefile.bind.in bind/Makefile.in | |
115 | cd $binddir | |
98bf1607 | 116 | |
db031fd1 MA |
117 | # Get the bind version file and move it to version.tmp |
118 | git archive --format tar $remote $BINDTAG version | tar xf - | |
119 | mv version version.tmp | |
5f272fed | 120 | |
db031fd1 MA |
121 | # Get the bind release kit shell script |
122 | git archive --format tar $remote master:util/ | tar xf - kit.sh | |
98bf1607 | 123 | |
db031fd1 MA |
124 | # Create the bind tarball, which has the side effect of |
125 | # setting up the bind directory we will use for building | |
ae91e4db | 126 | # the libraries |
db031fd1 MA |
127 | echo Creating tarball for $BINDTAG |
128 | sh kit.sh $remote $SNAP $BINDTAG $binddir | |
98bf1607 | 129 | |
db031fd1 | 130 | . ./version.tmp |
98bf1607 | 131 | |
db031fd1 MA |
132 | version=${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER} |
133 | bindsrcdir=bind-$version | |
134 | mm=${MAJORVER}.${MINORVER} | |
98bf1607 | 135 | |
db031fd1 MA |
136 | # move the tar file to a known place for use by the make dist command |
137 | echo Moving tar file to bind.tar.gz for distribution | |
138 | mv bind-${mm}*.tar.gz bind.tar.gz | |
139 | fi |