1 | # $Id$ |
---|
2 | |
---|
3 | PortSystem 1.0 |
---|
4 | |
---|
5 | name qmail-spamcontrol |
---|
6 | version 2.5.19 |
---|
7 | revision 0 |
---|
8 | categories mail |
---|
9 | maintainers yahoo.com:compconsultant |
---|
10 | platforms darwin |
---|
11 | |
---|
12 | description Qmail, enhanced Spamcontrol version |
---|
13 | |
---|
14 | long_description Robust, popular mail system. |
---|
15 | |
---|
16 | extract.mkdir yes |
---|
17 | |
---|
18 | universal_variant no |
---|
19 | |
---|
20 | variant relaymailfrom description {Relay based on sender email, not a good idea} {} |
---|
21 | variant noreqbrackets description {Do not require brackets in SMTP addresses} {} |
---|
22 | variant noverp description {Do not alow VERP addresses for recipients} {} |
---|
23 | variant moreipme description {Patch to account for certain NAT or load balance situations} {} |
---|
24 | variant bigtodo description {May make very large installations more efficient} {} |
---|
25 | |
---|
26 | homepage http://www.fehcom.de/qmail/spamcontrol.html |
---|
27 | |
---|
28 | master_sites http://www.fehcom.de/qmail/spamcontrol/:spamcontrol \ |
---|
29 | http://cr.yp.to/software/:qmail \ |
---|
30 | http://qmail.site2nd.org/:qmail \ |
---|
31 | http://qmail-mirror.jms1.net/:qmail \ |
---|
32 | http://www.qmail.org/:qmail \ |
---|
33 | |
---|
34 | distfiles qmail-1.03.tar.gz:qmail \ |
---|
35 | spamcontrol-2519_tgz.bin:spamcontrol \ |
---|
36 | |
---|
37 | checksums qmail-1.03.tar.gz \ |
---|
38 | md5 622f65f982e380dbe86e6574f3abcb7c \ |
---|
39 | sha1 18fb960481291a0503e93a94df3f6094edb7f27a \ |
---|
40 | rmd160 b851f273f1d365d38efd949b1efcf35768ffa30f \ |
---|
41 | spamcontrol-2519_tgz.bin \ |
---|
42 | md5 acca46cc48d8b5cfa9eb3de4d3fc90ad \ |
---|
43 | sha1 b259183cb9afd7a574ad598cb2399af5002226ec \ |
---|
44 | rmd160 8374835ade0656145ba15eded23c6f8ce0a1b936 \ |
---|
45 | |
---|
46 | worksrcdir qmail-1.03 |
---|
47 | |
---|
48 | patchfiles patch-dns.c.diff \ |
---|
49 | patch-strerr_sys.c.diff \ |
---|
50 | patch-qmail-lspawn.c.diff \ |
---|
51 | patch-qmail-rspawn.c.diff \ |
---|
52 | patch-qmail.c.diff \ |
---|
53 | patch-Makefile.diff |
---|
54 | |
---|
55 | configure.cflags -O2 -include /usr/include/errno.h -c |
---|
56 | build.target setup-patch |
---|
57 | destroot.cmd ./install-destroot |
---|
58 | |
---|
59 | pre-fetch { |
---|
60 | if {${os.platform} == "darwin" && ${os.major} == "6"} { |
---|
61 | return -code error "${name} requires Mac OS X 10.3 or newer." |
---|
62 | } |
---|
63 | } |
---|
64 | |
---|
65 | post-extract { |
---|
66 | |
---|
67 | # Merge Spamcontrol source with Qmail source |
---|
68 | foreach file [glob ${worksrcpath}/qmail-1.03/*] { |
---|
69 | file rename ${file} ${worksrcpath}/ |
---|
70 | } |
---|
71 | file delete ${worksrcpath}/qmail-1.03 |
---|
72 | |
---|
73 | # Create an install file to install into destroot since |
---|
74 | # destroot is not supported by qmail |
---|
75 | file copy ${worksrcpath}/conf-qmail ${worksrcpath}/conf-destroot |
---|
76 | reinplace "s|/var/qmail|${destroot}${prefix}/var/qmail|g" \ |
---|
77 | ${worksrcpath}/conf-destroot |
---|
78 | file copy ${worksrcpath}/install.c ${worksrcpath}/install-destroot.c |
---|
79 | |
---|
80 | # Change live install dir to reflect the prefix |
---|
81 | reinplace "s|/var/qmail|${prefix}/var/qmail|g" \ |
---|
82 | ${worksrcpath}/conf-qmail |
---|
83 | } |
---|
84 | |
---|
85 | pre-patch { |
---|
86 | # Apply Spamcontrol patches |
---|
87 | foreach file [glob ${worksrcpath}/*.patch] { |
---|
88 | system "patch -d ${worksrcpath} -p2 <${file}" |
---|
89 | } |
---|
90 | } |
---|
91 | |
---|
92 | post-patch { |
---|
93 | |
---|
94 | # Handle the variants, disable via source code define change |
---|
95 | foreach file [glob ${worksrcpath}/*c] { |
---|
96 | if {![variant_isset relaymailfrom]} { |
---|
97 | reinplace "s|^#define RELAYMAILFROM|\/* #define RELAYMAILFROM *\/|g" \ |
---|
98 | ${file} |
---|
99 | } |
---|
100 | if {[variant_isset noreqbrackets]} { |
---|
101 | reinplace "s|^#define REQBRACKETS|\/* #define REQBRACKETS *\/|g" \ |
---|
102 | ${file} |
---|
103 | } |
---|
104 | if {[variant_isset noverp]} { |
---|
105 | reinplace "s|^#define VERP|\/* #define VERP *\/|g" \ |
---|
106 | ${file} |
---|
107 | } |
---|
108 | if {![variant_isset moreipme]} { |
---|
109 | reinplace "s|^#define MOREIPME|\/* #define MOREIPME *\/|g" \ |
---|
110 | ${file} |
---|
111 | } |
---|
112 | if {![variant_isset bigtodo]} { |
---|
113 | reinplace "s|^#define BIGTODO|\/* #define BIGTODO *\/|g" \ |
---|
114 | ${file} |
---|
115 | } |
---|
116 | } |
---|
117 | } |
---|
118 | |
---|
119 | configure { |
---|
120 | |
---|
121 | # The qmail users and groups are required before compilation |
---|
122 | addgroup qmail gid=2107 |
---|
123 | addgroup nofiles gid=2108 |
---|
124 | adduser alias uid=7790 gid=[existsgroup nofiles] realname=Qmail-alias-user home=${prefix}/var/qmail shell=/usr/bin/true |
---|
125 | adduser qmaild uid=7791 gid=[existsgroup nofiles] realname=Qmail-SMTP-user home=${prefix}/var/qmail shell=/usr/bin/true |
---|
126 | adduser qmaill uid=7792 gid=[existsgroup nofiles] realname=Qmail-log-user home=${prefix}/var/qmail shell=/usr/bin/true |
---|
127 | adduser qmailp uid=7793 gid=[existsgroup nofiles] realname=Qmail-password-user home=${prefix}/var/qmail shell=/usr/bin/true |
---|
128 | adduser qmailq uid=7794 gid=[existsgroup qmail] realname=Qmail-queue-user home=${prefix}/var/qmail shell=/usr/bin/true |
---|
129 | adduser qmailr uid=7795 gid=[existsgroup qmail] realname=Qmail-remote-user home=${prefix}/var/qmail shell=/usr/bin/true |
---|
130 | adduser qmails uid=7796 gid=[existsgroup qmail] realname=Qmail-send-user home=${prefix}/var/qmail shell=/usr/bin/true |
---|
131 | } |
---|
132 | |
---|
133 | pre-destroot { |
---|
134 | # A whole lot of keepdirs, Qmail creates lots of required, empty directories |
---|
135 | destroot.keepdirs \ |
---|
136 | ${destroot}${prefix}/var/log/qmail/smtpd \ |
---|
137 | ${destroot}${prefix}/var/qmail/control \ |
---|
138 | ${destroot}${prefix}/var/qmail/users \ |
---|
139 | ${destroot}${prefix}/var/qmail/queue/pid \ |
---|
140 | ${destroot}${prefix}/var/qmail/queue/bounce |
---|
141 | if {![variant_isset bigtodo]} { |
---|
142 | destroot.keepdirs-append \ |
---|
143 | ${destroot}${prefix}/var/qmail/queue/todo \ |
---|
144 | ${destroot}${prefix}/var/qmail/queue/intd |
---|
145 | } |
---|
146 | |
---|
147 | for {set i 0} {$i <= 22} {incr i} { |
---|
148 | destroot.keepdirs-append \ |
---|
149 | ${destroot}${prefix}/var/qmail/queue/info/${i} \ |
---|
150 | ${destroot}${prefix}/var/qmail/queue/remote/${i} \ |
---|
151 | ${destroot}${prefix}/var/qmail/queue/local/${i} \ |
---|
152 | ${destroot}${prefix}/var/qmail/queue/mess/${i} |
---|
153 | if {[variant_isset bigtodo]} { |
---|
154 | destroot.keepdirs-append \ |
---|
155 | ${destroot}${prefix}/var/qmail/queue/todo/${i} \ |
---|
156 | ${destroot}${prefix}/var/qmail/queue/intd/${i} |
---|
157 | } |
---|
158 | } |
---|
159 | } |
---|
160 | |
---|
161 | post-destroot { |
---|
162 | # Minimal requirements per Qmail install doc |
---|
163 | touch ${destroot}${prefix}/var/qmail/alias/.qmail-postmaster |
---|
164 | touch ${destroot}${prefix}/var/qmail/alias/.qmail-mailer-daemon |
---|
165 | touch ${destroot}${prefix}/var/qmail/alias/.qmail-root |
---|
166 | |
---|
167 | # Create the log directories |
---|
168 | xinstall -d -o qmaill ${destroot}${prefix}/var/log/qmail/smtpd |
---|
169 | |
---|
170 | # Copy example files |
---|
171 | xinstall -d ${destroot}${prefix}/var/qmail/samples |
---|
172 | xinstall -m 644 -W ${filespath} README.txt ${destroot}${prefix}/var/qmail/samples |
---|
173 | foreach file {run qmailctl qmail-send-run qmail-send-log-run qmail-smtpd-run qmail-smtpd-log-run} { |
---|
174 | xinstall -W ${filespath} ${file}.in ${destroot}${prefix}/var/qmail/samples/${file} |
---|
175 | reinplace "s%@PREFIX@%${prefix}%g" ${destroot}${prefix}/var/qmail/samples/${file} |
---|
176 | } |
---|
177 | |
---|
178 | # Additional Spamcontrol files |
---|
179 | xinstall -d ${destroot}${prefix}/var/qmail/scripts |
---|
180 | foreach file {qmail-alias2recipients qmail-users2recipients qmail-pwd2recipients qmail-vpopmail2recipients} { |
---|
181 | xinstall -W ${worksrcpath} ${file} ${destroot}${prefix}/var/qmail/scripts |
---|
182 | } |
---|
183 | foreach file {conf-spamcontrol ucspi-ssl-0.70_ucspitls-0.4.patch_ clamav-0.90.1_output.patch_ Makefile.djbdns badmailfrom badmimetypes badloadertypes badrcptto INSTALL.spamcontrol HISTORY.spamcontrol FILES.spamcontrol LICENSE.spamcontrol TODO.spamcontrol LOGGING.spamcontrol SMTPREPLY.spamcontrol PROPOSAL.mav install_spamcontrol.sh} { |
---|
184 | xinstall -m 644 -W ${worksrcpath} ${file} ${destroot}${prefix}/var/qmail/doc |
---|
185 | } |
---|
186 | foreach file [glob -directory ${worksrcpath} README* RELEASE*] { |
---|
187 | xinstall -m 644 ${file} ${destroot}${prefix}/var/qmail/doc |
---|
188 | } |
---|
189 | |
---|
190 | # User must run this |
---|
191 | xinstall -W ${worksrcpath} config-fast ${destroot}${prefix}/var/qmail/scripts/config-fast |
---|
192 | |
---|
193 | # Per Qmail install doc |
---|
194 | xinstall ${destroot}${prefix}/var/qmail/boot/home ${destroot}${prefix}/var/qmail/rc.sample |
---|
195 | } |
---|
196 | |
---|
197 | post-install { |
---|
198 | ui_msg "\n |
---|
199 | To control qmail, the daemontools and ucspi-tcp ports are highly recommended. |
---|
200 | A good reference for setting up qmail is http://www.lifewithqmail.org/ . |
---|
201 | This port includes some sample files based on the Life with Qmail web site. |
---|
202 | They can be found in ${prefix}/var/qmail/samples . |
---|
203 | Also look at http://www.fehcom.de/qmail/spamcontrol.html for further info. |
---|
204 | The fehcom site has docs for all the stuff added to the base qmail software. |
---|
205 | There are numerous configuration options to qmail. Please read all the docs! |
---|
206 | ****************************** |
---|
207 | NEW INSTALLS ONLY |
---|
208 | For now, you must run ${prefix}/var/qmail/scripts/config-fast your.domain.name |
---|
209 | to set up some files for your mail server. your.domain.name should point |
---|
210 | to this machine you are installing qmail on. |
---|
211 | ****************************** |
---|
212 | \n" |
---|
213 | } |
---|
214 | |
---|
215 | post-activate { |
---|
216 | |
---|
217 | # Remove the turd files, it is not know if they cause a problem but |
---|
218 | # people have recommended not having them there. |
---|
219 | system "cd ${prefix}/var/qmail; find . -name .turd_${name} -delete" |
---|
220 | } |
---|
221 | |
---|
222 | livecheck.check regex |
---|
223 | livecheck.regex {SPAMCONTROL\sVersion\s([0-9.]+)} |
---|