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

Annotation of /rpms/qpsmtpd/sme7/qpsmtpd.spec

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


Revision 1.2 - (hide annotations) (download)
Thu Jun 14 19:18:15 2007 UTC (17 years, 4 months ago) by slords
Branch: MAIN
Changes since 1.1: +255 -123 lines
Import on branch sme7 of package qpsmtpd-0.40-1.0.el4.sme.src.rpm

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

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