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

Contents of /rpms/qpsmtpd/sme7/qpsmtpd.spec

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


Revision 1.2 - (show annotations) (download)
Thu Jun 14 19:18:15 2007 UTC (17 years 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 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
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 %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 -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
70 %build
71 CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL INSTALLSITELIB=/usr/lib/perl5/site_perl
72 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 mkdir -p $RPM_BUILD_ROOT/usr/sbin
94 cp qpsmtpd-async $RPM_BUILD_ROOT/usr/sbin
95 mkdir -p $RPM_BUILD_ROOT/usr/share/qpsmtpd
96 cp -r plugins $RPM_BUILD_ROOT/usr/share/qpsmtpd/plugins
97 rm -f $RPM_BUILD_ROOT/usr/share/qpsmtpd/plugins/*.*
98 mkdir -p $RPM_BUILD_ROOT/etc
99 cp -r config.sample $RPM_BUILD_ROOT/etc/qpsmtpd
100 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 mkdir -p $RPM_BUILD_ROOT/etc/init.d/
105 cp %{SOURCE1} $RPM_BUILD_ROOT/etc/init.d/qpsmtpd-forkserver
106 mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/
107 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
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 grep -v /Apache |
123 grep -v /Danga |
124 grep -v Qpsmtpd/ConfigServer.pm |
125 grep -v Qpsmtpd/PollServer.pm > qpsmtpd-%{version}-filelist
126 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 %files
134 %defattr(-,root,root)
135 /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 %doc CREDITS Changes LICENSE README README.plugins STATUS
225 /etc/init.d/qpsmtpd-forkserver
226 %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
232 %files apache -f qpsmtpd-apache-%{version}-filelist
233 %defattr(-,root,root)
234
235 %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
246
247
248
249
250
251 %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
264 %post
265 /sbin/chkconfig --add qpsmtpd-forkserver
266
267 %changelog
268 * Tue Jun 12 2007 <hjp@hjp.at> 0.40-1.0
269 - updated to 0.40 - no code change.
270
271 * 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
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