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 (-130 / +53 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-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
}

Return to bug 292853