source: npl/mailserver/netqmail/netqmail.SlackBuild @ 4d0b1ea

gcc484perl-5.22
Last change on this file since 4d0b1ea was 4f7cda5, checked in by Edwin Eefting <edwin@datux.nl>, 7 years ago

upgrade to netqmail 1.06 with Roberto Puzzanghera's patch (http://notes.sagredo.eu/en/qmail-notes-185/patching-qmail-82.html)

  • Property mode set to 100755
File size: 10.9 KB
Line 
1#!/bin/sh
2#DEP:ucspi_tcp
3#DEP:slackpackage
4#DEP:libspf2
5#NEED:groff
6#DEP:libdomainkeys
7#DEP:libsrs2
8#DEP:openssl
9#DEP:vpopmail
10
11#Gemodificeerd door edwin voor mailserver productlijn.
12#mail gaat nu via amavis en word delivered via dspam.
13
14## Include the slackware-pkg conf file
15if [ -a /etc/slack-package.conf ]; then
16. /etc/slack-package.conf
17  else
18  echo "Sorry you need to have the slack-package.conf file to run these"
19  echo "please install the slackbuilds package from LinuxPackages.net"
20  exit 1
21fi
22
23# Set initial variables:
24NAME=netqmail
25VERSION=1.06
26
27
28PKG=$TMP/package_$NAME
29
30
31if [ ! -d $TMP ]; then
32  mkdir -p $TMP # location to build the source
33fi
34
35rm -rf $PKG
36mkdir -p $PKG
37
38cd $TMP
39rm -rf $NAME-$VERSION
40tar xvf $CWD/$NAME-$VERSION.tar || exit 1
41
42
43
44# Maak  users and group aan
45groupadd -g 55 nofiles
46useradd -g nofiles -u 50 -d /home/system/qmail/alias alias -s /sbin/false
47useradd -g nofiles -u 51 -d /var/qmail qmaild -s /usr/bin/false
48useradd -g nofiles -u 52 -d /var/qmail qmaill -s /usr/bin/false
49useradd -g nofiles -u 53 -d /var/qmail qmailp -s /usr/bin/false
50groupadd -g 56 qmail
51useradd -g qmail -u 54 -d /var/qmail qmailq -s /usr/bin/false
52useradd -g qmail -u 55 -d /var/qmail qmailr -s /usr/bin/false
53useradd -g qmail -u 56 -d /var/qmail qmails -s /usr/bin/false
54
55# Directory's maken
56make_dirs() {
57# mkdir -p /var/qmail/supervise/qmail-send/log
58# mkdir -p /var/qmail/supervise/qmail-smtpd/log
59# #mkdir -p /var/qmail/supervise/qmail-pop3d/log
60# mkdir -p /var/log/qmail/qmail-send
61# mkdir -p /var/log/qmail/qmail-smtpd
62# #mkdir -p /var/log/qmail/qmail-pop3d
63# mkdir -p /var/qmail/alias
64# mkdir -p /var/qmail/control
65# mkdir -p /var/qmail/users
66# mkdir -p /home/system/qmail
67
68# Files touchen
69# touch /var/qmail/control/rcpthosts
70# touch /var/qmail/control/defaultdomain
71# touch /var/qmail/control/virtualdomains
72# touch /var/qmail/control/locals
73#touch /var/qmail/alias/.qmail-postmaster
74#touch /var/qmail/alias/.qmail-root
75# qmqpservers bestand maken
76# echo "127.0.0.1" > /var/qmail/control/qmqpservers
77# default alias file voor delivery via dspam naar cyrus
78# echo '|/usr/bin/syn3-dagent "$LOCAL" "$SENDER"' > /var/qmail/alias/.qmail-default
79# assign bestand aanmaken om delivery naar een maildir te overiden
80# echo '+:alias:50:55:/var/qmail/alias:-::
81# .' > /var/qmail/users/assign
82
83# Rechten goed zetten
84# chmod +t /var/qmail/supervise/qmail-send
85# chmod +t /var/qmail/supervise/qmail-smtpd
86#chmod +t /var/qmail/supervise/qmail-pop3d
87# chmod 644 /var/qmail/alias/.qmail*
88
89# chown -R qmaill /var/log/qmail
90true
91}
92
93compile() {
94cd $NAME-$VERSION || exit 1
95
96
97
98
99#algemene patches netqmail
100# ./collate.sh || exit 1
101
102
103#qmail tap patch
104#patch -F 3 -d $NAME-$VERSION -p1 < $CWD/qmail-tap.diff  || exit 1
105#TESTEN OF NIEWUER WERKT!
106
107#qmail dns patch
108# patch -F 3 -d $NAME-$VERSION -p1 < $CWD/qmail-103.patch  || exit 1
109
110
111#qmail spp patch
112# echo "SPP"
113# tar -xzf $CWD/qmail-spp-0.42.tar.gz || exit 1
114# patch -d $NAME-$VERSION -F3 -p0 < qmail-spp-0.42/netqmail-spp.diff || exit 1
115
116### all important qmail patches
117# above is all replaced by the great uberpatch from http://notes.sagredo.eu/en/qmail-notes-185/patching-qmail-82.html THANKS Roberto Puzzanghera!
118ROBVERSION="rob20180403"
119patch < /tmp/build/roberto-netqmail-1.06.patch-latest || exit 1
120ln -s /usr/include/srs2.h /usr/local/include/srs2.h
121
122# #### spp plugins
123# mkdir -p $PKG/var/qmail/plugins
124#
125# #helo plugin:
126# gcc -o helodnscheck $CWD/helodnscheck2.c -lresolv || exit 1
127# mv helodnscheck $PKG/var/qmail/plugins || exit 1
128#
129# gcc -Wall -o qmail-spp-spf $CWD/qmail-spp-spf-20091020.c -lspf2 -I/usr/include/spf2 || exit 1
130# mv qmail-spp-spf $PKG/var/qmail/plugins || exit 1
131#
132#
133# chmod +x $PKG/var/qmail/plugins/*
134
135#compile it
136cd $NAME-$VERSION
137#large inode support
138sed 's/O2$/O2 -D_FILE_OFFSET_BITS=64/' conf-cc -i || exit 1
139make setup check || exit 1
140
141# Default qmail rules
142# cat <<END > /home/system/qmail/tcp.smtp
143# 127.0.0.1:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-queue"
144# 127.0.0.2:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
145# 127.0.0.3:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
146# 172.16.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
147# 172.17.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
148# 172.18.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
149# 172.19.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
150# 172.20.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
151# 172.21.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
152# 172.22.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
153# 172.23.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
154# 172.24.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
155# 172.25.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
156# 172.26.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
157# 172.27.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
158# 172.28.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
159# 172.29.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
160# 172.30.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
161# 172.31.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
162# 192.168.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
163# 10.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
164# :allow,QMAILQUEUE="bin/qmail-qmqpc"
165# END
166#tcprules /home/system/qmail/tcp.smtp.cdb /home/system/qmail/tcp.smtp.tmp < /home/system/qmail/tcp.smtp
167
168# echo 5 > /var/qmail/control/concurrencyincoming
169# chmod 644 /var/qmail/control/concurrencyincoming
170
171
172# #locals is een link naar me
173# rm /var/qmail/control/locals
174# ln -s me /var/qmail/control/locals
175}
176
177make_scripts() {
178# Create a qmail run script
179# cat > /var/qmail/rc << END
180# #!/bin/sh
181# exec env - PATH="/var/qmail/bin:\$PATH" \
182# qmail-start ''  splogger qmail
183# END
184# chmod +x /var/qmail/rc
185
186# Create a qmail-send supervise (including log) run script
187# cat > /var/qmail/supervise/qmail-send/run << END
188# #!/bin/sh
189# #dynamic update of hostname
190# hostname -f > /var/qmail/control/me
191# #zet de assign file om naar binair formaat.
192# /var/qmail/bin/qmail-newu
193# exec /var/qmail/rc
194# END
195# chmod +x /var/qmail/supervise/qmail-send/run
196#
197# cat > /var/qmail/supervise/qmail-send/log/run << END
198# #!/bin/sh
199# exec /usr/bin/setuidgid qmaill /usr/bin/multilog t s2500000 /var/log/qmail/qmail-send
200# END
201# chmod +x /var/qmail/supervise/qmail-send/log/run
202#
203# # Create a qmail-smtpd supervise (including log) run script
204# cat > /var/qmail/supervise/qmail-smtpd/run << END
205# #!/bin/sh
206# QMAILDUID=\`id -u qmaild\`
207# NOFILESGID=\`id -g qmaild\`
208# MAXSMTPD=\`cat /var/qmail/control/concurrencyincoming\`
209# LOCAL=\`head -1 /var/qmail/control/me\`
210# if [ -z "\$QMAILDUID" -o -z "\$NOFILESGID" -o -z "\$MAXSMTPD" -o -z "\$LOCAL" ]; then
211#     echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
212#     echo /var/qmail/supervise/qmail-smtpd/run
213#     exit 1
214# fi
215# if [ ! -f /var/qmail/control/rcpthosts ]; then
216#     echo "No /var/qmail/control/rcpthosts!"
217#     echo "Refusing to start SMTP listener because it'll create an open relay"
218#     exit 1
219# fi
220# exec /usr/bin/softlimit -m 150000000 /usr/bin/tcpserver -v -R -l "\$LOCAL" -x /etc/qmail/tcp.smtp.cdb \
221# -c "\$MAXSMTPD" -u "\$QMAILDUID" -g "\$NOFILESGID" 0 smtp /usr/bin/rblsmtpd -r cbl.abuseat.org -r bl.spamcop.net /usr/bin/fixcrio /var/qmail/bin/qmail-smtpd 2>&1
222# END
223# chmod +x /var/qmail/supervise/qmail-smtpd/run
224#
225# cat > /var/qmail/supervise/qmail-smtpd/log/run << END
226# #!/bin/sh
227# exec /usr/bin/setuidgid qmaill /usr/bin/multilog t s2500000 /var/log/qmail/qmail-smtpd
228# END
229# chmod +x /var/qmail/supervise/qmail-smtpd/log/run
230
231# Create a qmail-pop3d supervise (including log) run script
232#cat > /var/qmail/supervise/qmail-pop3d/run << END
233##!/bin/sh
234#exec env - PATH="/var/qmail/bin:\$PATH" \
235# tcpserver -vR -l 0 \
236# 0 25110 \
237# qmail-popup "\`cat /var/qmail/control/me\`" \
238# checkpassword qmail-pop3d Maildir \
239# 2>&1
240#END
241#chmod +x /var/qmail/supervise/qmail-pop3d/run
242
243#cat > /var/qmail/supervise/qmail-pop3d/log/run << END
244##!/bin/sh
245#exec /usr/bin/setuidgid qmaill /usr/bin/multilog t s2500000 /var/log/qmail/qmail-pop3d
246#END
247#chmod +x /var/qmail/supervise/qmail-pop3d/log/run
248true;
249}
250
251prepare() {
252#niet met symlink, ivm package removal
253# mkdir -p $PKG/service
254# mkdir -p $PKG/var/log
255mkdir -p $PKG/var/qmail
256# mkdir -p $PKG/etc
257# mkdir -p $PKG/home/system/qmail
258# mv /var/qmail/control $PKG/home/system/qmail
259# mv /var/qmail/alias $PKG/home/system/qmail
260# mv /var/qmail/queue $PKG/home/system/qmail
261# mv /var/qmail/users $PKG/home/system/qmail
262cp -a /var/qmail $PKG/var
263rm -rf $PKG/var/qmail/{queue,alias,control}
264
265# cp -a /var/log/qmail $PKG/var/log
266# ln -sf /home/system/qmail/queue $PKG/var/qmail/queue
267# ln -sf /home/system/qmail/control $PKG/var/qmail/control
268# ln -sf /home/system/qmail/alias $PKG/var/qmail/alias
269# ln -sf /home/system/qmail/users $PKG/var/qmail/users
270# ln -sf /home/system/qmail $PKG/etc/qmail
271# ln -sf /var/qmail/supervise/qmail-send $PKG/service/qmail-send
272# ln -sf /var/qmail/supervise/qmail-smtpd $PKG/service/qmail-smtpd
273#ln -s /var/qmail/supervise/qmail-pop3d $PKG/service/qmail-pop3d
274# cp -a $CWD/qmail.permissions $PKG/etc
275# cp -a $CWD/qmail.rc.config $PKG/etc
276# cp -a $CWD/qmailctl $PKG/var/qmail/bin/
277# cp -a /home/system/qmail/tcp.smtp $PKG/home/system/qmail/
278# cp -a /home/system/qmail/tcp.smtp.cdb $PKG/home/system/qmail/
279mkdir -p $PKG/usr/sbin
280ln -s /var/qmail/bin/sendmail $PKG/usr/sbin/sendmail || exit 1
281# cat $TMP/$NAME-$VERSION/$NAME-$VERSION/config-fast.sh | sed "s/QMAIL/\/var\/qmail/" > $PKG/var/qmail/bin/config-fast
282# chmod 600 $PKG/etc/qmail.permissions
283# chmod 600 $PKG/etc/qmail.rc.config
284# chmod 755 $PKG/var/qmail/bin/qmailctl
285# chmod 755 $PKG/var/qmail/bin/config-fast
286
287}
288
289description() {
290mkdir -p $PKG/install
291        cat > $PKG/install/slack-desc << END
292      |-----handy-ruler------------------------------------------------------|
293$NAME: $NAME $VERSION
294$NAME:
295$NAME: netqmail is a community-assembled distribution of qmail.
296$NAME: It includes the untouched source along with a single combined patch.
297$NAME: Modified by DatuX for Syn-3.
298$NAME:
299$NAME:
300$NAME:
301$NAME:
302$NAME:
303$NAME:
304END
305}
306
307runscript() {
308#cat > $PKG/install/doinst.sh << END
309##!/bin/sh
310#/sbin/postinst.sh
311#END
312#chmod +x $PKG/install/doinst.sh
313
314#postinstall
315mkdir -p $PKG/etc/postinst.d
316cat > $PKG/etc/postinst.d/post.qmail << END
317#!/bin/sh
318svcrestart /service/qmail-smtpd
319svcrestart /service/qmail-send
320
321END
322chmod +x $PKG/etc/postinst.d/post.qmail
323}
324
325build() {
326# configfile moeten op .new eindigen
327# find $PKG/etc/qmail.* $PKG/home/system/qmail/control $PKG/home/system/qmail/users $PKG/home/system/qmail/tcp.* -type f -exec mv "{}" "{}.new" \; || exit 1
328
329
330# Build the package:
331cd $PKG
332echo $VERSION"_"$ROBVERSION > $CWD/$NAME.version
333echo $ARCH > $CWD/$NAME.arch
334makepkg -l y -c n $CWD/$NAME.pkg
335
336echo "Your $NAME package is complete, make sure you open it up before installing it."
337}
338
339cleanup() {
340# Delete the temporary users and groups
341userdel alias
342userdel qmaild
343userdel qmaill
344userdel qmailp
345userdel qmailq
346userdel qmailr
347userdel qmails
348groupdel nofiles
349groupdel qmail
350}
351
352make_dirs || exit 1
353compile || exit 1
354make_scripts || exit 1
355prepare || exit 1
356description || exit 1
357runscript  || exit 1
358build || exit 1
359#cleanup || exit 1
Note: See TracBrowser for help on using the repository browser.