/[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.2 - (show annotations) (download)
Thu Jun 14 20:07:19 2007 UTC (17 years, 4 months ago) by slords
Branch: MAIN
CVS Tags: qpsmtpd-0_40-1_0_el5_sme
Changes since 1.1: +259 -119 lines
Import on branch sme8 of package qpsmtpd-0.40-1.0.el5.sme.src.rpm

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

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