/[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.15 - (show annotations) (download)
Mon Aug 11 20:32:47 2008 UTC (16 years, 2 months ago) by charliebrady
Branch: MAIN
CVS Tags: qpsmtpd-0_40-1_10_el5_sme
Changes since 1.14: +8 -2 lines
* Mon Aug 11 2008 Charlie Brady <charlie_brady@mitel.com> 0.40-1.10.sme
- Fix resolvable_fromhost bug where one or more MX records points
  to unreachable hosts. [SME: 4403]

1 # $Id: qpsmtpd.spec,v 1.14 2008/04/09 13:51:55 slords Exp $
2
3 Name: qpsmtpd
4 Version: 0.40
5 Release: 1.10%{?dist}
6 %define orig_version 0.40
7 Summary: qpsmtpd
8 License: distributable
9 Group: System Environment/Daemons
10 URL: http://smtpd.develooper.com/
11 BuildRoot: %{_tmppath}/%{name}-root
12 BuildRequires: perl >= 0:5.00503
13 BuildArchitectures: noarch
14 Requires: perl(Mail::Header), perl(Net::DNS) perl(Net::IP)
15
16 Source0: qpsmtpd-%{orig_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
23 Patch1: qpsmtpd-0.31-config.patch
24 Patch2: qpsmtpd-0.33-xinetd.patch
25 Patch3: qpsmtpd-0.33-af_inet6.patch
26 Patch4: qpsmtpd-0.31.1-queue.patch
27 Patch5: qpsmtpd-0.33-smtp-loginfo.patch
28 Patch6: qpsmtpd-0.33-hook-logdebug.patch
29 Patch7: qpsmtpd-0.32-dnsbl-checkanswer.patch
30 Patch8: qpsmtpd-0.32-dns-random-id.patch
31 Patch100: qpsmtpd-0.40-badhelo_disconnect.patch
32 Patch101: qpsmtpd-0.40-badrcptto_allowrelay.patch
33 Patch102: qpsmtpd-0.40-clamav_fix.patch
34 Patch103: qpsmtpd-0.40-peer_hooks.patch
35 Patch104: qpsmtpd-0.40-clamd_conf.patch
36 Patch105: qpsmtpd-0.40-denysoft.patch
37 Patch106: qpsmtpd-0.40-clamav-headers.patch
38 Patch107: qpsmtpd-0.40-rhsbl_disconnect.patch
39 Patch108: qpsmtpd-0.40-badrcpttoPlugin.patch
40 Patch109: qpsmtpd-0.40-spamassassin.patch
41 Patch110: qpsmtpd-0.40-resolvable_fromhost.patch
42
43 %description
44 qpsmtpd is a flexible smtpd daemon written in Perl. Apart from the core
45 SMTP features, all functionality is implemented in small "extension
46 plugins" using the easy to use object oriented plugin API.
47
48 qpsmtpd was originally written as a drop-in qmail-smtpd replacement, but
49 now it also includes a smtp forward and a postfix "backend".
50
51 %package apache
52 Summary: mod_perl-2 connection handler for qpsmtpd
53 Group: System Environment/Daemons
54
55 %package async
56 Summary: qpsmtpd using async I/O in a single process
57 Group: System Environment/Daemons
58
59 %description apache
60
61 This module implements a mod_perl/apache 2.0 connection handler
62 that turns Apache into an SMTP server using Qpsmtpd.
63
64 %description async
65 This package contains the Qpsmtpd::PollServer module, which allows
66 qpsmtd to handle many connections in a single process and the
67 qpsmpd-async which uses it.
68
69 %prep
70 %setup -q -n qpsmtpd-%{orig_version}
71 # XXX - doesn't apply cleanly any more but may still be needed for empty
72 # configs.
73 #%patch1 -p0 -b .config
74 # Merged into upstream:
75 #%patch2 -p0 -b .xinetd
76 #%patch3 -p0 -b .af_inet6
77 %patch4 -p0 -b .queue
78 #%patch5 -p0 -b .smtp-loginfo
79 #%patch6 -p0 -b .hook-logdebug
80 #%patch7 -p0 -b .dnsbl-checkanswer
81 #%patch8 -p0 -b .dns-random-id
82 %patch100 -p1
83 %patch101 -p1
84 #%patch102 -p1
85 %patch103 -p1
86 %patch104 -p1
87 %patch105 -p1
88 %patch106 -p1
89 %patch107 -p1
90 %patch108 -p1
91 %patch109 -p1
92 %patch110 -p1
93
94 %build
95 CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL INSTALLSITELIB=/usr/lib/perl5/site_perl
96 make
97
98
99 %clean
100 rm -rf $RPM_BUILD_ROOT
101 %install
102
103 rm -rf $RPM_BUILD_ROOT
104 eval `perl '-V:installarchlib'`
105 mkdir -p $RPM_BUILD_ROOT/$installarchlib
106 if grep -q DESTDIR Makefile
107 then
108 make DESTDIR=$RPM_BUILD_ROOT
109 find blib/lib -name '*.pm.*' -exec rm -f {} \;
110 make DESTDIR=$RPM_BUILD_ROOT install
111
112 else
113 make PREFIX=$RPM_BUILD_ROOT/usr
114 find blib/lib -name '*.pm.*' -exec rm -f {} \;
115 make PREFIX=$RPM_BUILD_ROOT/usr install
116 fi
117 mkdir -p $RPM_BUILD_ROOT/usr/sbin
118 cp qpsmtpd-async $RPM_BUILD_ROOT/usr/sbin
119 mkdir -p $RPM_BUILD_ROOT/usr/share/qpsmtpd
120 cp -r plugins $RPM_BUILD_ROOT/usr/share/qpsmtpd/plugins
121 rm -f $RPM_BUILD_ROOT/usr/share/qpsmtpd/plugins/*.*
122 mkdir -p $RPM_BUILD_ROOT/etc
123 cp -r config.sample $RPM_BUILD_ROOT/etc/qpsmtpd
124 rm -f $RPM_BUILD_ROOT/etc/qpsmtpd/*.*
125 echo /usr/share/qpsmtpd/plugins > $RPM_BUILD_ROOT/etc/qpsmtpd/plugin_dirs
126 echo /var/spool/qpsmtpd > $RPM_BUILD_ROOT/etc/qpsmtpd/spool_dir
127 echo logging/file_connection loglevel LOGINFO /var/log/qpsmtpd/%Y-%m-%d > $RPM_BUILD_ROOT/etc/qpsmtpd/logging
128 mkdir -p $RPM_BUILD_ROOT/etc/init.d/
129 cp %{SOURCE1} $RPM_BUILD_ROOT/etc/init.d/qpsmtpd-forkserver
130 mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/
131 cp %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/qpsmtpd-forkserver
132 cp %{SOURCE3} $RPM_BUILD_ROOT/usr/share/qpsmtpd/plugins/logging/file_connection
133 mkdir -p $RPM_BUILD_ROOT/var/spool/qpsmtpd
134 mkdir -p $RPM_BUILD_ROOT/var/log/qpsmtpd
135 mkdir -p $RPM_BUILD_ROOT/etc/xinetd.d
136 cp %{SOURCE4} $RPM_BUILD_ROOT/etc/xinetd.d/smtp
137 mkdir -p $RPM_BUILD_ROOT/usr/sbin
138 cp %{SOURCE5} $RPM_BUILD_ROOT/usr/sbin/in.smtp
139
140
141 [ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress
142
143 find $RPM_BUILD_ROOT/usr \( -name perllocal.pod -o -name .packlist \) -exec rm {} \;
144 find $RPM_BUILD_ROOT/usr -type f -print | \
145 sed "s@^$RPM_BUILD_ROOT@@g" | \
146 grep -v /Apache |
147 grep -v /Danga |
148 grep -v Qpsmtpd/ConfigServer.pm |
149 grep -v Qpsmtpd/PollServer.pm > qpsmtpd-%{version}-filelist
150 if [ "$(cat qpsmtpd-%{version}-filelist)X" = "X" ] ; then
151 echo "ERROR: EMPTY FILE LIST"
152 exit -1
153 fi
154 find $RPM_BUILD_ROOT/usr -type f -path '*/Apache*' -print | \
155 sed "s@^$RPM_BUILD_ROOT@@g" > qpsmtpd-apache-%{version}-filelist
156
157 %files
158 %defattr(-,root,root)
159 /usr/sbin/in.smtp
160 /usr/bin/qpsmtpd
161 /usr/bin/qpsmtpd-forkserver
162 /usr/lib/perl5/site_perl/Qpsmtpd.pm
163 /usr/lib/perl5/site_perl/Qpsmtpd/Plugin.pm
164 /usr/lib/perl5/site_perl/Qpsmtpd/Constants.pm
165 /usr/lib/perl5/site_perl/Qpsmtpd/Command.pm
166 /usr/lib/perl5/site_perl/Qpsmtpd/TcpServer.pm
167 /usr/lib/perl5/site_perl/Qpsmtpd/Connection.pm
168 /usr/lib/perl5/site_perl/Qpsmtpd/Transaction.pm
169 /usr/lib/perl5/site_perl/Qpsmtpd/Postfix/Constants.pm
170 /usr/lib/perl5/site_perl/Qpsmtpd/Postfix/pf2qp.pl
171 /usr/lib/perl5/site_perl/Qpsmtpd/TcpServer/Prefork.pm
172 /usr/lib/perl5/site_perl/Qpsmtpd/Auth.pm
173 /usr/lib/perl5/site_perl/Qpsmtpd/Utils.pm
174 /usr/lib/perl5/site_perl/Qpsmtpd/SelectServer.pm
175 /usr/lib/perl5/site_perl/Qpsmtpd/DSN.pm
176 /usr/lib/perl5/site_perl/Qpsmtpd/SMTP/Prefork.pm
177 /usr/lib/perl5/site_perl/Qpsmtpd/SMTP.pm
178 /usr/lib/perl5/site_perl/Qpsmtpd/Address.pm
179 /usr/lib/perl5/site_perl/Qpsmtpd/Postfix.pm
180 /usr/share/man/man3/Qpsmtpd::Command.3pm.gz
181 /usr/share/man/man3/Qpsmtpd.3pm.gz
182 /usr/share/man/man3/Qpsmtpd::Transaction.3pm.gz
183 /usr/share/man/man3/Qpsmtpd::Constants.3pm.gz
184 /usr/share/man/man3/Qpsmtpd::ConfigServer.3pm.gz
185 /usr/share/man/man3/Qpsmtpd::DSN.3pm.gz
186 /usr/share/man/man3/Qpsmtpd::Postfix.3pm.gz
187 /usr/share/man/man3/Qpsmtpd::Address.3pm.gz
188 /usr/share/man/man3/Qpsmtpd::Connection.3pm.gz
189 /usr/share/qpsmtpd/plugins/check_loop
190 /usr/share/qpsmtpd/plugins/check_relay
191 /usr/share/qpsmtpd/plugins/sender_permitted_from
192 /usr/share/qpsmtpd/plugins/count_unrecognized_commands
193 /usr/share/qpsmtpd/plugins/spamassassin
194 /usr/share/qpsmtpd/plugins/check_badrcptto
195 /usr/share/qpsmtpd/plugins/rcpt_ok
196 /usr/share/qpsmtpd/plugins/domainkeys
197 /usr/share/qpsmtpd/plugins/virus/klez_filter
198 /usr/share/qpsmtpd/plugins/virus/check_for_hi_virus
199 /usr/share/qpsmtpd/plugins/virus/uvscan
200 /usr/share/qpsmtpd/plugins/virus/kavscanner
201 /usr/share/qpsmtpd/plugins/virus/hbedv
202 /usr/share/qpsmtpd/plugins/virus/clamav
203 /usr/share/qpsmtpd/plugins/virus/clamdscan
204 /usr/share/qpsmtpd/plugins/virus/aveclient
205 /usr/share/qpsmtpd/plugins/virus/sophie
206 /usr/share/qpsmtpd/plugins/virus/bitdefender
207 /usr/share/qpsmtpd/plugins/queue/smtp-forward
208 /usr/share/qpsmtpd/plugins/queue/qmail-queue
209 /usr/share/qpsmtpd/plugins/queue/maildir
210 /usr/share/qpsmtpd/plugins/queue/exim-bsmtp
211 /usr/share/qpsmtpd/plugins/queue/postfix-queue
212 /usr/share/qpsmtpd/plugins/http_config
213 /usr/share/qpsmtpd/plugins/quit_fortune
214 /usr/share/qpsmtpd/plugins/milter
215 /usr/share/qpsmtpd/plugins/auth/authnull
216 /usr/share/qpsmtpd/plugins/auth/authdeny
217 /usr/share/qpsmtpd/plugins/auth/auth_flat_file
218 /usr/share/qpsmtpd/plugins/auth/auth_cvm_unix_local
219 /usr/share/qpsmtpd/plugins/auth/auth_vpopmail_sql
220 /usr/share/qpsmtpd/plugins/auth/auth_ldap_bind
221 /usr/share/qpsmtpd/plugins/tls_cert
222 /usr/share/qpsmtpd/plugins/logging/warn
223 /usr/share/qpsmtpd/plugins/logging/syslog
224 /usr/share/qpsmtpd/plugins/logging/adaptive
225 /usr/share/qpsmtpd/plugins/logging/file
226 /usr/share/qpsmtpd/plugins/logging/devnull
227 /usr/share/qpsmtpd/plugins/logging/file_connection
228 /usr/share/qpsmtpd/plugins/content_log
229 /usr/share/qpsmtpd/plugins/tls
230 /usr/share/qpsmtpd/plugins/check_spamhelo
231 /usr/share/qpsmtpd/plugins/check_norelay
232 /usr/share/qpsmtpd/plugins/check_earlytalker
233 /usr/share/qpsmtpd/plugins/hosts_allow
234 /usr/share/qpsmtpd/plugins/check_badmailfrom
235 /usr/share/qpsmtpd/plugins/dns_whitelist_soft
236 /usr/share/qpsmtpd/plugins/dnsbl
237 /usr/share/qpsmtpd/plugins/ident/geoip
238 /usr/share/qpsmtpd/plugins/ident/p0f
239 /usr/share/qpsmtpd/plugins/relay_only
240 /usr/share/qpsmtpd/plugins/parse_addr_withhelo
241 /usr/share/qpsmtpd/plugins/require_resolvable_fromhost
242 /usr/share/qpsmtpd/plugins/rhsbl
243 /usr/share/qpsmtpd/plugins/dont_require_anglebrackets
244 /usr/share/qpsmtpd/plugins/check_badrcptto_patterns
245 /usr/share/qpsmtpd/plugins/greylisting
246 /usr/share/qpsmtpd/plugins/check_basicheaders
247 /usr/share/qpsmtpd/plugins/check_badmailfromto
248 %doc CREDITS Changes LICENSE README README.plugins STATUS
249 /etc/init.d/qpsmtpd-forkserver
250 %config(noreplace) /etc/qpsmtpd/*
251 %config(noreplace) /etc/xinetd.d/smtp
252 %config(noreplace) /etc/sysconfig/qpsmtpd-forkserver
253
254 %files apache -f qpsmtpd-apache-%{version}-filelist
255 %defattr(-,root,root)
256
257 %files async
258 %defattr(-,root,root)
259 /usr/sbin/qpsmtpd-async
260 /usr/lib/perl5/site_perl/Danga/Client.pm
261 /usr/lib/perl5/site_perl/Danga/TimeoutSocket.pm
262 /usr/lib/perl5/site_perl/Qpsmtpd/ConfigServer.pm
263 /usr/lib/perl5/site_perl/Qpsmtpd/PollServer.pm
264 /usr/share/qpsmtpd/plugins/async/check_earlytalker
265 /usr/share/qpsmtpd/plugins/async/dnsbl
266 /usr/share/qpsmtpd/plugins/async/require_resolvable_fromhost
267
268 %changelog
269 * Mon Aug 11 2008 Charlie Brady <charlie_brady@mitel.com> 0.40-1.10.sme
270 - Fix resolvable_fromhost bug where one or more MX records points
271 to unreachable hosts. [SME: 4403]
272
273 * Mon Jan 7 2008 Stephen Noble <support@dungog.net> 0.40-1.9.sme
274 - fix uninitialized value in spamassassin plugin [SME: 3340]
275
276 * Mon Jan 7 2008 Stephen Noble <support@dungog.net> 0.40-1.8.sme
277 - change to badrcptto plugin [SME: 3476]
278
279 * Tue Oct 16 2007 Charlie Brady <charlie_brady@mitel.com> 0.40-1.7.sme
280 - Add support for disconnect option in rhsbl plugin [SME: 3390]
281
282 * Sat Jun 30 2007 Shad L. Lords <slords@mail.com> 0.40-1.6.sme
283 - Move clamav headers to top to not mess up message signing.
284
285 * Thu Jun 28 2007 Gavin Weight <gweight@gmail.com> 0.40-1.5.sme
286 - Remove the scriptlets within the .spec file. [SME: 3112]
287
288 * Mon Jun 25 2007 Shad L. Lords <slords@mail.com> 0.40-1.4.sme
289 - Deny soft if clamscan fails [SME: 3098]
290
291 * Fri Jun 15 2007 Shad L. Lords <slords@mail.com> 0.40-1.3.sme
292 - Fix clamd.conf path for clamav plugin [SME: 3067]
293
294 * Thu Jun 14 2007 Shad L. Lords <slords@mail.com> 0.40-1.2.sme
295 - Fix clamav patch so service starts [SME: 3065]
296
297 * Thu Jun 14 2007 Shad L. Lords <slords@mail.com> 0.40-1.1.sme
298 - Update for smeserver [SME: 3065]
299
300 * Tue Jun 12 2007 <hjp@hjp.at> 0.40-1.0
301 - updated to 0.40 - no code change.
302
303 * Thu Jun 07 2007 <hjp@hjp.at> 0.40-0.2
304 - unset environment variables which are normally tainted in perl.
305 - updated to 0.40rc1
306 - added dependency on Net::IP (needed by some plugins)
307
308 * Sat May 05 2007 <hjp@hjp.at> 0.33-0.5
309 - moved environment cleanup into start() function, otherwise
310 LANG just gets reinitialized.
311
312 * Sat May 05 2007 <hjp@hjp.at> 0.33-0.4
313 - split qpsmtpd-async into a separate package to avoid dependency
314 on ParaDNS.
315
316 * Sat May 05 2007 <hjp@hjp.at> 0.33-0.3
317 - also unset LANG, LC_ALL and LC_TIME in startup script to prevent
318 locale specific Received headers (bug reported by Dominik Meyer)
319
320 * Sun Feb 25 2007 <hjp@hjp.at> 0.33-0.2
321 - 0.3x branch has been merged back to trunk.
322 Got current snapshot (r715) from trunk.
323
324 * Sun Feb 25 2007 <hjp@hjp.at> 0.33-0.1
325 - Start forkserver via "daemon" (Gavin Carr)
326 - Fixed 'service qpsmtpd-forkserver status' (Gavin Carr)
327 - Changed policy for config files to noreplace (Gavin Carr)
328
329 * Sun Nov 05 2006 <hjp@hjp.at> 0.33-0.0
330 - Upgraded to current snapshot from 0.3x branch (which should become
331 0.33 soon-ish)
332 - included xinetd-support again.
333
334 * Sat Mar 18 2006 <hjp@hjp.at> 0.32-2
335 - fix dnsbl to check whether answer fits query.
336 - randomize Net::DNS ids for qpsmtpd-forkserver child processes.
337
338 * Wed Mar 08 2006 <hjp@hjp.at> 0.32-1
339 - New upstream 0.32
340 - rc-file unsets PERL_UNICODE (bug #38397)
341
342 * Sat Jan 28 2006 <hjp@hjp.at> 0.31.1-3
343 - Use ${SOURCE*} macros to refer to source files
344 - Avoid invoking rpm and other cleanup in %pre section
345 - Invoke chkconfig in %post.
346 - (Thanks to Josko Plazonic for the reporting these problems and
347 suggesting fixes)
348
349 * Tue Nov 30 2005 <hjp@hjp.at> 0.31.1-2
350 - Revision 170 of plugins/loggin/file_connection:
351 Return DECLINED from open_log.
352 Open log in write_log if it isn't already open.
353
354 * Tue Nov 29 2005 <hjp@hjp.at> 0.31.1-1
355 - Commented out queue plugins from sample config
356 - Added dependencies
357 - Create smtpd user if it doesn't exist
358 - Added /var/log/qpsmtpd and /var/spool/qpsmtpd
359
360 * Sat Nov 26 2005 <hjp@hjp.at>
361 - Added file_connection plugin
362 - Startup file for qpsmtpd-forkserver now uses --detach and assumes that
363 a suitable logging module is configured (file_connection by default)
364
365 * Wed Nov 23 2005 <hjp@hjp.at>
366 - Forkserver drops privileges before loading plugins now.
367
368 * Sun Nov 20 2005 <hjp@hjp.at>
369 - New upstream 0.31.1
370
371 * Mon Nov 14 2005 <hjp@hjp.at> 0.31-8
372 - New upstream 0.31rc3.
373 - pre-connection patch slightly simplified since upstream fixed one of
374 the bugs.
375
376 * Tue Aug 23 2005 <hjp@hjp.at>
377 - forced INSTALLSITELIB=/usr/lib/perl5/site_perl as suggested by
378 Charlie Brady.
379
380 * Sat Aug 20 2005 <hjp@hjp.at> 0.31-7
381 - RC2 from upstream.
382 - Removed patches which aren't applied from spec file.
383
384 * Fri Jul 22 2005 <hjp@hjp.at> 0.31-6
385 - New upstream snapshot from 0.31 branch: svn revision 509.
386
387 * Sun Jul 17 2005 <hjp@hjp.at> 0.31-5
388 - include only /etc/init.d/qpsmtpd-forkserver, not /etc/init.d
389 it conflicts with old initscripts packages.
390
391 * Sun Jul 17 2005 <hjp@hjp.at> 0.31-4
392 - removed tabs from forkserver
393
394 * Sun Jul 17 2005 <hjp@hjp.at> 0.31-3
395 - added startup script for forkserver
396 - changed BuildArchitectures to noarch.
397
398 * Sat Jul 16 2005 <hjp@hjp.at> 0.31-2
399 - pre-connection hook is now actually called, not just defined.
400
401 * Fri Jul 15 2005 <hjp@hjp.at> 0.31-1
402 - merged with 0.31. Most of my patches are now in the official release.
403 - merged Gavin's per-user-config patch with my dirs patch, since the
404 latter needs a way to turn off logging.
405 - added /etc/qpsmtpd/plugin_dir to package.
406
407 * Mon Jun 13 2005 <hjp@hjp.at> 0.29-6
408 - fixed removal of patch backup files
409 - fixed option --pid-file
410
411 * Sun Jun 12 2005 <hjp@hjp.at>
412 - avoid installing patch backup files
413 - split Apache::Qpsmtpd into separate package to avoid dependency hell.
414 - fixed URL
415 - changed group to Daemons.
416 - Fixed installation for newer versions of ExtUtils::MakeMaker
417
418 * Wed Jun 1 2005 <hjp@hjp.at> 0.29-5
419 - Really don't reap children in signal handler.
420
421 * Tue May 31 2005 <hjp@hjp.at> 0.29-4
422 - Return 421 for DENYSOFT_DISCONNECT
423 - Don't reap children in signal handler.
424
425 * Thu May 19 2005 <hjp@hjp.at> 0.29-3
426 - removed code to accept paths without <>.
427
428 * Thu May 19 2005 <hjp@hjp.at> 0.29-2
429 - added QPSMTPD_CONFIG env variable and plugin_dir config.
430 - added supplemental groups and support for pid file
431 - added shared_connect hook
432 - changed log level for SMTP dialog from DEBUG to INFO
433
434 * Thu Apr 21 2005 hjp@hjp.at
435 - added plugins, /etc and docs.
436
437 * Mon Apr 18 2005 hjp@hjp.at
438 - Specfile autogenerated
439

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