~baryluk/+junk/dmd-debian-packages

« back to all changes in this revision

Viewing changes to dmd-nonfree/debian/postinst

  • Committer: Witold Baryluk
  • Date: 2009-05-31 14:52:31 UTC
  • Revision ID: baryluk@smp.if.uj.edu.pl-20090531145231-u9djirf99dxa0isy
Initial import of my DMD debian packages scripts 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
set -e
 
3
 
 
4
# Inspired by the metrox post-install script written by
 
5
# Johnie Ingram <johnie@debian.org>
 
6
# Modified by Gopal Narayanan <gopal@debian.org>
 
7
# Modified for dmd package by Witold Baryluk <baryluk@smp.if.uj.edu.pl>
 
8
 
 
9
#DEBHELPER#
 
10
 
 
11
M=""
 
12
#M="2"
 
13
 
 
14
#P=`pwd`
 
15
#PREFIX="$P/debian/dmd${M}-nonfree"
 
16
 
 
17
PREFIX=""
 
18
 
 
19
if [ "$0" = "abort-upgrade" ]; then
 
20
        exit 0
 
21
fi
 
22
 
 
23
MIRROR="http://ftp.digitalmars.com/"
 
24
 
 
25
## -- BEGIN OF AUTOMATICLY UPDATED SECTION DMD2 - DONT EDIT THIS AND LINES BELOW
 
26
V="1.043"
 
27
MD5="6c83b7296cb84090a9ebc11ab0fb94a2"
 
28
## -- END OF AUTOMATICLY UPDATED SECTION DMD2 - DONT EDIT THIS AND LINES ABOVE
 
29
 
 
30
if [ "x${V}" = "x" ] || [ "x${MD5}" = "x" ]; then
 
31
        echo "V and MD5 variables needed!" >&2
 
32
        exit 10
 
33
fi
 
34
 
 
35
FILE="dmd.${V}.zip"
 
36
 
 
37
DOWNLOAD="${MIRROR}${FILE}"
 
38
 
 
39
if [ "x${TMPDIR}" != "x" ]; then
 
40
        TDIR="${TMPDIR}"
 
41
else
 
42
        TDIR="/tmp"
 
43
fi
 
44
 
 
45
XTDIR=`tempfile`
 
46
DELFILES="${XTDIR}"
 
47
rm -f "${XTDIR}"
 
48
cd "${TDIR}"
 
49
 
 
50
FILE="${TDIR}/${FILE}"
 
51
 
 
52
if [ -d "${XTDIR}" ]; then 
 
53
        echo "Directory ${XTDIR} already exists."
 
54
        echo "Please remove ${XTDIR} and try again."
 
55
        exit 1
 
56
fi
 
57
 
 
58
if [ ! -f "${FILE}" ]; then
 
59
        echo ${FILE} not found in ${TDIR}.
 
60
        if [ ! -x /usr/bin/wget ]; then
 
61
                echo "wget not available for automatic retrieval of tar file"
 
62
                echo "Please get $DOWNLOAD and put it into $TDIR"
 
63
                echo "And then try reinstalling..."
 
64
                echo
 
65
                exit 1
 
66
        fi
 
67
        temp=`tempfile -d "${TDIR}" -s "_dmd${M}.zip"`
 
68
        FILE="${temp}"
 
69
        if ! /usr/bin/wget -nd -O "${temp}" "${DOWNLOAD}"; then
 
70
                echo "wget failed"
 
71
                exit 1
 
72
        fi
 
73
fi
 
74
 
 
75
if [ "x${DMDNONFREE_IGNORE_MD5SUM}" != "xyes" ]; then
 
76
        if [ ! -x /usr/bin/md5sum ]; then
 
77
                echo "md5sum"
 
78
                exit 1
 
79
        fi
 
80
 
 
81
        MD5C=`md5sum "${FILE}" | cut -f1 -d' '`
 
82
 
 
83
        if [ "x${MD5}" = "x" ] || [ "x${MD5C}" = "x${MD5}" ]; then
 
84
                echo "md5sum correct"
 
85
        else
 
86
                echo "zip file insecure. md5sum incorect!"
 
87
                echo" Make sure ${FILE} is the right zip file."
 
88
                echo "There can by many possible reasons for this: corrupted file, changes of archive without notice, maintainer mistake."
 
89
                echo "If You are sure that this file is right one, export environment variable DMDNONFREE_IGNORE_MD5SUM=yes"
 
90
                exit 1
 
91
        fi
 
92
fi
 
93
 
 
94
echo -n "Unzipping ${FILE} ... "
 
95
mkdir -p ${XTDIR}
 
96
cd ${XTDIR}
 
97
if ! unzip "${FILE}" 2> /dev/null; then
 
98
        echo "failed!"
 
99
        echo -n "Cleaning up ... "
 
100
        cd ${TDIR} && rm -rf ${DELFILES}
 
101
        echo "done (sigh)."
 
