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

Contents of /rpms/qpsmtpd/sme8/qpsmtpd.spec

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


Revision 1.28 - (show annotations) (download)
Sun Nov 14 20:50:20 2010 UTC (14 years ago) by slords
Branch: MAIN
Changes since 1.27: +85 -5 lines
* Sun Nov 14 2010 <slords@mail.com> 0.84-2.sme
- Sync with upstream git repo.
- Fix require_resolvable_fromhost doesn't work [SME: 6369]
- Fix TLS security defaults [SME: 6366]
- Fix fatal errors when mail has no headers [SME: 6345]

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

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