Gentoo Archives: gentoo-commits

From: Austin English <wizardedit@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-filter/spamassassin/, mail-filter/spamassassin/files/
Date: Tue, 26 Apr 2016 22:27:25
Message-Id: 1461709592.740d5522795275f432d6a97e6efaa81dd539916b.wizardedit@gentoo
1 commit: 740d5522795275f432d6a97e6efaa81dd539916b
2 Author: Austin English <wizardedit <AT> gentoo <DOT> org>
3 AuthorDate: Tue Apr 26 20:57:22 2016 +0000
4 Commit: Austin English <wizardedit <AT> gentoo <DOT> org>
5 CommitDate: Tue Apr 26 22:26:32 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=740d5522
7
8 mail-filter/spamassassin: use #!/sbin/openrc-run instead of #!/sbin/runscript
9
10 Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=573846
11
12 Package-Manager: portage-2.2.26
13
14 mail-filter/spamassassin/files/3.3.1-spamd.init | 4 +-
15 .../spamassassin/spamassassin-3.4.0-r1.ebuild | 212 ++++++++++++++++++++
16 .../spamassassin/spamassassin-3.4.1-r2.ebuild | 222 +++++++++++++++++++++
17 3 files changed, 436 insertions(+), 2 deletions(-)
18
19 diff --git a/mail-filter/spamassassin/files/3.3.1-spamd.init b/mail-filter/spamassassin/files/3.3.1-spamd.init
20 index ac78e22..3d40123 100644
21 --- a/mail-filter/spamassassin/files/3.3.1-spamd.init
22 +++ b/mail-filter/spamassassin/files/3.3.1-spamd.init
23 @@ -1,5 +1,5 @@
24 -#!/sbin/runscript
25 -# Copyright 1999-2013 Gentoo Foundation
26 +#!/sbin/openrc-run
27 +# Copyright 1999-2016 Gentoo Foundation
28 # Distributed under the terms of the GNU General Public License v2
29 # $Id$
30
31
32 diff --git a/mail-filter/spamassassin/spamassassin-3.4.0-r1.ebuild b/mail-filter/spamassassin/spamassassin-3.4.0-r1.ebuild
33 new file mode 100644
34 index 0000000..5c1db07
35 --- /dev/null
36 +++ b/mail-filter/spamassassin/spamassassin-3.4.0-r1.ebuild
37 @@ -0,0 +1,212 @@
38 +# Copyright 1999-2016 Gentoo Foundation
39 +# Distributed under the terms of the GNU General Public License v2
40 +# $Id$
41 +
42 +EAPI=5
43 +
44 +inherit perl-module toolchain-funcs eutils systemd readme.gentoo
45 +
46 +MY_P=Mail-SpamAssassin-${PV//_/-}
47 +S=${WORKDIR}/${MY_P}
48 +DESCRIPTION="SpamAssassin is an extensible email filter which is used to identify spam"
49 +HOMEPAGE="http://spamassassin.apache.org/"
50 +SRC_URI="mirror://apache/spamassassin/source/${MY_P}.tar.bz2"
51 +
52 +LICENSE="Apache-2.0 GPL-2"
53 +SLOT="0"
54 +KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
55 +IUSE="+berkdb qmail ssl doc ldap mysql postgres sqlite ipv6"
56 +
57 +REQUIRED_USE="|| ( berkdb mysql postgres sqlite )"
58 +
59 +DEPEND=">=dev-lang/perl-5.8.8-r8
60 + virtual/perl-MIME-Base64
61 + >=virtual/perl-Pod-Parser-1.510.0-r2
62 + virtual/perl-Storable
63 + virtual/perl-Time-HiRes
64 + >=dev-perl/HTML-Parser-3.43
65 + >=dev-perl/Mail-DKIM-0.37
66 + >=dev-perl/Net-DNS-0.53
67 + dev-perl/Digest-SHA1
68 + dev-perl/libwww-perl
69 + >=virtual/perl-Archive-Tar-1.23
70 + app-crypt/gnupg
71 + >=virtual/perl-IO-Zlib-1.04
72 + >=dev-util/re2c-0.12.0
73 + dev-perl/Mail-SPF
74 + >=dev-perl/NetAddr-IP-4.0.1
75 + dev-perl/Geo-IP
76 + dev-perl/Encode-Detect
77 + dev-perl/Net-Patricia
78 + ssl? (
79 + dev-perl/IO-Socket-SSL
80 + dev-libs/openssl
81 + )
82 + berkdb? (
83 + virtual/perl-DB_File
84 + )
85 + ldap? ( dev-perl/perl-ldap )
86 + mysql? (
87 + dev-perl/DBI
88 + dev-perl/DBD-mysql
89 + )
90 + postgres? (
91 + dev-perl/DBI
92 + dev-perl/DBD-Pg
93 + )
94 + sqlite? (
95 + dev-perl/DBI
96 + dev-perl/DBD-SQLite
97 + )
98 + ipv6? (
99 + || ( dev-perl/IO-Socket-INET6
100 + virtual/perl-IO-Socket-IP )
101 + )"
102 +RDEPEND="${DEPEND}"
103 +
104 +SRC_TEST="do"
105 +
106 +src_configure() {
107 + # - Set SYSCONFDIR explicitly so we can't get bitten by bug 48205 again
108 + # (just to be sure, nobody knows how it could happen in the first place).
109 + myconf="SYSCONFDIR=${EPREFIX}/etc DATADIR=${EPREFIX}/usr/share/spamassassin"
110 +
111 + # If ssl is enabled, spamc can be built with ssl support
112 + if use ssl; then
113 + myconf+=" ENABLE_SSL=yes"
114 + else
115 + myconf+=" ENABLE_SSL=no"
116 + fi
117 +
118 + # Set the path to the Perl executable explictly. This will be used to
119 + # create the initial sharpbang line in the scripts and might cause
120 + # a versioned app name end in there, see
121 + # <https://bugs.gentoo.org/show_bug.cgi?id=62276>
122 + myconf+=" PERL_BIN=${EPREFIX}/usr/bin/perl"
123 +
124 + # Add Gentoo tag to make it easy for the upstream devs to spot
125 + # possible modifications or patches.
126 + #version_tag="g${PV:6}${PR}"
127 + #version_str="${PV//_/-}-${version_tag}"
128 +
129 + # Create the Gentoo config file before Makefile.PL is called so it
130 + # is copied later on.
131 + #echo "version_tag ${version_tag}" > rules/11_gentoo.cf
132 +
133 + # Setting the following env var ensures that no questions are asked.
134 + perl-module_src_configure
135 + # Configure spamc
136 + emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}" spamc/Makefile
137 +}
138 +
139 +src_compile() {
140 + export PERL_MM_USE_DEFAULT=1
141 +
142 + # Now compile all the stuff selected.
143 + perl-module_src_compile
144 +
145 + if use qmail; then
146 + emake spamc/qmail-spamc
147 + fi
148 +
149 +}
150 +
151 +src_install () {
152 + perl-module_src_install
153 +
154 + # Create the stub dir used by sa-update and friends
155 + keepdir /var/lib/spamassassin
156 +
157 + # Move spamd to sbin where it belongs.
158 + dodir /usr/sbin
159 + mv "${ED}"/usr/bin/spamd "${ED}"/usr/sbin/spamd || die "move spamd failed"
160 +
161 + if use qmail; then
162 + dobin spamc/qmail-spamc
163 + fi
164 +
165 + ln -s mail/spamassassin "${ED}"/etc/spamassassin || die
166 +
167 + # Disable plugin by default
168 + sed -i -e 's/^loadplugin/\#loadplugin/g' "${ED}"/etc/mail/spamassassin/init.pre || die
169 +
170 + # Add the init and config scripts.
171 + newinitd "${FILESDIR}"/3.3.1-spamd.init spamd
172 + newconfd "${FILESDIR}"/3.0.0-spamd.conf spamd
173 +
174 + systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
175 + systemd_install_serviced "${FILESDIR}"/${PN}.service.conf
176 +
177 + if use postgres; then
178 + sed -i -e 's:@USEPOSTGRES@::' "${ED}/etc/init.d/spamd" || die
179 +
180 + dodoc sql/*_pg.sql
181 + else
182 + sed -i -e '/@USEPOSTGRES@/d' "${ED}/etc/init.d/spamd" || die
183 + fi
184 +
185 + if use mysql; then
186 + sed -i -e 's:@USEMYSQL@::' "${ED}/etc/init.d/spamd" || die
187 +
188 + dodoc sql/*_mysql.sql
189 + else
190 + sed -i -e '/@USEMYSQL@/d' "${ED}/etc/init.d/spamd" || die
191 + fi
192 +
193 + dodoc NOTICE TRADEMARK CREDITS INSTALL.VMS UPGRADE USAGE \
194 + sql/README.bayes sql/README.awl procmailrc.example sample-nonspam.txt \
195 + sample-spam.txt spamd/PROTOCOL spamd/README.vpopmail \
196 + spamd-apache2/README.apache
197 +
198 + # Rename some docu files so they don't clash with others
199 + newdoc spamd/README README.spamd
200 + newdoc sql/README README.sql
201 + newdoc ldap/README README.ldap
202 +
203 + if use qmail; then
204 + dodoc spamc/README.qmail
205 + fi
206 +
207 + cp "${FILESDIR}"/secrets.cf "${ED}"/etc/mail/spamassassin/secrets.cf.example || die
208 + fperms 0400 /etc/mail/spamassassin/secrets.cf.example
209 +
210 + cat <<-EOF > "${T}/local.cf.example"
211 + # Sensitive data, such as database connection info, should be stored in
212 + # /etc/mail/spamassassin/secrets.cf with appropriate permissions
213 +EOF
214 +
215 + insinto /etc/mail/spamassassin/
216 + doins "${T}/local.cf.example"
217 +}
218 +
219 +pkg_postinst() {
220 + elog "If you plan on using the -u flag to spamd, please read the notes"
221 + elog "in /etc/conf.d/spamd regarding the location of the pid file.\n"
222 + elog "If you build ${PN} with optional dependancy support,"
223 + elog "you can enable them in /etc/mail/spamassassin/init.pre\n"
224 + elog "You need to configure your database to be able to use Bayes filter"
225 + elog "with database backend, otherwise it will still use (and need) the"
226 + elog "Berkeley DB support."
227 + elog "Look at the sql/README.bayes file in the documentation directory"
228 + elog "for how to configure it.\n"
229 + elog "If you plan to use Vipul's Razor, note that versions up to and"
230 + elog "including version 2.82 include a bug that will slow down the entire"
231 + elog "perl interpreter. Version 2.83 or later fixes this."
232 + elog "If you do not plan to use this plugin, be sure to comment out"
233 + elog "its loadplugin line in /etc/mail/spamassassin/v310.pre.\n"
234 + elog "The DKIM plugin is now enabled by default for new installs,"
235 + elog "if the perl module Mail::DKIM is installed."
236 + elog "However, installation of SpamAssassin will not overwrite existing"
237 + elog ".pre configuration files, so to use DKIM when upgrading from a"
238 + elog "previous release that did not use DKIM, a directive:\n"
239 + elog "loadplugin Mail::SpamAssassin::Plugin::DKIM"
240 + elog "will need to be uncommented in file 'v312.pre', or added"
241 + elog "to some other .pre file, such as local.pre.\n"
242 + ewarn "Rules are no longer included with SpamAssassin out of the box".
243 + ewarn "You will need to immediately run sa-update, or download"
244 + ewarn "the additional rules .tgz package and run sa-update --install"
245 + ewarn "with it, to get a ruleset.\n"
246 + elog "If you run sa-update and receive a GPG validation error."
247 + elog "Then you need to import an updated sa-update key."
248 + elog "sa-update --import /usr/share/spamassassin/sa-update-pubkey.txt\n"
249 +}
250
251 diff --git a/mail-filter/spamassassin/spamassassin-3.4.1-r2.ebuild b/mail-filter/spamassassin/spamassassin-3.4.1-r2.ebuild
252 new file mode 100644
253 index 0000000..c12577e
254 --- /dev/null
255 +++ b/mail-filter/spamassassin/spamassassin-3.4.1-r2.ebuild
256 @@ -0,0 +1,222 @@
257 +# Copyright 1999-2016 Gentoo Foundation
258 +# Distributed under the terms of the GNU General Public License v2
259 +# $Id$
260 +
261 +EAPI=5
262 +
263 +inherit perl-module toolchain-funcs eutils systemd readme.gentoo
264 +
265 +MY_P=Mail-SpamAssassin-${PV//_/-}
266 +S=${WORKDIR}/${MY_P}
267 +DESCRIPTION="An extensible mail filter which can identify and tag spam"
268 +HOMEPAGE="http://spamassassin.apache.org/"
269 +SRC_URI="mirror://apache/spamassassin/source/${MY_P}.tar.bz2"
270 +
271 +LICENSE="Apache-2.0 GPL-2"
272 +SLOT="0"
273 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
274 +IUSE="+bayes berkdb libressl qmail ssl doc ldap mysql postgres sqlite ipv6"
275 +
276 +# You can do without a database unless you need the Bayes features.
277 +REQUIRED_USE="bayes? ( || ( berkdb mysql postgres sqlite ) )"
278 +
279 +DEPEND=">=dev-lang/perl-5.8.8-r8
280 + virtual/perl-MIME-Base64
281 + >=virtual/perl-Pod-Parser-1.510.0-r2
282 + virtual/perl-Storable
283 + virtual/perl-Time-HiRes
284 + >=dev-perl/HTML-Parser-3.43
285 + >=dev-perl/Mail-DKIM-0.37
286 + >=dev-perl/Net-DNS-0.53
287 + dev-perl/Digest-SHA1
288 + dev-perl/libwww-perl
289 + >=virtual/perl-Archive-Tar-1.23
290 + app-crypt/gnupg
291 + >=virtual/perl-IO-Zlib-1.04
292 + >=dev-util/re2c-0.12.0
293 + dev-perl/Mail-SPF
294 + >=dev-perl/NetAddr-IP-4.0.1
295 + dev-perl/Geo-IP
296 + dev-perl/Encode-Detect
297 + dev-perl/Net-Patricia
298 + ssl? (
299 + dev-perl/IO-Socket-SSL
300 + !libressl? ( dev-libs/openssl:0 )
301 + libressl? ( dev-libs/libressl )
302 + )
303 + berkdb? (
304 + virtual/perl-DB_File
305 + )
306 + ldap? ( dev-perl/perl-ldap )
307 + mysql? (
308 + dev-perl/DBI
309 + dev-perl/DBD-mysql
310 + )
311 + postgres? (
312 + dev-perl/DBI
313 + dev-perl/DBD-Pg
314 + )
315 + sqlite? (
316 + dev-perl/DBI
317 + dev-perl/DBD-SQLite
318 + )
319 + ipv6? (
320 + || ( dev-perl/IO-Socket-INET6
321 + virtual/perl-IO-Socket-IP )
322 + )"
323 +RDEPEND="${DEPEND}"
324 +
325 +SRC_TEST="do"
326 +
327 +src_prepare() {
328 + # Merged upstream
329 + #epatch "${FILESDIR}/net-dns-0.76_compatibility.patch"
330 + perl-module_src_prepare
331 +}
332 +
333 +src_configure() {
334 + # - Set SYSCONFDIR explicitly so we can't get bitten by bug 48205 again
335 + # (just to be sure, nobody knows how it could happen in the first place).
336 + myconf="SYSCONFDIR=${EPREFIX}/etc"
337 + myconf+=" DATADIR=${EPREFIX}/usr/share/spamassassin"
338 +
339 + # If ssl is enabled, spamc can be built with ssl support.
340 + if use ssl; then
341 + myconf+=" ENABLE_SSL=yes"
342 + else
343 + myconf+=" ENABLE_SSL=no"
344 + fi
345 +
346 + # Set the path to the Perl executable explictly. This will be used to
347 + # create the initial sharpbang line in the scripts and might cause
348 + # a versioned app name end in there, see
349 + # <https://bugs.gentoo.org/show_bug.cgi?id=62276>
350 + myconf+=" PERL_BIN=${EPREFIX}/usr/bin/perl"
351 +
352 + # Setting the following env var ensures that no questions are asked.
353 + perl-module_src_configure
354 + # Configure spamc
355 + emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}" spamc/Makefile
356 +}
357 +
358 +src_compile() {
359 + export PERL_MM_USE_DEFAULT=1
360 +
361 + # Now compile all the stuff selected.
362 + perl-module_src_compile
363 +
364 + if use qmail; then
365 + emake spamc/qmail-spamc
366 + fi
367 +}
368 +
369 +src_install () {
370 + perl-module_src_install
371 +
372 + # Create the stub dir used by sa-update and friends
373 + keepdir /var/lib/spamassassin
374 +
375 + # Move spamd to sbin where it belongs.
376 + dodir /usr/sbin
377 + mv "${ED}"/usr/bin/spamd "${ED}"/usr/sbin/spamd || die "move spamd failed"
378 +
379 + if use qmail; then
380 + dobin spamc/qmail-spamc
381 + fi
382 +
383 + ln -s mail/spamassassin "${ED}"/etc/spamassassin || die
384 +
385 + # Disable plugin by default
386 + sed -i -e 's/^loadplugin/\#loadplugin/g' \
387 + "${ED}"/etc/mail/spamassassin/init.pre \
388 + || die "failed to disable plugins by default"
389 +
390 + # Add the init and config scripts.
391 + newinitd "${FILESDIR}"/3.3.1-spamd.init spamd
392 + newconfd "${FILESDIR}"/3.0.0-spamd.conf spamd
393 +
394 + systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service
395 + systemd_install_serviced "${FILESDIR}"/${PN}.service.conf
396 +
397 + if use postgres; then
398 + sed -i -e 's:@USEPOSTGRES@::' "${ED}/etc/init.d/spamd" || die
399 +
400 + dodoc sql/*_pg.sql
401 + else
402 + sed -i -e '/@USEPOSTGRES@/d' "${ED}/etc/init.d/spamd" || die
403 + fi
404 +
405 + if use mysql; then
406 + sed -i -e 's:@USEMYSQL@::' "${ED}/etc/init.d/spamd" || die
407 +
408 + dodoc sql/*_mysql.sql
409 + else
410 + sed -i -e '/@USEMYSQL@/d' "${ED}/etc/init.d/spamd" || die
411 + fi
412 +
413 + dodoc NOTICE TRADEMARK CREDITS INSTALL.VMS UPGRADE USAGE \
414 + sql/README.bayes sql/README.awl procmailrc.example sample-nonspam.txt \
415 + sample-spam.txt spamd/PROTOCOL spamd/README.vpopmail \
416 + spamd-apache2/README.apache
417 +
418 + # Rename some docu files so they don't clash with others
419 + newdoc spamd/README README.spamd
420 + newdoc sql/README README.sql
421 + newdoc ldap/README README.ldap
422 +
423 + if use qmail; then
424 + dodoc spamc/README.qmail
425 + fi
426 +
427 + insinto /etc/mail/spamassassin/
428 + insopts -m0400
429 + newins "${FILESDIR}"/secrets.cf secrets.cf.example
430 +
431 + cat <<-EOF > "${T}/local.cf.example"
432 + # Sensitive data, such as database connection info, should be stored in
433 + # /etc/mail/spamassassin/secrets.cf with appropriate permissions
434 +EOF
435 +
436 + insopts -m0644
437 + doins "${T}/local.cf.example"
438 +}
439 +
440 +pkg_postinst() {
441 + elog "If you plan on using the -u flag to spamd, please read the notes"
442 + elog "in /etc/conf.d/spamd regarding the location of the pid file."
443 + elog
444 + elog "If you build ${PN} with optional dependancy support,"
445 + elog "you can enable them in /etc/mail/spamassassin/init.pre"
446 + elog
447 + elog "You need to configure your database to be able to use Bayes filter"
448 + elog "with database backend, otherwise it will still use (and need) the"
449 + elog "Berkeley DB support."
450 + elog "Look at the sql/README.bayes file in the documentation directory"
451 + elog "for how to configure it."
452 + elog
453 + elog "If you plan to use Vipul's Razor, note that versions up to and"
454 + elog "including version 2.82 include a bug that will slow down the entire"
455 + elog "perl interpreter. Version 2.83 or later fixes this."
456 + elog "If you do not plan to use this plugin, be sure to comment out"
457 + elog "its loadplugin line in /etc/mail/spamassassin/v310.pre."
458 + elog
459 + elog "The DKIM plugin is now enabled by default for new installs,"
460 + elog "if the perl module Mail::DKIM is installed."
461 + elog "However, installation of SpamAssassin will not overwrite existing"
462 + elog ".pre configuration files, so to use DKIM when upgrading from a"
463 + elog "previous release that did not use DKIM, a directive:"
464 + elog
465 + elog "loadplugin Mail::SpamAssassin::Plugin::DKIM"
466 + elog "will need to be uncommented in file 'v312.pre', or added"
467 + elog "to some other .pre file, such as local.pre."
468 + elog
469 + ewarn "Rules are no longer included with SpamAssassin out of the box".
470 + ewarn "You will need to immediately run sa-update, or download"
471 + ewarn "the additional rules .tgz package and run sa-update --install"
472 + ewarn "with it, to get a ruleset."
473 + elog
474 + elog "If you run sa-update and receive a GPG validation error."
475 + elog "Then you need to import an updated sa-update key."
476 + elog "sa-update --import /usr/share/spamassassin/sa-update-pubkey.txt"
477 + elog
478 +}