/[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.30 - (hide annotations) (download)
Fri Apr 26 02:34:46 2013 UTC (11 years, 6 months ago) by burnat
Branch: MAIN
CVS Tags: qpsmtpd-0_83-0_10_el4_sme, HEAD
Changes since 1.29: +7 -3 lines
* Thu Apr 25 2013 chris burnat <devlist@burnat.com> 0.83-0.10.sme
- Fix Net::DNS update breaks qpsmtpd, codes suggested by Ian [SME: 7560]

1 burnat 1.30 # $Id: qpsmtpd.spec,v 1.29 2012/07/19 04:22:58 wellsi Exp $
2 slords 1.15
3 slords 1.1 Name: qpsmtpd
4 slords 1.18 Version: 0.83
5 burnat 1.30 Release: 0.10%{?dist}
6 slords 1.18 Summary: qpsmtpd + qpsmtpd-apache + qpsmtpd-async
7 slords 1.1 License: distributable
8     Group: System Environment/Daemons
9     URL: http://smtpd.develooper.com/
10 slords 1.18 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
11 slords 1.1 BuildRequires: perl >= 0:5.00503
12     BuildArchitectures: noarch
13 slords 1.2 Requires: perl(Mail::Header), perl(Net::DNS) perl(Net::IP)
14 slords 1.23 Requires(pre): coreutils, shadow-utils, perl
15 slords 1.1
16 slords 1.18 Source0: %{name}-%{version}.tar.gz
17 slords 1.1 Source1: qpsmtpd-forkserver.rc
18     Source2: qpsmtpd-forkserver.sysconfig
19 slords 1.2 Source3: qpsmtpd-plugin-file_connection
20     Source4: qpsmtpd-xinetd
21     Source5: in.qpsmtpd
22 slords 1.18 Source6: qpsmtpd.conf
23     Source7: README.selinux
24    
25 slords 1.21 Patch10: qpsmtpd-0.83-loginit.patch
26 snetram 1.25 Patch11: qpsmtpd-48d1a5b9febc96d2d3c4110500759e36fb4eabb6.patch
27     Patch12: qpsmtpd-de3fbb565f711bc27e7bfa061e83c3020710dc16.patch
28 slords 1.21
29 wellsi 1.28 Patch21: 0021-ignore-search-path-in-DNS-lookups.patch
30 wellsi 1.29 Patch38: 0038-Patch-FATAL-PLUGIN-ERROR-check_basicheaders.patch
31 burnat 1.30 Patch40: 0040-qpsmtpd-forkserver_fix_Net_DNS_update_breaks_qpsmtpd.patch
32 wellsi 1.29
33 slords 1.18 Patch100: qpsmtpd-0.40-badrcptto_allowrelay.patch
34     Patch101: qpsmtpd-0.83-peer_hooks.patch
35     Patch102: qpsmtpd-0.83-clamd_conf.patch
36     Patch103: qpsmtpd-0.83-clamav-headers.patch
37 charliebrady 1.27 Patch104: qpsmtpd-forkserver-keepalive.patch
38 slords 1.1
39     %description
40     qpsmtpd is a flexible smtpd daemon written in Perl. Apart from the core
41     SMTP features, all functionality is implemented in small "extension
42     plugins" using the easy to use object oriented plugin API.
43    
44     qpsmtpd was originally written as a drop-in qmail-smtpd replacement, but
45     now it also includes a smtp forward and a postfix "backend".
46    
47     %package apache
48 slords 1.18 Requires: perl(mod_perl2)
49 slords 1.1 Summary: mod_perl-2 connection handler for qpsmtpd
50     Group: System Environment/Daemons
51    
52 slords 1.2 %package async
53     Summary: qpsmtpd using async I/O in a single process
54     Group: System Environment/Daemons
55    
56 slords 1.1 %description apache
57    
58     This module implements a mod_perl/apache 2.0 connection handler
59     that turns Apache into an SMTP server using Qpsmtpd.
60    
61 slords 1.2 %description async
62     This package contains the Qpsmtpd::PollServer module, which allows
63     qpsmtd to handle many connections in a single process and the
64     qpsmpd-async which uses it.
65    
66 slords 1.1 %prep
67 slords 1.18 %setup -q
68 slords 1.21 %patch10 -p1
69 snetram 1.25 %patch11 -p1
70     %patch12 -p1
71 wellsi 1.28 %patch21 -p1
72 wellsi 1.29 %patch38 -p1
73 burnat 1.30 %patch40 -p1
74 slords 1.3 %patch100 -p1
75     %patch101 -p1
76 slords 1.18 %patch102 -p1
77 slords 1.3 %patch103 -p1
78 charliebrady 1.27 %patch104 -p0
79 slords 1.18
80 slords 1.1
81     %build
82 slords 1.18 CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL INSTALLSITELIB=%{_prefix}/lib/perl5/site_perl
83 slords 1.1 make
84    
85     %clean
86     rm -rf $RPM_BUILD_ROOT
87     %install
88    
89     rm -rf $RPM_BUILD_ROOT
90     eval `perl '-V:installarchlib'`
91     mkdir -p $RPM_BUILD_ROOT/$installarchlib
92     if grep -q DESTDIR Makefile
93     then
94     make DESTDIR=$RPM_BUILD_ROOT
95     find blib/lib -name '*.pm.*' -exec rm -f {} \;
96     make DESTDIR=$RPM_BUILD_ROOT install
97    
98     else
99     make PREFIX=$RPM_BUILD_ROOT/usr
100     find blib/lib -name '*.pm.*' -exec rm -f {} \;
101     make PREFIX=$RPM_BUILD_ROOT/usr install
102     fi
103 slords 1.18 mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}
104     rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/plugins/*.*
105     cp -r plugins ${RPM_BUILD_ROOT}%{_datadir}/%{name}/plugins
106     mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}
107     rm -f ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/*.*
108     cp -r config.sample/* ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/
109     echo %{_datadir}/%{name}/plugins > ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/plugin_dirs
110     echo %{_localstatedir}/spool/qpsmtpd > ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/spool_dir
111     echo logging/file_connection loglevel LOGINFO %{_localstatedir}/log/qpsmtpd/%Y-%m-%d > ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/logging
112     mkdir -p ${RPM_BUILD_ROOT}%{_initrddir}
113     cp %{SOURCE1} ${RPM_BUILD_ROOT}%{_initrddir}/qpsmtpd-forkserver
114     mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
115     cp %{SOURCE2} ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/qpsmtpd-forkserver
116     cp %{SOURCE3} ${RPM_BUILD_ROOT}%{_datadir}/%{name}/plugins/logging/file_connection
117     mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/spool/qpsmtpd
118     mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/qpsmtpd
119     mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/xinetd.d
120     cp %{SOURCE4} ${RPM_BUILD_ROOT}%{_sysconfdir}/xinetd.d/smtp
121     mkdir -p ${RPM_BUILD_ROOT}%{_sbindir}
122     cp %{SOURCE5} ${RPM_BUILD_ROOT}%{_sbindir}/in.smtp
123     mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d
124     cp %{SOURCE6} ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d
125     mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-apache-%{version}
126     cp %{SOURCE7} $RPM_BUILD_ROOT%{_docdir}/%{name}-apache-%{version}
127     rm -f ${RPM_BUILD_ROOT}%{_bindir}/%{name}-prefork
128 slords 1.1
129     [ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress
130    
131 slords 1.18 find ${RPM_BUILD_ROOT}%{_prefix} \( -name perllocal.pod -o -name .packlist \) -exec rm {} \;
132     find ${RPM_BUILD_ROOT}%{_prefix} -type f -print | \
133 slords 1.1 sed "s@^$RPM_BUILD_ROOT@@g" | \
134 slords 1.18 grep -v [Aa]sync | \
135     grep -v packaging | \
136     grep -v README.selinux | \
137     grep -v /Apache | \
138     grep -v /Danga | \
139     grep -v Qpsmtpd/ConfigServer.pm | \
140     grep -v Qpsmtpd/PollServer.pm > %{name}-%{version}-%{release}-filelist
141     if [ "$(cat %{name}-%{version}-%{release}-filelist)X" = "X" ] ; then
142 slords 1.1 echo "ERROR: EMPTY FILE LIST"
143     exit -1
144     fi
145    
146 slords 1.18 %files -f %{name}-%{version}-%{release}-filelist
147 slords 1.1 %defattr(-,root,root)
148     %doc CREDITS Changes LICENSE README README.plugins STATUS
149 slords 1.18 %{_initrddir}/qpsmtpd-forkserver
150     %config(noreplace) %{_sysconfdir}/qpsmtpd/*
151     %config(noreplace) %{_sysconfdir}/xinetd.d/smtp
152     %config(noreplace) %{_sysconfdir}/sysconfig/qpsmtpd-forkserver
153 filippocarletti 1.19 %attr(2750,qpsmtpd,clamav) %dir %{_localstatedir}/spool/qpsmtpd
154     %attr(2750,smelog,smelog) %dir %{_localstatedir}/log/qpsmtpd
155 slords 1.1
156 slords 1.18 %files apache
157 slords 1.1 %defattr(-,root,root)
158 slords 1.18 %{_prefix}/lib/perl5/site_perl/Apache/Qpsmtpd.pm
159     %{_mandir}/man3/Apache::Qpsmtpd.3pm.gz
160     %config(noreplace) %{_sysconfdir}/httpd/conf.d/*
161     %doc %{_docdir}/%{name}-apache-%{version}/README.selinux
162 slords 1.1
163 slords 1.2 %files async
164     %defattr(-,root,root)
165 slords 1.18 %{_bindir}/qpsmtpd-async
166     %{_prefix}/lib/perl5/site_perl/Danga/Client.pm
167     %{_prefix}/lib/perl5/site_perl/Danga/TimeoutSocket.pm
168     %{_prefix}/lib/perl5/site_perl/Qpsmtpd/ConfigServer.pm
169     %{_prefix}/lib/perl5/site_perl/Qpsmtpd/Plugin/Async/DNSBLBase.pm
170     %{_prefix}/lib/perl5/site_perl/Qpsmtpd/PollServer.pm
171     %{_mandir}/man1/qpsmtpd-async.1.gz
172     %{_datadir}/%{name}/plugins/async/*
173    
174     %pre
175     if ! id smtpd >/dev/null 2>&1
176     then
177     # need to create smtpd user.
178     if perl -e 'exit ! defined(getgrnam("postdrop"))'
179     then
180     # if postfix is installed, we will probably use
181     # queue/postfix, which will need this:
182     supp="-G postdrop"
183     fi
184     useradd -r -m $supp smtpd
185     fi
186 slords 1.1
187 slords 1.8 %changelog
188 burnat 1.30 * Thu Apr 25 2013 chris burnat <devlist@burnat.com> 0.83-0.10.sme
189     - Fix Net::DNS update breaks qpsmtpd, codes suggested by Ian [SME: 7560]
190    
191 wellsi 1.29 * Wed Jul 18 2012 Ian Wells <esmith@wellsi.com> 0.83-0.9.sme
192     - Fix fatal errors when mail has no headers [SME: 6386]
193    
194 wellsi 1.28 * Sat Jun 30 2012 Ian Wells <esmith@wellsi.com> 0.83-0.8.sme
195     - Ignore search path in DNS lookups [SME: 5808]
196    
197 charliebrady 1.27 * Fri May 04 2012 Charlie Brady <charlie_brady@mitel.com> 0.83-0.7.sme
198     - Set SO_KEEPALIVE option on client socket - to detect dead
199     connections. [SME: 6916]
200    
201 snetram 1.25 * Thu Nov 5 2009 <smeserver-contribs@snetram.nl> 0.83-0.6.sme
202     - Apply qpsmtpd git changesets to implement custom SPAM
203     subject prefix [SME: 5567]
204    
205 slords 1.26 * Tue Nov 3 2009 <slords@mail.com> 0.83-0.5.sme
206 slords 1.23 - Update pre requires so scripts don't fail on install [SME: 5557]
207    
208 slords 1.26 * Sat Oct 31 2009 <slords@mail.com> 0.83-0.4.sme
209 bytegw 1.22 - Rebase bad_rcptto patch to remove orig file [SME: 5549]
210     - Change logging in tls init to prevent warnings [SME: 5550]
211 slords 1.21
212 slords 1.26 * Thu Oct 29 2009 <slords@mail.com> 0.83-0.3.sme
213 slords 1.20 - Only run/initialize plugins once [SME: 5533]
214    
215 filippocarletti 1.19 * Mon Oct 26 2009 <filippo.carletti@gmail.com> 0.83-0.2.sme
216     - Change spool dir permissions and owner to qpsmtpd:clamav
217     - Change log dir permissions and owner to smelog:smelog
218    
219 charliebrady 1.24 * Tue Sep 22 2009 <filippo.carletti@gmail.com> 0.83-0.1.sme
220     - add sme specific patches
221    
222     * Fri Sep 18 2009 <rpmbuild@robinbowes.com> 0.83-0.1
223 slords 1.18 - Update to 0.83
224    
225     * Sun Jul 12 2009 <rpmbuild@robinbowes.com> 0.82-0.1
226     - Update to latest release
227     - don't add qpsmtpd to start-up by default
228     - add apache config file to qpsmtpd-apache package
229     - remove all patches
230     - use rpm macros for dirs
231     - use a filelist for main package instead of a long list of files
232    
233     * Tue Jul 15 2008 <rpmbuild@robinbowes.com> 0.43-0.7
234     - Removed SelectServer.pm from .spec file
235    
236     * Tue Mar 18 2008 <rpmbuild@robinbowes.com> 0.43-0.6
237     - moved config files back to /etc/qpsmtpd following some changes
238     to the qpsmtpd src
239    
240     * Tue Mar 18 2008 <rpmbuild@robinbowes.com> 0.43-0.5
241     - moved config files to /etc/qpsmtpd/config
242    
243     * Tue Mar 18 2008 <rpmbuild@robinbowes.com> 0.43-0.4
244     - Moved qpsmtpd-async to /usr/bin
245     - Added qpsmtpd-async man page to async package
246     - Added async smtproute plugin to async package
247    
248     * Wed Mar 12 2008 <rpmbuild@robinbowes.com> 0.43-0.3
249     - Makefile.PL now updated in svn, so remove hack
250    
251     * Wed Mar 12 2008 <rpmbuild@robinbowes.com> 0.43-0.2
252     - Added qpsmtpd-prefork to qpsmtpd RPM, inc. hack to work round
253     deficiency in Makefile.PL
254 slords 1.6
255 slords 1.18 * Mon Mar 10 2008 <rpmbuild@robinbowes.com> 0.43-0.1
256     - Updated to work with Makefile to build from svn
257 slords 1.5
258 slords 1.18 * Wed Sep 12 2007 <rpmbuild@robinbowes.com> 0.40-2.0
259     - Updated to build trunk-r790
260 slords 1.4
261 slords 1.2 * Tue Jun 12 2007 <hjp@hjp.at> 0.40-1.0
262     - updated to 0.40 - no code change.
263 slords 1.1
264 slords 1.2 * Thu Jun 07 2007 <hjp@hjp.at> 0.40-0.2
265     - unset environment variables which are normally tainted in perl.
266     - updated to 0.40rc1
267     - added dependency on Net::IP (needed by some plugins)
268    
269     * Sat May 05 2007 <hjp@hjp.at> 0.33-0.5
270     - moved environment cleanup into start() function, otherwise
271     LANG just gets reinitialized.
272    
273     * Sat May 05 2007 <hjp@hjp.at> 0.33-0.4
274     - split qpsmtpd-async into a separate package to avoid dependency
275     on ParaDNS.
276    
277     * Sat May 05 2007 <hjp@hjp.at> 0.33-0.3
278     - also unset LANG, LC_ALL and LC_TIME in startup script to prevent
279     locale specific Received headers (bug reported by Dominik Meyer)
280    
281     * Sun Feb 25 2007 <hjp@hjp.at> 0.33-0.2
282     - 0.3x branch has been merged back to trunk.
283     Got current snapshot (r715) from trunk.
284    
285     * Sun Feb 25 2007 <hjp@hjp.at> 0.33-0.1
286     - Start forkserver via "daemon" (Gavin Carr)
287     - Fixed 'service qpsmtpd-forkserver status' (Gavin Carr)
288     - Changed policy for config files to noreplace (Gavin Carr)
289    
290     * Sun Nov 05 2006 <hjp@hjp.at> 0.33-0.0
291     - Upgraded to current snapshot from 0.3x branch (which should become
292     0.33 soon-ish)
293     - included xinetd-support again.
294    
295     * Sat Mar 18 2006 <hjp@hjp.at> 0.32-2
296     - fix dnsbl to check whether answer fits query.
297     - randomize Net::DNS ids for qpsmtpd-forkserver child processes.
298    
299     * Wed Mar 08 2006 <hjp@hjp.at> 0.32-1
300     - New upstream 0.32
301     - rc-file unsets PERL_UNICODE (bug #38397)
302    
303     * Sat Jan 28 2006 <hjp@hjp.at> 0.31.1-3
304     - Use ${SOURCE*} macros to refer to source files
305     - Avoid invoking rpm and other cleanup in %pre section
306     - Invoke chkconfig in %post.
307     - (Thanks to Josko Plazonic for the reporting these problems and
308     suggesting fixes)
309    
310     * Tue Nov 30 2005 <hjp@hjp.at> 0.31.1-2
311     - Revision 170 of plugins/loggin/file_connection:
312     Return DECLINED from open_log.
313     Open log in write_log if it isn't already open.
314    
315     * Tue Nov 29 2005 <hjp@hjp.at> 0.31.1-1
316     - Commented out queue plugins from sample config
317     - Added dependencies
318     - Create smtpd user if it doesn't exist
319     - Added /var/log/qpsmtpd and /var/spool/qpsmtpd
320    
321     * Sat Nov 26 2005 <hjp@hjp.at>
322     - Added file_connection plugin
323     - Startup file for qpsmtpd-forkserver now uses --detach and assumes that
324     a suitable logging module is configured (file_connection by default)
325    
326     * Wed Nov 23 2005 <hjp@hjp.at>
327     - Forkserver drops privileges before loading plugins now.
328    
329     * Sun Nov 20 2005 <hjp@hjp.at>
330     - New upstream 0.31.1
331    
332     * Mon Nov 14 2005 <hjp@hjp.at> 0.31-8
333     - New upstream 0.31rc3.
334     - pre-connection patch slightly simplified since upstream fixed one of
335     the bugs.
336    
337     * Tue Aug 23 2005 <hjp@hjp.at>
338     - forced INSTALLSITELIB=/usr/lib/perl5/site_perl as suggested by
339     Charlie Brady.
340 slords 1.1
341     * Sat Aug 20 2005 <hjp@hjp.at> 0.31-7
342     - RC2 from upstream.
343     - Removed patches which aren't applied from spec file.
344    
345     * Fri Jul 22 2005 <hjp@hjp.at> 0.31-6
346     - New upstream snapshot from 0.31 branch: svn revision 509.
347    
348     * Sun Jul 17 2005 <hjp@hjp.at> 0.31-5
349     - include only /etc/init.d/qpsmtpd-forkserver, not /etc/init.d
350     it conflicts with old initscripts packages.
351    
352     * Sun Jul 17 2005 <hjp@hjp.at> 0.31-4
353     - removed tabs from forkserver
354    
355     * Sun Jul 17 2005 <hjp@hjp.at> 0.31-3
356     - added startup script for forkserver
357     - changed BuildArchitectures to noarch.
358    
359     * Sat Jul 16 2005 <hjp@hjp.at> 0.31-2
360     - pre-connection hook is now actually called, not just defined.
361    
362     * Fri Jul 15 2005 <hjp@hjp.at> 0.31-1
363     - merged with 0.31. Most of my patches are now in the official release.
364     - merged Gavin's per-user-config patch with my dirs patch, since the
365     latter needs a way to turn off logging.
366     - added /etc/qpsmtpd/plugin_dir to package.
367    
368     * Mon Jun 13 2005 <hjp@hjp.at> 0.29-6
369     - fixed removal of patch backup files
370     - fixed option --pid-file
371    
372     * Sun Jun 12 2005 <hjp@hjp.at>
373     - avoid installing patch backup files
374     - split Apache::Qpsmtpd into separate package to avoid dependency hell.
375     - fixed URL
376     - changed group to Daemons.
377     - Fixed installation for newer versions of ExtUtils::MakeMaker
378    
379     * Wed Jun 1 2005 <hjp@hjp.at> 0.29-5
380     - Really don't reap children in signal handler.
381    
382     * Tue May 31 2005 <hjp@hjp.at> 0.29-4
383     - Return 421 for DENYSOFT_DISCONNECT
384     - Don't reap children in signal handler.
385    
386     * Thu May 19 2005 <hjp@hjp.at> 0.29-3
387     - removed code to accept paths without <>.
388    
389     * Thu May 19 2005 <hjp@hjp.at> 0.29-2
390     - added QPSMTPD_CONFIG env variable and plugin_dir config.
391     - added supplemental groups and support for pid file
392     - added shared_connect hook
393     - changed log level for SMTP dialog from DEBUG to INFO
394    
395     * Thu Apr 21 2005 hjp@hjp.at
396     - added plugins, /etc and docs.
397    
398     * Mon Apr 18 2005 hjp@hjp.at
399     - Specfile autogenerated
400    

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