/[smeserver]/rpms/qpsmtpd/sme9/qpsmtpd.spec
ViewVC logotype

Contents of /rpms/qpsmtpd/sme9/qpsmtpd.spec

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.5 - (show annotations) (download)
Fri Jul 5 23:53:17 2013 UTC (11 years, 3 months ago) by wellsi
Branch: MAIN
CVS Tags: qpsmtpd-0_84-7_el6_sme
Changes since 1.4: +7 -2 lines
* Fri Jul 5 2013 Ian Wells <esmith@wellsi.com> 0.84-7.sme
- Accept messages with no body and no trailing \n after headers [SME: 7754]

1 # $Id: qpsmtpd.spec,v 1.4 2013/05/05 05:49:53 wellsi Exp $
2
3 Name: qpsmtpd
4 Version: 0.84
5 Release: 7%{?dist}
6 Summary: qpsmtpd + qpsmtpd-apache + qpsmtpd-async
7 License: MIT
8 Group: System Environment/Daemons
9 URL: http://smtpd.develooper.com/
10 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
11 BuildRequires: perl >= 0:5.00503
12 BuildRequires: perl(ExtUtils::MakeMaker)
13 BuildArch: noarch
14 Requires: perl(Mail::Header), perl(Net::DNS) perl(Net::IP)
15 Requires(pre): coreutils, shadow-utils, perl
16
17 Source0: %{name}-%{version}.tar.gz
18 Source1: qpsmtpd-forkserver.rc
19 Source2: qpsmtpd-forkserver.sysconfig
20 Source3: qpsmtpd-plugin-file_connection
21 Source4: qpsmtpd-xinetd
22 Source5: in.qpsmtpd
23 Source6: qpsmtpd.conf
24 Source7: README.selinux
25
26 Patch1: 0001-Misc-documentation-updates.patch
27 Patch2: 0002-added-ClamAV-version-to-the-X-Virus-Checked-header.patch
28 Patch3: 0003-new-plugin-check_bogus_bounce.patch
29 Patch4: 0004-microoptimizations-replace-regex-with-lc-eq.patch
30 Patch5: 0005-remove-vestiges-of-a-bygone-RCS.patch
31 Patch6: 0006-added-definedness-test-to-local_port-as-it-was-emitt.patch
32 Patch7: 0007-Add-guidelines-for-commit-messages.patch
33 Patch8: 0008-added-auth_checkpassword-plugin.patch
34 Patch9: 0009-updates-to-auth_vpopmail_sql-module.patch
35 Patch10: 0010-new-plugin-auth_vpopmaild.patch
36 Patch11: 0011-start-working-on-Changes-file-for-0.84-next.patch
37 Patch12: 0012-fix-copy-paste-error-in-auth_flat_file.patch
38 Patch13: 0013-added-auth_vpopmail-plugin.patch
39 Patch14: 0014-rewrote-sender_permitted_from.patch
40 Patch15: 0015-add-TCPLOCAL-variables-to-qp-connection.patch
41 Patch16: 0016-added-local_ip-option-to-p0f-plugin.patch
42 Patch17: 0017-added-p0f-support-to-greylist-plugin.patch
43 Patch18: 0018-packaging-updates.patch
44 Patch19: 0019-Check-for-the-exact-string-resonses-from-vpopmaild-r.patch
45 Patch20: 0020-new-plugin-check_badmailfrom_patterns.patch
46 Patch21: 0021-ignore-search-path-in-DNS-lookups.patch
47 Patch22: 0022-don-t-create-homedir-in-RPM.patch
48 Patch23: 0023-corrected-email-address.patch
49 Patch24: 0024-increased-default-TLS-security-setting.patch
50 Patch25: 0025-give-badrcptto-a-reasonable-name.patch
51 Patch26: 0026-add-test-name-to-test-output.patch
52 Patch27: 0027-renamed-test-from-foo-to-rcpt_ok.patch
53 Patch28: 0028-Shorten-clarify-Connection-and-Transaction-notes.patch
54 Patch29: 0029-Run-hook_reset_transaction-after-all-connections.patch
55 Patch30: 0030-Add-support-for-multiple-postfix-cleanup-sockets.patch
56 Patch31: 0031-Adds-the-ability-to-have-multiple-instances-each-wit.patch
57 Patch32: 0032-I-forgot-to-sync-the-code-that-calls-the-original-co.patch
58 Patch33: 0033-new-plugin-rcpt_map.patch
59 Patch34: 0034-plugins-rcpt_map-cleanup.patch
60 Patch35: 0035-Fix-for-plugins-returning-DONE-from-HELO-EHLO.patch
61 Patch36: 0036-prefork-use-new-instance-instead-of-cloning.patch
62 Patch37: 0037-Revert-Spool-body-when-transaction-body_fh-is-called.patch
63 Patch38: 0038-Patch-FATAL-PLUGIN-ERROR-check_basicheaders.patch
64 Patch39: 0039-qpsmtpd-0.84-spamassassin_size_limit.patch
65 Patch40: 0040-qpsmtpd-forkserver_fix_Net_DNS_update_breaks_qpsmtpd.patch
66
67 Patch100: qpsmtpd-0.40-badrcptto_allowrelay.patch
68 Patch101: qpsmtpd-0.83-peer_hooks.patch
69 Patch102: qpsmtpd-0.83-loginit.patch
70 Patch103: qpsmtpd-forkserver-keepalive.patch
71 Patch104: qpsmtpd-0.84-accept-empty-email.patch
72
73 %description
74 qpsmtpd is a flexible smtpd daemon written in Perl. Apart from the core
75 SMTP features, all functionality is implemented in small "extension
76 plugins" using the easy to use object oriented plugin API.
77
78 qpsmtpd was originally written as a drop-in qmail-smtpd replacement, but
79 now it also includes a smtp forward and a postfix "backend".
80
81 %package apache
82 Requires: perl(mod_perl2)
83 Summary: mod_perl-2 connection handler for qpsmtpd
84 Group: System Environment/Daemons
85
86 %package async
87 Summary: qpsmtpd using async I/O in a single process
88 Group: System Environment/Daemons
89
90 %description apache
91
92 This module implements a mod_perl/apache 2.0 connection handler
93 that turns Apache into an SMTP server using Qpsmtpd.
94
95 %description async
96 This package contains the Qpsmtpd::PollServer module, which allows
97 qpsmtd to handle many connections in a single process and the
98 qpsmpd-async which uses it.
99
100 %prep
101 %setup -q
102 %patch1 -p1
103 %patch2 -p1
104 %patch3 -p1
105 %patch4 -p1
106 %patch5 -p1
107 %patch6 -p1
108 %patch7 -p1
109 %patch8 -p1
110 %patch9 -p1
111 %patch10 -p1
112 %patch11 -p1
113 %patch12 -p1
114 %patch13 -p1
115 %patch14 -p1
116 %patch15 -p1
117 %patch16 -p1
118 %patch17 -p1
119 %patch18 -p1
120 %patch19 -p1
121 %patch20 -p1
122 %patch21 -p1
123 #%patch22 -p1
124 %patch23 -p1
125 %patch24 -p1
126 %patch25 -p1
127 %patch26 -p1
128 %patch27 -p1
129 %patch28 -p1
130 %patch29 -p1
131 %patch30 -p1
132 %patch31 -p1
133 %patch32 -p1
134 %patch33 -p1
135 %patch34 -p1
136 %patch35 -p1
137 %patch36 -p1
138 %patch37 -p1
139 %patch38 -p1
140 %patch39 -p1
141 %patch40 -p1
142
143 %patch100 -p1
144 %patch101 -p1
145 %patch102 -p1
146 %patch103 -p0
147 %patch104 -p1
148
149 %build
150 CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL INSTALLDIRS="vendor" PREFIX="%{buildroot}%{_prefix}"
151 make
152
153 %clean
154 rm -rf $RPM_BUILD_ROOT
155 %install
156
157 rm -rf $RPM_BUILD_ROOT
158 find blib/lib -name '*.pm.*' -exec rm -f {} \;
159 make pure_install
160
161 mkdir -p %{buildroot}%{_datadir}/%{name}
162 rm -f %{buildroot}%{_datadir}/%{name}/plugins/*.*
163 cp -r plugins %{buildroot}%{_datadir}/%{name}/plugins
164 mkdir -p %{buildroot}%{_sysconfdir}/%{name}
165 rm -f %{buildroot}%{_sysconfdir}/%{name}/*.*
166 cp -r config.sample/* %{buildroot}%{_sysconfdir}/%{name}/
167 echo %{_datadir}/%{name}/plugins > %{buildroot}%{_sysconfdir}/%{name}/plugin_dirs
168 echo %{_localstatedir}/spool/qpsmtpd > %{buildroot}%{_sysconfdir}/%{name}/spool_dir
169 echo logging/file_connection loglevel LOGINFO %{_localstatedir}/log/qpsmtpd/%Y-%m-%d > %{buildroot}%{_sysconfdir}/%{name}/logging
170 mkdir -p %{buildroot}%{_initrddir}
171 cp %{SOURCE1} %{buildroot}%{_initrddir}/qpsmtpd-forkserver
172 mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
173 cp %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/qpsmtpd-forkserver
174 cp %{SOURCE3} %{buildroot}%{_datadir}/%{name}/plugins/logging/file_connection
175 mkdir -p %{buildroot}%{_localstatedir}/spool/qpsmtpd
176 mkdir -p %{buildroot}%{_localstatedir}/log/qpsmtpd
177 mkdir -p %{buildroot}%{_sysconfdir}/xinetd.d
178 cp %{SOURCE4} %{buildroot}%{_sysconfdir}/xinetd.d/smtp
179 mkdir -p %{buildroot}%{_sbindir}
180 cp %{SOURCE5} %{buildroot}%{_sbindir}/in.smtp
181 mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
182 cp %{SOURCE6} %{buildroot}%{_sysconfdir}/httpd/conf.d
183 mkdir -p %{buildroot}%{_docdir}/%{name}-apache-%{version}
184 cp %{SOURCE7} %{buildroot}%{_docdir}/%{name}-apache-%{version}
185
186 [ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress
187
188 find %{buildroot}%{_prefix} \( -name perllocal.pod -o -name .packlist \) -exec rm {} \;
189 find %{buildroot}%{_prefix} -type f -print | \
190 sed "s@^%{buildroot}@@g" | \
191 grep -v [Aa]sync | \
192 grep -v packaging | \
193 grep -v README.selinux | \
194 grep -v /Apache | \
195 grep -v /Danga | \
196 grep -v Qpsmtpd/ConfigServer.pm | \
197 grep -v Qpsmtpd/PollServer.pm > %{name}-%{version}-%{release}-filelist
198 if [ "$(cat %{name}-%{version}-%{release}-filelist)X" = "X" ] ; then
199 echo "ERROR: EMPTY FILE LIST"
200 exit -1
201 fi
202
203 %files -f %{name}-%{version}-%{release}-filelist
204 %defattr(-,root,root)
205 %doc CREDITS Changes LICENSE README README.plugins STATUS
206 %{_initrddir}/qpsmtpd-forkserver
207 %config(noreplace) %{_sysconfdir}/qpsmtpd/*
208 %config(noreplace) %{_sysconfdir}/xinetd.d/smtp
209 %config(noreplace) %{_sysconfdir}/sysconfig/qpsmtpd-forkserver
210
211 %files apache
212 %defattr(-,root,root)
213 %{_prefix}/share/perl5/vendor_perl/Apache/Qpsmtpd.pm
214 %{_mandir}/man3/Apache::Qpsmtpd.3pm.gz
215 %config(noreplace) %{_sysconfdir}/httpd/conf.d/*
216 %doc %{_docdir}/%{name}-apache-%{version}/README.selinux
217
218 %files async
219 %defattr(-,root,root)
220 %{_bindir}/qpsmtpd-async
221 %{_prefix}/share/perl5/vendor_perl/Danga/Client.pm
222 %{_prefix}/share/perl5/vendor_perl/Danga/TimeoutSocket.pm
223 %{_prefix}/share/perl5/vendor_perl/Qpsmtpd/ConfigServer.pm
224 %{_prefix}/share/perl5/vendor_perl/Qpsmtpd/Plugin/Async/DNSBLBase.pm
225 %{_prefix}/share/perl5/vendor_perl/Qpsmtpd/PollServer.pm
226 %{_mandir}/man1/qpsmtpd-async.1.gz
227 %{_datadir}/%{name}/plugins/async/*
228
229 %pre
230
231 %changelog
232 * Fri Jul 5 2013 Ian Wells <esmith@wellsi.com> 0.84-7.sme
233 - Accept messages with no body and no trailing \n after headers [SME: 7754]
234
235 * Thu Apr 25 2013 chris burnat <devlist@burnat.com> 0.84-6.sme
236 - Fix Net::DNS update breaks qpsmtpd, codes suggested by Ian [SME: 7561]
237
238 * Wed Apr 24 2013 Daniel Berteaud <daniel@firewall-services.com> 0.84-5.sme
239 - allows the spamassassin plugin to read the size limit from its
240 arguments [SME: 7559]
241
242 * Fri Feb 1 2013 Shad L. Lords <slords@mail.com> 0.84-4.sme
243 - Update spec so building on rhel6 works [SME: 7263]
244
245 * Fri May 04 2012 Charlie Brady <charlie_brady@mitel.com> 0.84-3.sme
246 - Set SO_KEEPALIVE option on client socket - to detect dead
247 connections. [SME: 6924]
248
249 * Sun Nov 14 2010 <slords@mail.com> 0.84-2.sme
250 - Sync with upstream git repo.
251 - Fix require_resolvable_fromhost doesn't work [SME: 6369]
252 - Fix TLS security defaults [SME: 6241]
253 - Fix fatal errors when mail has no headers [SME: 6345]
254
255 * Wed Apr 14 2010 <slords@mail.com> 0.84-0.1.sme
256 - Update to 0.84
257 - add sme specific patches
258 - Perl module rpms moved to /usr/share/perl5/vendor_perl [SME: 7223]
259
260 * Wed Mar 3 2010 <filippo.carletti@gmail.com> 0.83-0.7.sme
261 - Remove spool and log dir from package (in smeserver-qpsmtpd)
262 - Don't create smtpd user (unused in sme) [SME: 5815]
263
264 * Thu Nov 5 2009 <smeserver-contribs@snetram.nl> 0.83-0.6.sme
265 - Apply qpsmtpd git changesets to implement custom SPAM
266 subject prefix [SME: 5031]
267
268 * Tue Nov 3 2009 <slords@mail.com> 0.83-0.5.sme
269 - Update pre requires so scripts don't fail on install [SME: 5558]
270
271 * Sat Oct 31 2009 <slords@mail.com> 0.83-0.4.sme
272 - Rebase bad_rcptto patch to remove orig file [SME: 5548]
273 - Change logging in tls init to prevent warnings [SME: 5551]
274
275 * Thu Oct 29 2009 <slords@mail.com> 0.83-0.3.sme
276 - Only run/initialize plugins once [SME: 5533]
277
278 * Mon Oct 26 2009 <filippo.carletti@gmail.com> 0.83-0.2.sme
279 - Change spool dir permissions and owner to qpsmtpd:clamav
280 - Change log dir permissions and owner to smelog:smelog
281
282 * Tue Sep 22 2009 <filippo.carletti@gmail.com> 0.83-0.1.sme
283 - add sme specific patches
284
285 * Fri Sep 18 2009 <rpmbuild@robinbowes.com> 0.83-0.1
286 - Update to 0.83
287
288 * Sun Jul 12 2009 <rpmbuild@robinbowes.com> 0.82-0.1
289 - Update to latest release
290 - don't add qpsmtpd to start-up by default
291 - add apache config file to qpsmtpd-apache package
292 - remove all patches
293 - use rpm macros for dirs
294 - use a filelist for main package instead of a long list of files
295
296 * Tue Jul 15 2008 <rpmbuild@robinbowes.com> 0.43-0.7
297 - Removed SelectServer.pm from .spec file
298
299 * Tue Mar 18 2008 <rpmbuild@robinbowes.com> 0.43-0.6
300 - moved config files back to /etc/qpsmtpd following some changes
301 to the qpsmtpd src
302
303 * Tue Mar 18 2008 <rpmbuild@robinbowes.com> 0.43-0.5
304 - moved config files to /etc/qpsmtpd/config
305
306 * Tue Mar 18 2008 <rpmbuild@robinbowes.com> 0.43-0.4
307 - Moved qpsmtpd-async to /usr/bin
308 - Added qpsmtpd-async man page to async package
309 - Added async smtproute plugin to async package
310
311 * Wed Mar 12 2008 <rpmbuild@robinbowes.com> 0.43-0.3
312 - Makefile.PL now updated in svn, so remove hack
313
314 * Wed Mar 12 2008 <rpmbuild@robinbowes.com> 0.43-0.2
315 - Added qpsmtpd-prefork to qpsmtpd RPM, inc. hack to work round
316 deficiency in Makefile.PL
317
318 * Mon Mar 10 2008 <rpmbuild@robinbowes.com> 0.43-0.1
319 - Updated to work with Makefile to build from svn
320
321 * Wed Sep 12 2007 <rpmbuild@robinbowes.com> 0.40-2.0
322 - Updated to build trunk-r790
323
324 * Tue Jun 12 2007 <hjp@hjp.at> 0.40-1.0
325 - updated to 0.40 - no code change.
326
327 * Thu Jun 07 2007 <hjp@hjp.at> 0.40-0.2
328 - unset environment variables which are normally tainted in perl.
329 - updated to 0.40rc1
330 - added dependency on Net::IP (needed by some plugins)
331
332 * Sat May 05 2007 <hjp@hjp.at> 0.33-0.5
333 - moved environment cleanup into start() function, otherwise
334 LANG just gets reinitialized.
335
336 * Sat May 05 2007 <hjp@hjp.at> 0.33-0.4
337 - split qpsmtpd-async into a separate package to avoid dependency
338 on ParaDNS.
339
340 * Sat May 05 2007 <hjp@hjp.at> 0.33-0.3
341 - also unset LANG, LC_ALL and LC_TIME in startup script to prevent
342 locale specific Received headers (bug reported by Dominik Meyer)
343
344 * Sun Feb 25 2007 <hjp@hjp.at> 0.33-0.2
345 - 0.3x branch has been merged back to trunk.
346 Got current snapshot (r715) from trunk.
347
348 * Sun Feb 25 2007 <hjp@hjp.at> 0.33-0.1
349 - Start forkserver via "daemon" (Gavin Carr)
350 - Fixed 'service qpsmtpd-forkserver status' (Gavin Carr)
351 - Changed policy for config files to noreplace (Gavin Carr)
352
353 * Sun Nov 05 2006 <hjp@hjp.at> 0.33-0.0
354 - Upgraded to current snapshot from 0.3x branch (which should become
355 0.33 soon-ish)
356 - included xinetd-support again.
357
358 * Sat Mar 18 2006 <hjp@hjp.at> 0.32-2
359 - fix dnsbl to check whether answer fits query.
360 - randomize Net::DNS ids for qpsmtpd-forkserver child processes.
361
362 * Wed Mar 08 2006 <hjp@hjp.at> 0.32-1
363 - New upstream 0.32
364 - rc-file unsets PERL_UNICODE (bug #38397)
365
366 * Sat Jan 28 2006 <hjp@hjp.at> 0.31.1-3
367 - Use ${SOURCE*} macros to refer to source files
368 - Avoid invoking rpm and other cleanup in %pre section
369 - Invoke chkconfig in %post.
370 - (Thanks to Josko Plazonic for the reporting these problems and
371 suggesting fixes)
372
373 * Tue Nov 30 2005 <hjp@hjp.at> 0.31.1-2
374 - Revision 170 of plugins/loggin/file_connection:
375 Return DECLINED from open_log.
376 Open log in write_log if it isn't already open.
377
378 * Tue Nov 29 2005 <hjp@hjp.at> 0.31.1-1
379 - Commented out queue plugins from sample config
380 - Added dependencies
381 - Create smtpd user if it doesn't exist
382 - Added /var/log/qpsmtpd and /var/spool/qpsmtpd
383
384 * Sat Nov 26 2005 <hjp@hjp.at>
385 - Added file_connection plugin
386 - Startup file for qpsmtpd-forkserver now uses --detach and assumes that
387 a suitable logging module is configured (file_connection by default)
388
389 * Wed Nov 23 2005 <hjp@hjp.at>
390 - Forkserver drops privileges before loading plugins now.
391
392 * Sun Nov 20 2005 <hjp@hjp.at>
393 - New upstream 0.31.1
394
395 * Mon Nov 14 2005 <hjp@hjp.at> 0.31-8
396 - New upstream 0.31rc3.
397 - pre-connection patch slightly simplified since upstream fixed one of
398 the bugs.
399
400 * Tue Aug 23 2005 <hjp@hjp.at>
401 - forced INSTALLSITELIB=/usr/lib/perl5/site_perl as suggested by
402 Charlie Brady.
403
404 * Sat Aug 20 2005 <hjp@hjp.at> 0.31-7
405 - RC2 from upstream.
406 - Removed patches which aren't applied from spec file.
407
408 * Fri Jul 22 2005 <hjp@hjp.at> 0.31-6
409 - New upstream snapshot from 0.31 branch: svn revision 509.
410
411 * Sun Jul 17 2005 <hjp@hjp.at> 0.31-5
412 - include only /etc/init.d/qpsmtpd-forkserver, not /etc/init.d
413 it conflicts with old initscripts packages.
414
415 * Sun Jul 17 2005 <hjp@hjp.at> 0.31-4
416 - removed tabs from forkserver
417
418 * Sun Jul 17 2005 <hjp@hjp.at> 0.31-3
419 - added startup script for forkserver
420 - changed BuildArchitectures to noarch.
421
422 * Sat Jul 16 2005 <hjp@hjp.at> 0.31-2
423 - pre-connection hook is now actually called, not just defined.
424
425 * Fri Jul 15 2005 <hjp@hjp.at> 0.31-1
426 - merged with 0.31. Most of my patches are now in the official release.
427 - merged Gavin's per-user-config patch with my dirs patch, since the
428 latter needs a way to turn off logging.
429 - added /etc/qpsmtpd/plugin_dir to package.
430
431 * Mon Jun 13 2005 <hjp@hjp.at> 0.29-6
432 - fixed removal of patch backup files
433 - fixed option --pid-file
434
435 * Sun Jun 12 2005 <hjp@hjp.at>
436 - avoid installing patch backup files
437 - split Apache::Qpsmtpd into separate package to avoid dependency hell.
438 - fixed URL
439 - changed group to Daemons.
440 - Fixed installation for newer versions of ExtUtils::MakeMaker
441
442 * Wed Jun 1 2005 <hjp@hjp.at> 0.29-5
443 - Really don't reap children in signal handler.
444
445 * Tue May 31 2005 <hjp@hjp.at> 0.29-4
446 - Return 421 for DENYSOFT_DISCONNECT
447 - Don't reap children in signal handler.
448
449 * Thu May 19 2005 <hjp@hjp.at> 0.29-3
450 - removed code to accept paths without <>.
451
452 * Thu May 19 2005 <hjp@hjp.at> 0.29-2
453 - added QPSMTPD_CONFIG env variable and plugin_dir config.
454 - added supplemental groups and support for pid file
455 - added shared_connect hook
456 - changed log level for SMTP dialog from DEBUG to INFO
457
458 * Thu Apr 21 2005 hjp@hjp.at
459 - added plugins, /etc and docs.
460
461 * Mon Apr 18 2005 hjp@hjp.at
462 - Specfile autogenerated
463

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed