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

Collapse All | Expand All

(-)/usr/portage/net-im/ejabberd/ejabberd-2.0.5-r3.ebuild (-50 / +42 lines)
Lines 1-8 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/net-im/ejabberd/ejabberd-2.0.5-r3.ebuild,v 1.1 2009/06/03 06:07:17 fauli Exp $
3
# $Header: $
4
4
5
inherit eutils multilib
5
EAPI=2
6
7
inherit eutils multilib pam
6
8
7
JABBER_ETC="/etc/jabber"
9
JABBER_ETC="/etc/jabber"
8
JABBER_RUN="/var/run/jabber"
10
JABBER_RUN="/var/run/jabber"
Lines 11-31 Link Here
11
13
12
MY_PV=${PV}
14
MY_PV=${PV}
13
MY_P=${PN}-${MY_PV}
15
MY_P=${PN}-${MY_PV}
16
BASE_PV=${PV%_*}
14
17
15
DESCRIPTION="The Erlang Jabber Daemon"
18
DESCRIPTION="The Erlang Jabber Daemon"
16
HOMEPAGE="http://www.ejabberd.im/"
19
HOMEPAGE="http://www.ejabberd.im/"
17
SRC_URI="http://www.process-one.net/downloads/ejabberd/${PV}/${MY_P}.tar.gz"
20
SRC_URI="http://www.process-one.net/downloads/${PN}/${MY_PV}/sources/${MY_P}.tar.gz"
18
LICENSE="GPL-2"
21
LICENSE="GPL-2"
19
SLOT="0"
22
SLOT="0"
20
KEYWORDS="~amd64 ~ppc ~x86"
23
KEYWORDS="~amd64 ~ppc ~x86"
21
IUSE="debug mod_irc mod_muc mod_pubsub ldap odbc pam ssl web zlib"
24
IUSE="captcha debug mod_irc mod_muc mod_proxy65 mod_pubsub ldap odbc pam ssl web zlib"
22
25
23
DEPEND=">=net-im/jabber-base-0.01
26
DEPEND=">=net-im/jabber-base-0.01
24
	>=dev-libs/expat-1.95
27
	>=dev-libs/expat-1.95
25
	>=dev-lang/erlang-11.2.5
28
	>=dev-lang/erlang-12.2.5
26
	odbc? ( dev-db/unixODBC )
29
	odbc? ( dev-db/unixODBC )
27
	ldap? ( =net-nds/openldap-2* )
30
	ldap? ( =net-nds/openldap-2* )
28
	ssl? ( >=dev-libs/openssl-0.9.8e )
31
	ssl? ( >=dev-libs/openssl-0.9.8e )
32
	captcha? ( media-gfx/imagemagick[truetype,png] )
29
	zlib? ( sys-libs/zlib )"
33
	zlib? ( sys-libs/zlib )"
