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

Annotation of /rpms/qpsmtpd/sme9/qpsmtpd.spec

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


Revision 1.5 - (hide 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 wellsi 1.5 # $Id: qpsmtpd.spec,v 1.4 2013/05/05 05:49:53 wellsi Exp $
2 slords 1.1
3     Name: qpsmtpd
4     Version: 0.84
5 wellsi 1.5 Release: 7%{?dist}
6 slords 1.1 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 vip-ire 1.2 Patch39: 0039-qpsmtpd-0.84-spamassassin_size_limit.patch
65 burnat 1.3 Patch40: 0040-qpsmtpd-forkserver_fix_Net_DNS_update_breaks_qpsmtpd.patch
66 slords 1.1
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 wellsi 1.5 Patch104: qpsmtpd-0.84-accept-empty-email.patch
72 slords 1.1
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 vip-ire 1.2 %patch39 -p1
141 burnat 1.3 %patch40 -p1
142 slords 1.1
143     %patch100 -p1
144     %patch101 -p1
145     %patch102 -p1
146     %patch103 -p0
147 wellsi 1.5 %patch104 -p1
148 slords 1.1
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 wellsi 1.5 * 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 burnat 1.3 * 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 vip-ire 1.2 * 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 slords 1.1 * 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 wellsi 1.4 - Perl module rpms moved to /usr/share/perl5/vendor_perl [SME: 7223]
259 slords 1.1
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