/[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.6 - (show annotations) (download)
Tue Jun 26 18:35:59 2007 UTC (17 years, 5 months ago) by slords
Branch: MAIN
CVS Tags: qpsmtpd-0_40-1_4_el5_sme
Changes since 1.5: +6 -1 lines
Updates

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

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