source: npl/mailserver/netqmail/netqmail.SlackBuild @ 31fd825

Last change on this file since 31fd825 was a051af0, checked in by Edwin Eefting <edwin@datux.nl>, 4 years ago

updated to 1.06_rob20201204

  • Property mode set to 100755
File size: 11.0 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="rob20201204"
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
138# echo '#define CHKUSER_ENABLE_ALIAS_DEFAULT' >>  chkuser_settings.h || exit 1
139
140#large inode support
141sed 's/O2$/O2 -D_FILE_OFFSET_BITS=64/' conf-cc -i || exit 1
142make -j1 setup check || exit 1
143
144# Default qmail rules
145# cat <<END > /home/system/qmail/tcp.smtp
146# 127.0.0.1:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-queue"
147# 127.0.0.2:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
148# 127.0.0.3:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
149# 172.16.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
150# 172.17.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
151# 172.18.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
152# 172.19.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
153# 172.20.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
154# 172.21.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
155# 172.22.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
156# 172.23.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
157# 172.24.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
158# 172.25.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
159# 172.26.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
160# 172.27.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
161# 172.28.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
162# 172.29.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
163# 172.30.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
164# 172.31.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
165# 192.168.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
166# 10.:allow,RELAYCLIENT="",QMAILQUEUE="bin/qmail-qmqpc"
167# :allow,QMAILQUEUE="bin/qmail-qmqpc"
168# END
169#tcprules /home/system/qmail/tcp.smtp.cdb /home/system/qmail/tcp.smtp.tmp < /home/system/qmail/tcp.smtp
170
171# echo 5 > /var/qmail/control/concurrencyincoming
172# chmod 644 /var/qmail/control/concurrencyincoming
173
174
175# #locals is een link naar me
176# rm /var/qmail/control/locals
177# ln -s me /var/qmail/control/locals
178}
179
180make_scripts() {
181# Create a qmail run script
182# cat > /var/qmail/rc << END
183# #!/bin/sh
184# exec env - PATH="/var/qmail/bin:\$PATH" \
185# qmail-start ''  splogger qmail
186# END
187# chmod +x /var/qmail/rc
188
189# Create a qmail-send supervise (including log) run script
190# cat > /var/qmail/supervise/qmail-send/run << END
191# #!/bin/sh
192# #dynamic update of hostname
193# hostname -f > /var/qmail/control/me
194# #zet de assign file om naar binair formaat.
195# /var/qmail/bin/qmail-newu
196# exec /var/qmail/rc
197# END
198# chmod +x /var/qmail/supervise/qmail-send/run
199#
200# cat > /var/qmail/supervise/qmail-send/log/run << END
201# #!/bin/sh
202# exec /usr/bin/setuidgid qmaill /usr/bin/multilog t s2500000 /var/log/qmail/qmail-send
203# END
204# chmod +x /var/qmail/supervise/qmail-send/log/run
205#
206# # Create a qmail-smtpd supervise (including log) run script
207# cat > /var/qmail/supervise/qmail-smtpd/run << END
208# #!/bin/sh
209# QMAILDUID=\`id -u qmaild\`
210# NOFILESGID=\`id -g qmaild\`
211# MAXSMTPD=\`cat /var/qmail/control/concurrencyincoming\`
212# LOCAL=\`head -1 /var/qmail/control/me\`
213# if [ -z "\$QMAILDUID" -o -z "\$NOFILESGID" -o -z "\$MAXSMTPD" -o -z "\$LOCAL" ]; then
214#     echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
215#     echo /var/qmail/supervise/qmail-smtpd/run
216#     exit 1
217# fi
218# if [ ! -f /var/qmail/control/rcpthosts ]; then
219#     echo "No /var/qmail/control/rcpthosts!"
220#     echo "Refusing to start SMTP listener because it'll create an open relay"
221#     exit 1
222# fi
223# exec /usr/bin/softlimit -m 150000000 /usr/bin/tcpserver -v -R -l "\$LOCAL" -x /etc/qmail/tcp.smtp.cdb \
224# -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
225# END
226# chmod +x /var/qmail/supervise/qmail-smtpd/run
227#
228# cat > /var/qmail/supervise/qmail-smtpd/log/run << END
229# #!/bin/sh
230# exec /usr/bin/setuidgid qmaill /usr/bin/multilog t s2500000 /var/log/qmail/qmail-smtpd
231# END
232# chmod +x /var/qmail/supervise/qmail-smtpd/log/run
233
234# Create a qmail-pop3d supervise (including log) run script
235#cat > /var/qmail/supervise/qmail-pop3d/run << END
236##!/bin/sh
237#exec env - PATH="/var/qmail/bin:\$PATH" \
238# tcpserver -vR -l 0 \
239# 0 25110 \
240# qmail-popup "\`cat /var/qmail/control/me\`" \
241# checkpassword qmail-pop3d Maildir \
242# 2>&1
243#END
244#chmod +x /var/qmail/supervise/qmail-pop3d/run
245
246#cat > /var/qmail/supervise/qmail-pop3d/log/run << END
247##!/bin/sh
248#exec /usr/bin/setuidgid qmaill /usr/bin/multilog t s2500000 /var/log/qmail/qmail-pop3d
249#END
250#chmod +x /var/qmail/supervise/qmail-pop3d/log/run
251true;
252}
253
254prepare() {
255#niet met symlink, ivm package removal
256# mkdir -p $PKG/service
257# mkdir -p $PKG/var/log
258mkdir -p $PKG/var/qmail
259# mkdir -p $PKG/etc
260# mkdir -p $PKG/home/system/qmail
261# mv /var/qmail/control $PKG/home/system/qmail
262# mv /var/qmail/alias $PKG/home/system/qmail
263# mv /var/qmail/queue $PKG/home/system/qmail
264# mv /var/qmail/users $PKG/home/system/qmail
265cp -a /var/qmail $PKG/var
266rm -rf $PKG/var/qmail/{queue,alias,control}
267
268# cp -a /var/log/qmail $PKG/var/log
269# ln -sf /home/system/qmail/queue $PKG/var/qmail/queue
270# ln -sf /home/system/qmail/control $PKG/var/qmail/control
271# ln -sf /home/system/qmail/alias $PKG/var/qmail/alias
272# ln -sf /home/system/qmail/users $PKG/var/qmail/users
273# ln -sf /home/system/qmail $PKG/etc/qmail
274# ln -sf /var/qmail/supervise/qmail-send $PKG/service/qmail-send
275# ln -sf /var/qmail/supervise/qmail-smtpd $PKG/service/qmail-smtpd
276#ln -s /var/qmail/supervise/qmail-pop3d $PKG/service/qmail-pop3d
277# cp -a $CWD/qmail.permissions $PKG/etc
278# cp -a $CWD/qmail.rc.config $PKG/etc
279# cp -a $CWD/qmailctl $PKG/var/qmail/bin/
280# cp -a /home/system/qmail/tcp.smtp $PKG/home/system/qmail/
281# cp -a /home/system/qmail/tcp.smtp.cdb $PKG/home/system/qmail/
282mkdir -p $PKG/usr/sbin
283ln -s /var/qmail/bin/sendmail $PKG/usr/sbin/sendmail || exit 1
284# cat $TMP/$NAME-$VERSION/$NAME-$VERSION/config-fast.sh | sed "s/QMAIL/\/var\/qmail/" > $PKG/var/qmail/bin/config-fast
285# chmod 600 $PKG/etc/qmail.permissions
286# chmod 600 $PKG/etc/qmail.rc.config
287# chmod 755 $PKG/var/qmail/bin/qmailctl
288# chmod 755 $PKG/var/qmail/bin/config-fast
289
290}
291
292description() {
293mkdir -p $PKG/install
294        cat > $PKG/install/slack-desc << END
295      |-----handy-ruler------------------------------------------------------|
296$NAME: $NAME $VERSION
297$NAME:
298$NAME: netqmail is a community-assembled distribution of qmail.
299$NAME: It includes the untouched source along with a single combined patch.
300$NAME: Modified by DatuX for Syn-3.
301$NAME:
302$NAME:
303$NAME:
304$NAME:
305$NAME:
306$NAME:
307END
308}
309
310runscript() {
311#cat > $PKG/install/doinst.sh << END
312##!/bin/sh
313#/sbin/postinst.sh
314#END
315#chmod +x $PKG/install/doinst.sh
316
317#postinstall
318mkdir -p $PKG/etc/postinst.d
319cat > $PKG/etc/postinst.d/post.qmail << END
320#!/bin/sh
321svcrestart /service/qmail-smtpd
322svcrestart /service/qmail-send
323
324END
325chmod +x $PKG/etc/postinst.d/post.qmail
326}
327
328build() {
329# configfile moeten op .new eindigen
330# 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
331
332
333# Build the package:
334cd $PKG
335echo $VERSION"_"$ROBVERSION > $CWD/$NAME.version
336echo $ARCH > $CWD/$NAME.arch
337makepkg -l y -c n $CWD/$NAME.pkg
338
339echo "Your $NAME package is complete, make sure you open it up before installing it."
340}
341
342cleanup() {
343# Delete the temporary users and groups
344userdel alias
345userdel qmaild
346userdel qmaill
347userdel qmailp
348userdel qmailq
349userdel qmailr
350userdel qmails
351groupdel nofiles
352groupdel qmail
353}
354
355make_dirs || exit 1
356compile || exit 1
357make_scripts || exit 1
358prepare || exit 1
359description || exit 1
360runscript  || exit 1
361build || exit 1
362#cleanup || exit 1
Note: See TracBrowser for help on using the repository browser.