102
        exit 1
 
103
fi
 
104
echo "done."
 
105
 
 
106
echo "Installing Digital Mars D compiler version ${V}:"
 
107
 
 
108
if [ "x$PREFIX" != "x" ]; then
 
109
        mkdir -p $PREFIX
 
110
        mkdir -p $PREFIX/usr
 
111
        mkdir -p $PREFIX/usr/bin
 
112
        mkdir -p $PREFIX/usr/lib
 
113
        mkdir -p $PREFIX/usr/share
 
114
        mkdir -p $PREFIX/usr/share/doc
 
115
        mkdir -p $PREFIX/usr/share/man
 
116
        mkdir -p $PREFIX/usr/share/man/man1
 
117
fi
 
118
 
 
119
echo -n "installing binaries.."
 
120
echo -n "."
 
121
install -g root -o root -m 755 $XTDIR/dmd/linux/bin/dmd $PREFIX/usr/bin/dmd${M}
 
122
echo -n "."
 
123
install -g root -o root -m 755 $XTDIR/dmd/linux/bin/rdmd $PREFIX/usr/bin/rdmd${M}
 
124
echo -n "."
 
125
install -g root -o root -m 755 $XTDIR/dmd/linux/bin/obj2asm $PREFIX/usr/bin/obj2asm${M}
 
126
echo -n "."
 
127
install -g root -o root -m 755 $XTDIR/dmd/linux/bin/dumpobj $PREFIX/usr/bin/dumpobj${M}
 
128
echo -n "."
 
129
echo ". done."
 
130
 
 
131
echo -n "installing manpages.."
 
132
install -g root -o root -m 644 $XTDIR/dmd/man/man1/dmd.1 $PREFIX/usr/share/man/man1/dmd${M}.1
 
133
echo -n "."
 
134
install -g root -o root -m 644 $XTDIR/dmd/man/man1/obj2asm.1 $PREFIX/usr/share/man/man1/obj2asm${M}.1
 
135
echo -n "."
 
136
install -g root -o root -m 644 $XTDIR/dmd/man/man1/dumpobj.1 $PREFIX/usr/share/man/man1/dumpobj${M}.1
 
137
echo -n "."
 
138
/bin/gzip -f -9 $PREFIX/usr/share/man/man1/dmd${M}.1
 
139
echo -n "."
 
140
/bin/gzip -f -9 $PREFIX/usr/share/man/man1/obj2asm${M}.1
 
141
echo -n "."
 
142
/bin/gzip -f -9 $PREFIX/usr/share/man/man1/dumpobj${M}.1
 
143
echo -n "."
 
144
 
 
145
echo -n "installing documentation.."
 
146
 
 
147
install -g root -o root -m 0755 -d $PREFIX/usr/share/doc/dmd${M}-nonfree
 
148
rm -rf $PREFIX/usr/share/doc/dmd${M}-nonfree/html 2>/dev/null
 
149
echo -n "."
 
150
mv -f $XTDIR/dmd/html $PREFIX/usr/share/doc/dmd${M}-nonfree/html
 
151
echo -n "."
 
152
rm -rf $PREFIX/usr/share/doc/dmd${M}-nonfree/samples 2>/dev/null
 
153
echo -n "."
 
154
mv -f $XTDIR/dmd/samples $PREFIX/usr/share/doc/dmd${M}-nonfree/samples
 
155
echo -n "."
 
156
chown -R root:root $PREFIX/usr/share/doc/dmd${M}-nonfree
 
157
echo -n "."
 
158
chmod -R u=rwX,go=rX $PREFIX/usr/share/doc/dmd${M}-nonfree
 
159
echo -n "."
 
160
install -g root -o root -m 0644 $XTDIR/dmd/license.txt $PREFIX/usr/share/doc/dmd${M}-nonfree/license.txt
 
161
echo -n "."
 
162
install -g root -o root -m 0644 $XTDIR/dmd/src/phobos/phoboslicense.txt $PREFIX/usr/share/doc/dmd${M}-nonfree/license-phobos.txt
 
163
if [ "x${M}" = "x2" ]; then
 
164
echo -n "."
 
165
install -g root -o root -m 0644 $XTDIR/dmd/src/druntime/LICENSE_1_0.txt $PREFIX/usr/share/doc/dmd${M}-nonfree/license-druntime.txt
 
166
fi
 
167
echo ". done."
 
168
 
 
169
if [ "x${M}" = "x2" ]; then
 
170
echo -n "installing d runtime library (lib - binary files).."
 
171
rm -f $PREFIX/usr/lib/libdruntime.a 2>/dev/null
 
172
rm -f $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/libdruntime.a 2>/dev/null
 
173
rm -f $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/release/libdruntime.a 2>/dev/null
 
174
echo -n "."
 
175
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/druntime
 
176
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib
 
177
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/debug
 
178
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/release
 
179
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/unittest
 
