Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 292853 | Differences between
and this patch

Collapse All | Expand All

(-)a/spamassassin-3.2.5-r1.ebuild (-116 / +46 lines)
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-64 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
Lines 81-92 Link Here
81
	# <http://spamassassin.org/released/Razor2.patch>.
84
	# <http://spamassassin.org/released/Razor2.patch>.
82
	myconf="${myconf} PERL_TAINT=no"
85
	myconf="${myconf} PERL_TAINT=no"
83
86
84
	# No settings needed for 'make all'.
85
	mymake=""
86
87
	# Neither for 'make install'.
88
	myinst=""
89
90
	# Add Gentoo tag to make it easier for the upstream devs to spot
87
	# Add Gentoo tag to make it easier for the upstream devs to spot
91
	# possible modifications or patches.
88
	# possible modifications or patches.
92
	version_tag="g${PV:6}${PR}"
89
	version_tag="g${PV:6}${PR}"
Lines 97-104 Link Here
97
	echo "version_tag ${version_tag}" > rules/11_gentoo.cf
94
	echo "version_tag ${version_tag}" > rules/11_gentoo.cf
98
95
99
	# Setting the following env var ensures that no questions are asked.
96
	# Setting the following env var ensures that no questions are asked.
100
	export PERL_MM_USE_DEFAULT=1
97
	perl-module_src_configure
101
	perl-module_src_prep
98
}
99
100
src_compile() {
102
	# Run the autoconf stuff now, just to make the build sequence look more
101
	# 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
102
	# familiar to the user :)  Plus feeding the VERSION_STRING skips some
104
	# calls to Perl.
103
	# calls to Perl.
Lines 106-123 Link Here
106
105
107
	# Now compile all the stuff selected.
106
	# Now compile all the stuff selected.
108
	perl-module_src_compile
107
	perl-module_src_compile
108
109
	if use qmail; then
109
	if use qmail; then
110
		make spamc/qmail-spamc || die building qmail-spamc failed
110
		make spamc/qmail-spamc || die "building qmail-spamc failed"
111
	fi
111
	fi
112
112
113
	# Remove the MANIFEST files as they aren't docu files
113
	if use doc; then
114
	rm -f MANIFEST*
114
		make text_html_doc || die
115
115
	fi
116
	use doc && make text_html_doc
117
}
118
119
src_test() {
120
	perl-module_src_test
121
}
116
}
122
117
123
src_install () {
118
src_install () {
Lines 130-136 Link Here
130
	dodir /usr/sbin
125
	dodir /usr/sbin
131
	mv "${D}"/usr/bin/spamd "${D}"/usr/sbin/spamd  || die
126
	mv "${D}"/usr/bin/spamd "${D}"/usr/sbin/spamd  || die
132
127
133
	use qmail && dobin spamc/qmail-spamc
128
	if use qmail; then
129
		dobin spamc/qmail-spamc
130
	fi
134
131
135
	dosym /etc/mail/spamassassin /etc/spamassassin
132
	dosym /etc/mail/spamassassin /etc/spamassassin
136
133
Lines 138-255 Link Here
138
	sed -i -e 's/^loadplugin/\#loadplugin/g' "${D}"/etc/mail/spamassassin/init.pre
135
	sed -i -e 's/^loadplugin/\#loadplugin/g' "${D}"/etc/mail/spamassassin/init.pre
139
136
140
	# Add the init and config scripts.
137
	# Add the init and config scripts.
141
	newinitd "${FILESDIR}"/3.0.0-spamd.init spamd
138
	newinitd "${FILESDIR}"/3.0.0-spamd.init spamd || die
142
	newconfd "${FILESDIR}"/3.0.0-spamd.conf spamd
139
	newconfd "${FILESDIR}"/3.0.0-spamd.conf spamd || die
143
140
144
	if use doc; then
141
	if use doc; then
145
		dodoc NOTICE TRADEMARK CREDITS INSTALL INSTALL.VMS UPGRADE USAGE \
142
		dodoc NOTICE TRADEMARK CREDITS INSTALL.VMS UPGRADE USAGE \
146
		sql/README.bayes sql/README.awl procmailrc.example sample-nonspam.txt \
143
		sql/README.bayes sql/README.awl procmailrc.example sample-nonspam.txt \
147
		sample-spam.txt spamassassin.spec spamd/PROTOCOL spamd/README.vpopmail \
144
		sample-spam.txt spamassassin.spec spamd/PROTOCOL spamd/README.vpopmail \
148
		spamd-apache2/README.apache
145
		spamd-apache2/README.apache || die
149
146
150
		# Rename some docu files so they don't clash with others
147
		# Rename some docu files so they don't clash with others
151
		newdoc spamd/README README.spamd
148
		newdoc spamd/README README.spamd || die
152
		newdoc sql/README README.sql
149
		newdoc sql/README README.sql || die
153
		newdoc ldap/README README.ldap
150
		newdoc ldap/README README.ldap || die
154
		use qmail && newdoc spamc/README.qmail README.qmail
155
151
156
		dohtml doc/*.html
152
		dohtml doc/*.html || die
157
		docinto sql
153
		docinto sql
158
		dodoc sql/*.sql
154
		dodoc sql/*.sql || die
155
156
		if use qmail; then
157
			dodoc spamc/README.qmail || die
158
		fi
159
	fi
159
	fi
160
160
161
	# Install provided tools. See bug 108168
161
	# Install provided tools. See bug 108168
162
	if use tools; then
162
	if use tools; then
163
		docinto tools
163
		docinto tools
164
		dodoc tools/*
164
		dodoc tools/* || die "dodoc failed"
165
	fi
165
	fi
166
166
167
	cp "${FILESDIR}"/secrets.cf "${D}"/etc/mail/spamassassin/secrets.cf.example
167
	cp "${FILESDIR}"/secrets.cf "${D}"/etc/mail/spamassassin/secrets.cf.example || die
168
	fperms 0400 /etc/mail/spamassassin/secrets.cf.example
168
	fperms 0400 /etc/mail/spamassassin/secrets.cf.example
169
	echo "">>${D}/etc/mail/spamassassin/local.cf.example
169
170
	echo "# Sensitive data, such as database connection info, should">>${D}/etc/mail/spamassassin/local.cf.example
170
	cat <<EOF > "${T}/local.cf.example"
171
	echo "# be stored in /etc/mail/spamassassin/secrets.cf with">>${D}/etc/mail/spamassassin/local.cf.example
171
# Sensitive data, such as database connection info, should be stored in
172
	echo "# appropriate permissions">>${D}/etc/mail/spamassassin/local.cf.example
172
# /etc/mail/spamassassin/secrets.cf with appropriate permissions
173
EOF
174
175
	insinto /etc/mail/spamassassin/
176
	doins "${T}/local.cf.example" || die
173
}
177
}
174
178
175
pkg_postinst() {
179
pkg_postinst() {
176
	perl-module_pkg_postinst
180
	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"
181
	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."
182
	elog "in /etc/conf.d/spamd regarding the location of the pid file."
213
183
	elog "If you build ${PN} with optional dependancy support,"
214
	einfo
184
	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
}
185
}

Return to bug 292853