~ubuntu-branches/ubuntu/precise/maradns/precise

« back to all changes in this revision

Viewing changes to update/1.4.06/1.4.05-to-1.4.06

  • Committer: Package Import Robot
  • Author(s): Iain Lane
  • Date: 2012-01-12 23:35:38 UTC
  • mfrom: (1.1.18)
  • Revision ID: package-import@ubuntu.com-20120112233538-wwr0rm4fhnk4w39j
Tags: 2.0.04+really1.4.09-1
Revert to 1.4 series with "really" version number. The 2.0 series packages
are not yet ready to be used.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh -e
 
2
 
 
3
# This script updates MaraDNS 1.4
 
4
 
 
5
# To run this script, make sure that this script is in the directory
 
6
# containing the tarball for the version of MaraDNS you wish to update, and
 
7
# all of the patches are in a directory entitled 'patches'.
 
8
 
 
9
# For example, to update MaraDNS 1.4.02 to 1.4.03, make sure 
 
10
# maradns-1.3.02.tar.lzma is in the same directory as this script, and
 
11
# that the directory containing this script has a directory called
 
12
# "patches/" which has all of the maradns-1.2.02*.patch files.
 
13
 
 
14
CURRENT=${0%%-*}
 
15
CURRENT=${CURRENT##*/}
 
16
NEXT=${0##*-}
 
17
 
 
18
# The revision number; in the case of having multiple snapshots a day,
 
19
# the revision number can be incremented so as to minimize confusion
 
20
# This is only done when more than one snapshop is uploaded to the
 
21
# maradns.org server in a given day.
 
22
REVISION=.1
 
23
 
 
24
# Make a clean CURRENT install, which we rename NEXT
 
25
rm -fr maradns-$CURRENT 2> /dev/null
 
26
rm -fr maradns-$NEXT 2> /dev/null
 
27
echo extracting tarball
 
28
tar xjf maradns-$CURRENT.tar.bz2
 
29
if [ $? != 0 ] ; then
 
30
        echo run this from the correct directory
 
31
        exit 1
 
32
fi
 
33
rm -fr maradns-$NEXT*
 
34
mv maradns-$CURRENT maradns-$NEXT
 
35
cd maradns-$NEXT
 
36
 
 
37
# The patches
 
38
 
 
39
mkdir update/$NEXT
 
40
if [ "$1" != "new" ] ; then
 
41
        cp ../patches/maradns-$CURRENT* update/$NEXT
 
42
        #cp ../patches/maradns* update/$NEXT
 
43
        #echo
 
44
fi
 
45
 
 
46
# This is one of the few places where we will need to change anything
 
47
# in this script from version to version
 
48
 
 
49
echo applying patches
 
50
 
 
51
if [ "$1" != "new" ] ; then
 
52
 
 
53
        # Update download link (this is always done)
 
54
        patch -p1 < update/$NEXT/maradns-$CURRENT-download.patch
 
55
 
 
56
        # Patch: Update changelog
 
57
        patch -p1 < update/$NEXT/maradns-$CURRENT-changelog.patch
 
58
 
 
59
fi
 
60
 
 
61
# Update RPM spec file (We now have a script make the .spec file)
 
62
rm build/maradns-$CURRENT.spec
 
63
tools/misc/make.maradns.spec $NEXT > build/maradns-$NEXT.spec
 
64
 
 
65
# Update Deadwood to 3.0.01
 
66
rm -fr deadwood-3.0.01
 
67
tar xjf ../deadwood-3.0.02.tar.bz2
 
68
 
 
69
# Regenerate Deadwood's random prime number
 
70
echo Making new random prime
 
71
cd deadwood-3.0.02/src
 
72
cc -o foo RandomPrime.c
 
73
./foo > DwRandPrime.h
 
74
rm foo
 
75
cd ../..
 
76
 
 
77
# Release-specific fixes and changes go here
 
78
 
 
79
# Patch #1: Fix for security bug CVE-2011-0520
 
80
# Impact: Remote denial of service ("packet of death" that terminates
 
81
# MaraDNS process; can not be used to escalate privileges)
 
82
patch -p1 < update/$NEXT/maradns-1.4.05-CVE-2011-0520.patch
 
83
 
 
84
# Anything below this line normally is not changed between MaraDNS versions
 
85
 
 
86
# Make sure text changelog and FAQ are up-to-date
 
87
cp doc/en/webpage/faq.embed doc/en/source/faq.embed
 
88
cp doc/en/webpage/changelog.embed doc/en/source/changelog.embed
 
89
 
 
90
# Convert tabs in code to spaces, since this is inconsistant in different
 
91
# programs
 
92
echo removing tabs from source files
 
93
if true ; then
 
94
        for a in $( find . -type f -name \*.[ch] ) ; do 
 
95
                col -x < $a > foo
 
96
                mv foo $a
 
97
        done
 
98
fi
 
99
 
 
100
echo updating documentation
 
101
# Update the documentation
 
102
cd doc/en
 
103
make
 
104
cd man
 
105
make
 
106
cd ../examples
 
107
make
 
108
cd ../tutorial
 
109
make
 
110
cd ../text
 
111
make
 
112
cd ../webpage
 
113
#../../../tools/misc/make.download.embed > download.embed
 
114
make
 
115
# Go back to the maradns dir
 
116
cd ../../..
 
117
 
 
118
rm CHANGELOG
 
119
ln -s doc/en/changelog.txt CHANGELOG
 
120
 
 
121
# Go one level higher than the toplevel directory to copy this script
 
122
# over
 
123
cd ..
 
124
 
 
125
# Put this script in the "build" directory
 
126
cp $0 maradns-$NEXT/update/$NEXT
 
127
 
 
128
if [ "$1" = "new" ] ; then
 
129
        tar xjf maradns-$CURRENT.tar.bz2
 
130
        echo OK, both maradns-$CURRENT and maradns-$NEXT made\; you
 
131
        echo now can start making patches.
 
132
        exit 0
 
133
fi
 
134
 
 
135
if [ "$1" != "go" ] && [ "$1" != "snap" ] && [ "$1" != "work" ] ; then
 
136
        echo OK, maradns-$NEXT built.  Confirm this compiles and        
 
137
        echo perform basic regression before re-running this to make
 
138
        echo the tarballs.  Once you have tested this, rerun this 
 
139
        echo script as: \"$0 go\" or as \"$0 snap\" 
 
140
        echo to make a daily snapshot
 
141
        exit 0
 
142
fi
 
143
 
 
144
if [ "$1" = "work" ] ; then
 
145
        tar xjf maradns-$CURRENT.tar.bz2
 
146
        echo OK, both maradns-$CURRENT and maradns-$NEXT made\; you
 
147
        echo now can make more patches as needed.  
 
148
        exit 0
 
149
fi
 
150
 
 
151
# Build the tarballs
 
152
echo making new tarballs
 
153
 
 
154
if [ "$1" = "snap" ] ; then
 
155
        SNAP=Q.$( date +%Y%m%d )$REVISION
 
156
        rm -fr maradns-$SNAP
 
157
        mv maradns-$NEXT maradns-$SNAP
 
158
        tar cjf maradns-$SNAP.tar.bz2 maradns-$SNAP
 
159
        exit 0
 
160
else
 
161
        SNAP=$NEXT
 
162
        tar cjf maradns-$SNAP.tar.bz2 maradns-$SNAP
 
163
        tar czf maradns-$SNAP.tar.gz maradns-$SNAP
 
164
 
 
165
        # All of the compression we actually use was originally written by 
 
166
        # Igor Pavlov for the 7-zip compression suite
 
167
        echo shrinking .gz tarball
 
168
        advdef -z -4 maradns-$SNAP.tar.gz
 
169
fi
 
170
 
 
171
exit 0 # No exotic compression any more
 
172
 
 
173
echo using exotic compression
 
174
tar cf maradns-$SNAP.tar maradns-$SNAP
 
175
 
 
176
echo lzma compression \(this will take about 5 minutes\)
 
177
date
 
178
# To decompress: cat file.tar.lzma | lzma d -si -so | tar xvf -
 
179
# -d20 makes the file almost as small as -d22, but uses 1/4 of the memory
 
180
# (only a little over one meg needed for decompression)
 
181
lzma e maradns-$SNAP.tar maradns-$SNAP.tar.lzma -a2 -d20 -fb255
 
182
date
 
183
echo
 
184
 
 
185
# Clean up the uncompressed tarball
 
186
rm maradns-$SNAP.tar
 
187
 
 
188
exit 0
 
189
 
 
190
# The other exotic compressors can't be run in a pipeline
 
191
 
 
192
echo 7zip compression
 
193
date
 
194
7za a maradns-$SNAP.tar.7z maradns-$SNAP.tar
 
195
date
 
196
echo
 
197
 
 
198
echo paq6 compression \(This will take 2\-3 minutes\)
 
199
date
 
200
paq6v2 -2 maradns-$SNAP.tar.pq6 maradns-$SNAP.tar
 
201
date
 
202
echo
 
203
 
 
204
echo rzip compression
 
205
date
 
206
rzip maradns-$SNAP.tar
 
207
date
 
208
echo