180
echo -n "."
 
181
install -g root -o root -m 0644 $XTDIR/dmd/linux/lib/libdruntime.a $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/release/libdruntime.a
 
182
echo -n "."
 
183
ln -s release/libdruntime.a $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/libdruntime.a
 
184
echo ". done."
 
185
fi
 
186
 
 
187
echo -n "installing phobos library (lib - binary files).."
 
188
rm -f $PREFIX/usr/lib/libphobos${M}.a 2>/dev/null
 
189
rm -f $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/libphobos${M}.a 2>/dev/null
 
190
rm -f $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/release/libphobos${M}.a 2>/dev/null
 
191
echo -n "."
 
192
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/phobos
 
193
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib
 
194
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/debug
 
195
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/release
 
196
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/unittest
 
197
echo -n "."
 
198
install -g root -o root -m 0644 $XTDIR/dmd/linux/lib/libphobos${M}.a $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/release/libphobos${M}.a
 
199
echo -n "."
 
200
ln -s release/libphobos${M}.a $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/libphobos${M}.a
 
201
echo ". done."
 
202
 
 
203
if [ "x${M}" = "x2" ]; then
 
204
echo -n "installing d runtime library (import - sources).."
 
205
rm -rf $PREFIX/usr/lib/dmd${M}/src/druntime 2>/dev/null
 
206
rm -rf $PREFIX/usr/include/d/dmd${M}-posix/druntime 2>/dev/null
 
207
echo -n "."
 
208
install -g root -o root -m 0755 -d $PREFIX/usr/include/d/dmd${M}-posix/druntime
 
209
cp -Rf $XTDIR/dmd/src/druntime/import/ $PREFIX/usr/include/d/dmd${M}-posix/druntime/
 
210
echo -n "."
 
211
chown -R root:root $PREFIX/usr/include/d/dmd${M}-posix/druntime
 
212
echo -n "."
 
213
chmod -R u=rwX,go=rX $PREFIX/usr/include/d/dmd${M}-posix/druntime
 
214
echo -n "."
 
215
rm -f $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/build-dmd.bat
 
216
rm -f $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/build-dmd.bat
 
217
rm -f $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/dmd-win32.mak
 
218
rm -f $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/compiler/dmd/win32.mak
 
219
rm -f $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/gc/basic/win32.mak
 
220
rm -f $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/gc/stub/win32.mak
 
221
echo -n "."
 
222
install -g root -o root -m 0644 $XTDIR/dmd/src/druntime/LICENSE_1_0.txt $PREFIX/usr/include/d/dmd${M}-posix/druntime/LICENSE_1_0.txt
 
223
install -g root -o root -m 0644 $XTDIR/dmd/src/druntime/README.txt $PREFIX/usr/include/d/dmd${M}-posix/druntime/README.txt
 
224
echo -n "."
 
225
find $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/ -type f | xargs dos2unix
 
226
echo ". done."
 
227
fi
 
228
 
 
229
 
 
230
echo -n "installing phobos library (import - sources).."
 
231
rm -rf $PREFIX/usr/lib/dmd${M}/src/phobos 2>/dev/null
 
232
rm -rf $PREFIX/usr/include/d/dmd${M}-posix/phobos 2>/dev/null
 
233
echo -n "."
 
234
install -g root -o root -m 0755 -d $PREFIX/usr/include/d/dmd${M}-posix/phobos
 
235
cp -Rf $XTDIR/dmd/src/phobos $PREFIX/usr/include/d/dmd${M}-posix/phobos/import
 
236
echo -n "."
 
237
chown -R root:root $PREFIX/usr/include/d/dmd${M}-posix/phobos
 
238
echo -n "."
 
239
chmod -R u=rwX,go=rX $PREFIX/usr/include/d/dmd${M}-posix/phobos
 
240
echo -n "."
 
241
rm -f $PREFIX/usr/include/d/dmd${M}-posix/phobos/import/minit.obj
 
242
rm -f $PREFIX/usr/include/d/dmd${M}-posix/phobos/import/win32.mak
 
243
rm -f $PREFIX/usr/include/d/dmd${M}-posix/phobos/import/internal/gc/win32.mak
 
244
rm -f $PREFIX/usr/include/d/dmd${M}-posix/phobos/import/etc/c/zlib/win32.mak
 
245
echo -n "."
 
246
install -g root -o root -m 0644 $XTDIR/dmd/src/phobos/phoboslicense.txt $PREFIX/usr/include/d/dmd${M}-posix/phobos/phoboslicense.txt
 
247
echo -n "."
 
248
find $PREFIX/usr/include/d/dmd${M}-posix/phobos/ -type f | xargs dos2unix
 
249
echo ". done."
 
250
 
 
251
echo -n "Cleaning up..."
 
252
cd "${TDIR}" && rm -rf "${DELFILES}"
 
253
echo -n "."
 
254
rm -f "${temp}"
 
255
echo "done."