/[gentoo-x86]/mail-filter/spamassassin/spamassassin-3.2.1.ebuild
Gentoo

Contents of /mail-filter/spamassassin/spamassassin-3.2.1.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (hide annotations) (download)
Thu Jan 7 08:44:59 2010 UTC (10 years, 4 months ago) by tove
Branch: MAIN
CVS Tags: HEAD
Changes since 1.5: +1 -1 lines
FILE REMOVED
Cleanup. Kill ~mips (#177144)
(Portage version: 2.2_rc61/cvs/Linux x86_64)

1 tove 1.5 # Copyright 1999-2008 Gentoo Foundation
2 mcummings 1.1 # Distributed under the terms of the GNU General Public License v2
3 tove 1.6 # $Header: /var/cvsroot/gentoo-x86/mail-filter/spamassassin/spamassassin-3.2.1.ebuild,v 1.5 2008/11/18 16:13:26 tove Exp $
4 mcummings 1.1
5     inherit perl-module eutils
6    
7     MY_P=Mail-SpamAssassin-${PV//_/-}
8     S=${WORKDIR}/${MY_P}
9     DESCRIPTION="SpamAssassin is an extensible email filter which is used to identify spam."
10     HOMEPAGE="http://spamassassin.apache.org/"
11 ian 1.4 SRC_URI="mirror://gentoo/${MY_P}.tar.bz2"
12 mcummings 1.1
13     SRC_TEST="do"
14     LICENSE="Apache-2.0"
15     SLOT="0"
16     KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
17     IUSE="berkdb qmail ssl doc ldap mysql postgres sqlite tools ipv6"
18    
19     DEPEND=">=dev-lang/perl-5.8.2-r1
20     virtual/perl-MIME-Base64
21     >=virtual/perl-PodParser-1.32
22     virtual/perl-Storable
23     virtual/perl-Time-HiRes
24     >=dev-perl/HTML-Parser-3.31
25     >=dev-perl/Net-DNS-0.53
26     dev-perl/Digest-SHA1
27     dev-perl/libwww-perl
28 tove 1.5 >=virtual/perl-Archive-Tar-1.26
29 mcummings 1.1 app-crypt/gnupg
30 tove 1.5 virtual/perl-IO-Zlib
31 mcummings 1.1 >=dev-util/re2c-0.12.0
32     ssl? (
33     dev-perl/IO-Socket-SSL
34     dev-libs/openssl
35     )
36     berkdb? (
37     virtual/perl-DB_File
38     )
39     ldap? ( dev-perl/perl-ldap )
40     mysql? (
41     dev-perl/DBI
42     dev-perl/DBD-mysql
43     )
44     postgres? (
45     dev-perl/DBI
46     dev-perl/DBD-Pg
47     )
48     sqlite? (
49     dev-perl/DBI
50     dev-perl/DBD-SQLite
51     )
52    
53     ipv6? (
54     dev-perl/IO-Socket-INET6
55     )"
56    
57     src_compile() {
58     # - Set SYSCONFDIR explicitly so we can't get bitten by bug 48205 again
59     # (just to be sure, nobody knows how it could happen in the first place).
60     myconf="SYSCONFDIR=/etc DATADIR=/usr/share/spamassassin"
61    
62     # If ssl is enabled, spamc can be built with ssl support
63     if use ssl; then
64     myconf="${myconf} ENABLE_SSL=yes"
65     else
66     myconf="${myconf} ENABLE_SSL=no"
67     fi
68    
69     # Set the path to the Perl executable explictly. This will be used to
70     # create the initial sharpbang line in the scripts and might cause
71     # a versioned app name end in there, see
72     # <http://bugs.gentoo.org/show_bug.cgi?id=62276>
73     myconf="${myconf} PERL_BIN=/usr/bin/perl"
74    
75     # If you are going to enable taint mode, make sure that the bug where
76     # spamd doesn't start when the PATH contains . is addressed, and make
77     # sure you deal with versions of razor <2.36-r1 not being taint-safe.
78     # <http://bugzilla.spamassassin.org/show_bug.cgi?id=2511> and
79     # <http://spamassassin.org/released/Razor2.patch>.
80     myconf="${myconf} PERL_TAINT=no"
81    
82     # No settings needed for 'make all'.
83     mymake=""
84    
85     # Neither for 'make install'.
86     myinst=""
87    
88     # Add Gentoo tag to make it easier for the upstream devs to spot
89     # possible modifications or patches.
90     version_tag="g${PV:6}${PR}"
91     version_str="${PV//_/-}-${version_tag}"
92    
93     # Create the Gentoo config file before Makefile.PL is called so it
94     # is copied later on.
95     echo "version_tag ${version_tag}" > rules/11_gentoo.cf
96    
97     # Setting the following env var ensures that no questions are asked.
98     export PERL_MM_USE_DEFAULT=1
99     perl-module_src_prep
100     # Run the autoconf stuff now, just to make the build sequence look more
101     # familiar to the user :) Plus feeding the VERSION_STRING skips some
102     # calls to Perl.
103     make spamc/Makefile VERSION_STRING="${version_str}"
104    
105     # Now compile all the stuff selected.
106     perl-module_src_compile
107     if use qmail; then
108     make spamc/qmail-spamc || die building qmail-spamc failed
109     fi
110    
111     # Remove the MANIFEST files as they aren't docu files
112     rm -f MANIFEST*
113    
114     use doc && make text_html_doc
115     }
116    
117     src_install () {
118     perl-module_src_test
119     }
120    
121     src_install () {
122     perl-module_src_install
123    
124     # Create the stub dir used by sa-update and friends
125     dodir /var/lib/spamassassin
126    
127     # Move spamd to sbin where it belongs.
128     dodir /usr/sbin
129     mv "${D}"/usr/bin/spamd "${D}"/usr/sbin/spamd || die
130    
131     use qmail && dobin spamc/qmail-spamc
132    
133     dosym /etc/mail/spamassassin /etc/spamassassin
134    
135     # Disable plugin by default
136     sed -i -e 's/^loadplugin/\#loadplugin/g' ${D}/etc/mail/spamassassin/init.pre
137    
138     # Add the init and config scripts.
139     newinitd "${FILESDIR}"/3.0.0-spamd.init spamd
140     newconfd "${FILESDIR}"/3.0.0-spamd.conf spamd
141    
142     if use doc; then
143     dodoc NOTICE TRADEMARK CREDITS INSTALL UPGRADE BUGS USAGE \
144     sql/README.bayes sql/README.awl README.ldap procmailrc.example \
145     sample-nonspam.txt sample-spam.txt rules/STATISTICS-set0.txt \
146     STATISTICS-set1.txt STATISTICS-set2.txt STATISTICS-set3.txt \
147     spamd/PROTOCOL
148    
149     # Rename some docu files so they don't clash with others
150     newdoc spamd/README README.spamd
151     newdoc sql/README README.sql
152     newdoc ldap/README README.ldap
153     use qmail && newdoc spamc/README.qmail README.qmail
154    
155     dohtml doc/*.html
156     docinto sql
157     dodoc sql/*.sql
158     fi
159    
160     # Install provided tools. See bug 108168
161     if use tools; then
162     docinto tools
163     dodoc tools/*
164     fi
165    
166     cp ${FILESDIR}/secrets.cf ${D}/etc/mail/spamassassin/secrets.cf.example
167     fperms 0400 /etc/mail/spamassassin/secrets.cf.example
168     echo "">>${D}/etc/mail/spamassassin/local.cf.example
169     echo "# Sensitive data, such as database connection info, should">>${D}/etc/mail/spamassassin/local.cf.example
170     echo "# be stored in /etc/mail/spamassassin/secrets.cf with">>${D}/etc/mail/spamassassin/local.cf.example
171     echo "# appropriate permissions">>${D}/etc/mail/spamassassin/local.cf.example
172     }
173    
174     pkg_postinst() {
175     perl-module_pkg_postinst
176    
177     if ! has_version "perl-core/DB_File"; then
178     einfo "The Bayes backend requires the Berkeley DB to store its data. You"
179     einfo "need to emerge perl-core/DB_File or USE=berkdb to make it available."
180     fi
181    
182     if has_version "mail-filter/razor"; then
183     if ! has_version ">=mail-filter/razor-2.61"; then
184     ewarn "You have $(best_version mail-filter/razor) installed but SpamAssassin"
185     if has_version "<mail-filter/razor-2.40"; then
186     ewarn "requires at least version 2.40, version 2.61 or later is recommended."
187     else
188     ewarn "recommends at least version 2.61."
189     fi
190     fi
191     fi
192    
193     if use doc; then
194     einfo
195     einfo "Please read the file"
196     einfo " /usr/share/doc/${PF}/INSTALL.gz"
197     einfo "to find out which optional modules you need to install to enable"
198     einfo "additional features which depend on them."
199     einfo
200     einfo "If upgraded from 2.x, please read the file"
201     einfo " /usr/share/doc/${PF}/UPGRADE.gz"
202     einfo
203     fi
204    
205     ewarn
206     ewarn "spamd is not designed to listen to an untrusted network"
207     ewarn "and is vulnerable to DoS attacks (and eternal doom) if"
208     ewarn "configured to do so"
209     ewarn
210     elog "If you plan on using the -u flag to spamd, please read the notes"
211     elog "in /etc/conf.d/spamd regarding the location of the pid file."
212    
213     einfo
214     einfo "If you build ${PN} with optional dependancy support,"
215     einfo "you can enable them in /etc/mail/spamassassin/init.pre"
216     einfo
217    
218     if has_version '>=dev-lang/perl-5.8.8'; then
219     elog "A note from the SA developers:"
220     elog "Perl 5.8 now uses Unicode internally by default, which causes trouble for"
221     elog "SpamAssassin (and almost all other reasonably complex pieces of perl"
222     elog "code!)."
223     elog ""
224     elog "We've worked around this in most places, as far as we know, but there may"
225     elog "still be some issues. In addition, there is a speed hit, which it would"
226     elog "be nice to avoid."
227     elog ""
228     elog "Setting the LANG environment variable before any invocation of"
229     elog "SpamAssassin sometimes seems to help fix it, like so:"
230     elog ""
231     elog " export LANG=en_US"
232     elog ""
233     elog "Notably, the LANG setting must not include \"utf8\". However, some folks"
234     elog "have reported that this makes no difference. ;)"
235     fi
236     einfo
237     if ! has_version 'dev-perl/Mail-SPF-Query'; then
238     elog "For spf support, please emerge dev-perl/Mail-SPF-Query"
239     fi
240     if ! has_version 'mail-filter/dcc'; then
241     elog "For dcc support, please emerge mail-filter/dcc"
242     fi
243     if ! has_version 'dev-python/pyzor'; then
244     elog "For pyzor support, please emerge dev-python/pyzor"
245     fi
246     if ! has_version 'mail-filter/razor'; then
247     elog "For razor support, please emerge mail-filter/razor"
248     fi
249     einfo
250     elog "For addtional functionality, you may wish to emerge:"
251     elog "dev-perl/IP-Country dev-perl/Net-Ident "
252     elog "dev-perl/Mail-DKIM"
253    
254     }

  ViewVC Help
Powered by ViewVC 1.1.20