/[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.19 - (show annotations) (download)
Thu Oct 29 17:01:20 2009 UTC (15 years ago) by slords
Branch: MAIN
CVS Tags: qpsmtpd-0_83-0_3_el5_sme
Changes since 1.18: +5 -2 lines
See changelog

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

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