30
RDEPEND="${DEPEND}"
34
RDEPEND="${DEPEND}"
31
35
Lines 33-110 Link Here
33
37
34
S=${WORKDIR}/${MY_P}/src
38
S=${WORKDIR}/${MY_P}/src
35
39
36
src_unpack() {
40
src_configure() {
37
	unpack ${A}
41
	econf \
38
	cd "${S}"
42
		--docdir=/usr/share/doc/"${PF}"/html \
39
40
	# make ejabberd working with erlang-13
41
	rm ram_file_io_server.erl
42
	epatch "${FILESDIR}/ejabberd-2.0.5-erlang-13.patch"
43
44
	# get rid of the prefix
45
	sed -i -e "s/\\@prefix\\@//" "${S}/Makefile.in" \
46
		|| die "cannot sed Makefile.in"
47
	# we want ejabberdctl in /usr/sbin not /sbin !!!
48
	sed -i -e "s/\\/sbin/\\/usr\\/sbin/" "${S}/Makefile.in" \
49
		|| die "cannot sed Makefile.in"
50
}
51
52
src_compile() {
53
		econf --prefix=/ \
54
		$(use_enable mod_irc) \
43
		$(use_enable mod_irc) \
55
		$(use_enable ldap eldap) \
44
		$(use_enable ldap eldap) \
56
		$(use_enable mod_muc) \
45
		$(use_enable mod_muc) \
46
		$(use_enable mod_proxy65) \
57
		$(use_enable mod_pubsub) \
47
		$(use_enable mod_pubsub) \
58
		$(use_enable ssl tls) \
48
		$(use_enable ssl tls) \
59
		$(use_enable web) \
49
		$(use_enable web) \
60
		$(use_enable odbc) \
50
		$(use_enable odbc) \
61
		$(use_enable zlib ejabberd_zlib) \
51
		$(use_enable zlib ejabberd_zlib) \
62
		$(use_enable pam) \
52
		$(use_enable pam) \
63
		|| die "econf failed"
53
		--enable-user=jabber \
54
	|| die "econf failed"
55
}
64
56
65
	if useq debug; then
57
src_compile() {
66
		emake ejabberd_debug=true || die "compiling ejabberd core failed"
58
67
	else
59
	emake $(use debug && echo debug=true ejabberd_debug=true) || die "compiling ejabberd core failed"
68
		emake || die "compiling ejabberd core failed"
69
	fi
70
}
60
}
71
61
72
src_install() {
62
src_install() {
73
	make \
63
	emake \
74
		DESTDIR="${D}" \
64
		DESTDIR="${D}" \
75
		EJABBERDDIR="${D}/usr/$(get_libdir)/erlang/lib/${P}" \
65
		EJABBERDDIR="${D}/usr/$(get_libdir)/erlang/lib/${P}" \
76
		ETCDIR="${D}${JABBER_ETC}" \
66
		ETCDIR="${D}${JABBER_ETC}" \
77
		LOGDIR="${D}${JABBER_LOG}" \
67
		LOGDIR="${D}${JABBER_LOG}" \
68
		SPOOLDIR="${D}${JABBER_SPOOL}" \
78
		install || die "install failed"
69
		install || die "install failed"
79
70
80
	# remove the default ejabberdctl as we use our own
81
	rm "${D}/sbin/ejabberdctl"
82
83
	insinto ${JABBER_ETC}
71
	insinto ${JABBER_ETC}
84
72
85
	fowners -R jabber:jabber ${JABBER_ETC}
73
	if use ssl; then
86
	fowners -R jabber:jabber ${JABBER_LOG}
87
	fowners -R jabber:jabber /usr/$(get_libdir)/erlang/lib/${P}
88
89
	if useq ssl; then
90
		doins "${FILESDIR}/ssl.cnf"
74
		doins "${FILESDIR}/ssl.cnf"
91
		newins "${FILESDIR}/self-cert-v2.sh" self-cert.sh
75
		newins "${FILESDIR}/self-cert-v2.sh" self-cert.sh
92
	fi
76
	fi
93
77
94
	# Pam helper module permissions
78
	# Pam helper module permissions
95
	# http://www.process-one.net/docs/ejabberd/guide_en.html
79
	# http://www.process-one.net/docs/ejabberd/guide_en.html
96
	if useq pam; then
80
	if use pam; then
97
		fowners root:jabber /usr/$(get_libdir)/erlang/lib/${P}/priv/bin/epam
81
		pamd_mimic_system xmpp auth account || die "Cannot create pam.d file"
98
		fperms 4750 /usr/$(get_libdir)/erlang/lib/${P}/priv/bin/epam
82
		fperms 4750 "/usr/$(get_libdir)/erlang/lib/${P}/priv/bin/epam" || die "Cannot adjust epam permissions"
99
	fi
83
	fi
100
84
101
	cd "${WORKDIR}/${MY_P}/doc"
85
	cd "${WORKDIR}/${MY_P}/doc"
102
	dodoc "release_notes_${MY_PV}.txt"
86
	dodoc "release_notes_${BASE_PV}.txt"
103
	dohtml *.{html,png}
87
	rm "${D}"/usr/share/doc/"${PF}"/html/*.txt
88
	chmod -x "${D}"/usr/share/doc/"${PF}"/html/*
104
89
105
	# set up /usr/sbin/ejabberd wrapper
90
	# set up /usr/sbin/ejabberd wrapper
106
	cat "${FILESDIR}/ejabberd-wrapper-2.template" \
91
	cat "${FILESDIR}/ejabberd-wrapper-3.template" \
107
		| sed -e "s/\@libdir\@/$(get_libdir)/g" -e "s/\@version\@/${PV}/g" \
92
		| sed -e "s/\@libdir\@/$(get_libdir)/g" -e "s/\@version\@/${PV}/g" -e "s/\@doc\@/${PF}/g" \
108
		> "${T}/ejabberd"
93
		> "${T}/ejabberd"
109
	exeinto /usr/sbin
94
	exeinto /usr/sbin
110
	doexe "${T}/ejabberd" || die
95
	doexe "${T}/ejabberd" || die
Lines 116-129 Link Here
116
	doexe "${T}/ejabberdctl"
101
	doexe "${T}/ejabberdctl"
117
102
118
	dodir /var/lib/ejabberd
103
	dodir /var/lib/ejabberd
119
	newinitd "${FILESDIR}/${PN}-2.initd" ${PN} || die
104
	newinitd "${FILESDIR}/${PN}-2.initd" ${PN} || die "Cannot install init.d script"
120
	newconfd "${FILESDIR}/${PN}-2.confd" ${PN} || die
105
	newconfd "${FILESDIR}/${PN}-2.confd" ${PN} || die "Cannot install conf.d file"
121
106
122
	# fix up the ssl cert paths in /etc/jabber/ejabberd.cfg to use the cert
107
	# fix up the ssl cert paths in /etc/jabber/ejabberd.cfg to use the cert
123
	# that would be generated by /etc/jabber/self-cert.sh
108
	# that would be generated by /etc/jabber/self-cert.sh
124
	sed -i -e "s/\/path\/to\/ssl.pem/\/etc\/jabber\/ssl.pem/g" \
109
	sed -i -e "s/\/path\/to\/ssl.pem/\/etc\/jabber\/ssl.pem/g" \
125
		"${D}${JABBER_ETC}/ejabberd.cfg" || die "Cannot sed ejabberd.cfg"
110
		"${D}${JABBER_ETC}/ejabberd.cfg" || die "Cannot sed ejabberd.cfg"
126
111
112
	# correct path to captcha script in default ejabberd.cfg
113
	sed -r 's|\{captcha_cmd,[[:space:]]*".+"\}|{captcha_cmd, "/usr/'$(get_libdir)'/erlang/lib/'${P}'/priv/bin/captcha.sh"}|' -i \
114
		"${D}${JABBER_ETC}/ejabberd.cfg" || die "Cannot sed ejabberd.cfg"
115
127
	# if mod_irc is not enabled, comment out the mod_irc in the default
116
	# if mod_irc is not enabled, comment out the mod_irc in the default
128
	# ejabberd.cfg
117
	# ejabberd.cfg
129
	if ! use mod_irc; then
118
	if ! use mod_irc; then
Lines 136-151 Link Here
136
	elog "For configuration instructions, please see"
125
	elog "For configuration instructions, please see"
137
	elog "/usr/share/doc/${PF}/html/guide.html, or the online version at"
126
	elog "/usr/share/doc/${PF}/html/guide.html, or the online version at"
138
	elog "http://www.process-one.net/en/projects/ejabberd/docs/guide_en.html"
127
	elog "http://www.process-one.net/en/projects/ejabberd/docs/guide_en.html"
139
	if useq ssl ; then
128
129
	if use ssl ; then
140
		if [ ! -e /etc/jabber/ssl.pem ]; then
130
		if [ ! -e /etc/jabber/ssl.pem ]; then
141
			elog "Please edit ${JABBER_ETC}/ssl.cnf and run ${JABBER_ETC}/self-cert.sh"
131
			elog "Please edit ${JABBER_ETC}/ssl.cnf and run ${JABBER_ETC}/self-cert.sh"
142
			elog "Ejabberd may refuse to start without an SSL certificate"
132
			elog "Ejabberd may refuse to start without an SSL certificate"
143
		fi
133
		fi
144
	fi
134
	fi
145
	if ! useq web ; then
135
136
	if ! use web ; then
146
		elog "The web USE flag is off, this has disabled the web admin interface."
137
		elog "The web USE flag is off, this has disabled the web admin interface."
147
	fi
138
	fi
148
	elog "===================================================================="
139
140
	elog '===================================================================='
149
	elog 'Quick Start Guide:'
141
	elog 'Quick Start Guide:'
150
	elog '1) Add output of `hostname -f` to /etc/jabber/ejabberd.cfg line 89'
142
	elog '1) Add output of `hostname -f` to /etc/jabber/ejabberd.cfg line 89'
151
	elog '   {hosts, ["localhost", "thehost"]}.'
143
	elog '   {hosts, ["localhost", "thehost"]}.'

Return to bug 281366