/[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.7 - (show annotations) (download)
Mon Dec 9 19:47:15 2013 UTC (10 years, 10 months ago) by vip-ire
Branch: MAIN
Changes since 1.6: +4 -3 lines
Update changelog to be more descriptive

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

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