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