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

Annotation of /rpms/qpsmtpd/sme8/qpsmtpd.spec

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


Revision 1.4 - (hide annotations) (download)
Fri Jun 15 00:59:30 2007 UTC (17 years, 4 months ago) by slords
Branch: MAIN
CVS Tags: qpsmtpd-0_40-1_2_el5_sme
Changes since 1.3: +5 -2 lines
Updates

1 slords 1.1 Name: qpsmtpd
2 slords 1.2 Version: 0.40
3 slords 1.4 Release: 1.2%{?dist}
4 slords 1.2 %define orig_version 0.40
5 slords 1.1 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 slords 1.2 Requires: perl(Mail::Header), perl(Net::DNS) perl(Net::IP)
13 slords 1.1
14 slords 1.2 Source0: qpsmtpd-%{orig_version}.tar.gz
15 slords 1.1 Source1: qpsmtpd-forkserver.rc
16     Source2: qpsmtpd-forkserver.sysconfig
17 slords 1.2 Source3: qpsmtpd-plugin-file_connection
18     Source4: qpsmtpd-xinetd
19     Source5: in.qpsmtpd
20 slords 1.1
21     Patch1: qpsmtpd-0.31-config.patch
22 slords 1.2 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 slords 1.1
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 slords 1.2 %package async
47     Summary: qpsmtpd using async I/O in a single process
48     Group: System Environment/Daemons
49    
50 slords 1.1 %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 slords 1.2 %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 slords 1.1 %prep
61 slords 1.2 %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 slords 1.1 %patch100 -p1
74     %patch101 -p1
75 slords 1.4 #%patch102 -p1
76 slords 1.1 %patch103 -p1
77    
78     %build
79 slords 1.2 CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL INSTALLSITELIB=/usr/lib/perl5/site_perl
80 slords 1.1 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 slords 1.2 mkdir -p $RPM_BUILD_ROOT/usr/sbin
102     cp qpsmtpd-async $RPM_BUILD_ROOT/usr/sbin
103 slords 1.1 mkdir -p $RPM_BUILD_ROOT/usr/share/qpsmtpd
104     cp -r plugins $RPM_BUILD_ROOT/usr/share/qpsmtpd/plugins
105 slords 1.2 rm -f $RPM_BUILD_ROOT/usr/share/qpsmtpd/plugins/*.*
106 slords 1.1 mkdir -p $RPM_BUILD_ROOT/etc
107     cp -r config.sample $RPM_BUILD_ROOT/etc/qpsmtpd
108 slords 1.2 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 slords 1.1 mkdir -p $RPM_BUILD_ROOT/etc/init.d/
113 slords 1.2 cp %{SOURCE1} $RPM_BUILD_ROOT/etc/init.d/qpsmtpd-forkserver
114 slords 1.1 mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/
115 slords 1.2 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 slords 1.1
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 slords 1.2 grep -v /Apache |
131     grep -v /Danga |
132     grep -v Qpsmtpd/ConfigServer.pm |
133     grep -v Qpsmtpd/PollServer.pm > qpsmtpd-%{version}-filelist
134 slords 1.1 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 slords 1.2 %files
142 slords 1.1 %defattr(-,root,root)
143 slords 1.2 /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 slords 1.1 %doc CREDITS Changes LICENSE README README.plugins STATUS
233     /etc/init.d/qpsmtpd-forkserver
234 slords 1.2 %config(noreplace) /etc/qpsmtpd/*
235     %config(noreplace) /etc/xinetd.d/smtp
236     %config(noreplace) /etc/sysconfig/qpsmtpd-forkserver
237 slords 1.1
238     %files apache -f qpsmtpd-apache-%{version}-filelist
239     %defattr(-,root,root)
240    
241 slords 1.2 %files async
242     %defattr(-,root,root)
243     /usr/sbin/qpsmtpd-async
244     /usr/lib/perl5/site_perl/Danga/Client.pm
245     /usr/lib/perl5/site_perl/Danga/TimeoutSocket.pm
246     /usr/lib/perl5/site_perl/Qpsmtpd/ConfigServer.pm
247     /usr/lib/perl5/site_perl/Qpsmtpd/PollServer.pm
248     /usr/share/qpsmtpd/plugins/async/check_earlytalker
249     /usr/share/qpsmtpd/plugins/async/dnsbl
250     /usr/share/qpsmtpd/plugins/async/require_resolvable_fromhost
251 slords 1.1
252    
253    
254    
255    
256    
257 slords 1.2 %pre
258     if ! id smtpd >/dev/null 2>&1
259     then
260     # need to create smtpd user.
261     if perl -e 'exit ! defined(getgrnam("postdrop"))'
262     then
263     # if postfix is installed, we will probably use
264     # queue/postfix, which will need this:
265     supp="-G postdrop"
266     fi
267     useradd -r -m $supp smtpd
268     fi
269 slords 1.1
270 slords 1.2 %post
271     /sbin/chkconfig --add qpsmtpd-forkserver
272 slords 1.1
273 slords 1.2 %changelog
274 slords 1.4 * Thu Jun 14 2007 Shad L. Lords <slords@mail.com> 0.40-1.2.sme
275     - Fix clamav patch so service starts
276    
277 slords 1.3 * Thu Jun 14 2007 Shad L. Lords <slords@mail.com> 0.40-1.1.sme
278     - Update for smeserver
279    
280 slords 1.2 * Tue Jun 12 2007 <hjp@hjp.at> 0.40-1.0
281     - updated to 0.40 - no code change.
282 slords 1.1
283 slords 1.2 * Thu Jun 07 2007 <hjp@hjp.at> 0.40-0.2
284     - unset environment variables which are normally tainted in perl.
285     - updated to 0.40rc1
286     - added dependency on Net::IP (needed by some plugins)
287    
288     * Sat May 05 2007 <hjp@hjp.at> 0.33-0.5
289     - moved environment cleanup into start() function, otherwise
290     LANG just gets reinitialized.
291    
292     * Sat May 05 2007 <hjp@hjp.at> 0.33-0.4
293     - split qpsmtpd-async into a separate package to avoid dependency
294     on ParaDNS.
295    
296     * Sat May 05 2007 <hjp@hjp.at> 0.33-0.3
297     - also unset LANG, LC_ALL and LC_TIME in startup script to prevent
298     locale specific Received headers (bug reported by Dominik Meyer)
299    
300     * Sun Feb 25 2007 <hjp@hjp.at> 0.33-0.2
301     - 0.3x branch has been merged back to trunk.
302     Got current snapshot (r715) from trunk.
303    
304     * Sun Feb 25 2007 <hjp@hjp.at> 0.33-0.1
305     - Start forkserver via "daemon" (Gavin Carr)
306     - Fixed 'service qpsmtpd-forkserver status' (Gavin Carr)
307     - Changed policy for config files to noreplace (Gavin Carr)
308    
309     * Sun Nov 05 2006 <hjp@hjp.at> 0.33-0.0
310     - Upgraded to current snapshot from 0.3x branch (which should become
311     0.33 soon-ish)
312     - included xinetd-support again.
313    
314     * Sat Mar 18 2006 <hjp@hjp.at> 0.32-2
315     - fix dnsbl to check whether answer fits query.
316     - randomize Net::DNS ids for qpsmtpd-forkserver child processes.
317    
318     * Wed Mar 08 2006 <hjp@hjp.at> 0.32-1
319     - New upstream 0.32
320     - rc-file unsets PERL_UNICODE (bug #38397)
321    
322     * Sat Jan 28 2006 <hjp@hjp.at> 0.31.1-3
323     - Use ${SOURCE*} macros to refer to source files
324     - Avoid invoking rpm and other cleanup in %pre section
325     - Invoke chkconfig in %post.
326     - (Thanks to Josko Plazonic for the reporting these problems and
327     suggesting fixes)
328    
329     * Tue Nov 30 2005 <hjp@hjp.at> 0.31.1-2
330     - Revision 170 of plugins/loggin/file_connection:
331     Return DECLINED from open_log.
332     Open log in write_log if it isn't already open.
333    
334     * Tue Nov 29 2005 <hjp@hjp.at> 0.31.1-1
335     - Commented out queue plugins from sample config
336     - Added dependencies
337     - Create smtpd user if it doesn't exist
338     - Added /var/log/qpsmtpd and /var/spool/qpsmtpd
339    
340     * Sat Nov 26 2005 <hjp@hjp.at>
341     - Added file_connection plugin
342     - Startup file for qpsmtpd-forkserver now uses --detach and assumes that
343     a suitable logging module is configured (file_connection by default)
344    
345     * Wed Nov 23 2005 <hjp@hjp.at>
346     - Forkserver drops privileges before loading plugins now.
347    
348     * Sun Nov 20 2005 <hjp@hjp.at>
349     - New upstream 0.31.1
350    
351     * Mon Nov 14 2005 <hjp@hjp.at> 0.31-8
352     - New upstream 0.31rc3.
353     - pre-connection patch slightly simplified since upstream fixed one of
354     the bugs.
355    
356     * Tue Aug 23 2005 <hjp@hjp.at>
357     - forced INSTALLSITELIB=/usr/lib/perl5/site_perl as suggested by
358     Charlie Brady.
359 slords 1.1
360     * Sat Aug 20 2005 <hjp@hjp.at> 0.31-7
361     - RC2 from upstream.
362     - Removed patches which aren't applied from spec file.
363    
364     * Fri Jul 22 2005 <hjp@hjp.at> 0.31-6
365     - New upstream snapshot from 0.31 branch: svn revision 509.
366    
367     * Sun Jul 17 2005 <hjp@hjp.at> 0.31-5
368     - include only /etc/init.d/qpsmtpd-forkserver, not /etc/init.d
369     it conflicts with old initscripts packages.
370    
371     * Sun Jul 17 2005 <hjp@hjp.at> 0.31-4
372     - removed tabs from forkserver
373    
374     * Sun Jul 17 2005 <hjp@hjp.at> 0.31-3
375     - added startup script for forkserver
376     - changed BuildArchitectures to noarch.
377    
378     * Sat Jul 16 2005 <hjp@hjp.at> 0.31-2
379     - pre-connection hook is now actually called, not just defined.
380    
381     * Fri Jul 15 2005 <hjp@hjp.at> 0.31-1
382     - merged with 0.31. Most of my patches are now in the official release.
383     - merged Gavin's per-user-config patch with my dirs patch, since the
384     latter needs a way to turn off logging.
385     - added /etc/qpsmtpd/plugin_dir to package.
386    
387     * Mon Jun 13 2005 <hjp@hjp.at> 0.29-6
388     - fixed removal of patch backup files
389     - fixed option --pid-file
390    
391     * Sun Jun 12 2005 <hjp@hjp.at>
392     - avoid installing patch backup files
393     - split Apache::Qpsmtpd into separate package to avoid dependency hell.
394     - fixed URL
395     - changed group to Daemons.
396     - Fixed installation for newer versions of ExtUtils::MakeMaker
397    
398     * Wed Jun 1 2005 <hjp@hjp.at> 0.29-5
399     - Really don't reap children in signal handler.
400    
401     * Tue May 31 2005 <hjp@hjp.at> 0.29-4
402     - Return 421 for DENYSOFT_DISCONNECT
403     - Don't reap children in signal handler.
404    
405     * Thu May 19 2005 <hjp@hjp.at> 0.29-3
406     - removed code to accept paths without <>.
407    
408     * Thu May 19 2005 <hjp@hjp.at> 0.29-2
409     - added QPSMTPD_CONFIG env variable and plugin_dir config.
410     - added supplemental groups and support for pid file
411     - added shared_connect hook
412     - changed log level for SMTP dialog from DEBUG to INFO
413    
414     * Thu Apr 21 2005 hjp@hjp.at
415     - added plugins, /etc and docs.
416    
417     * Mon Apr 18 2005 hjp@hjp.at
418     - Specfile autogenerated
419    

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