Gentoo Archives: gentoo-commits

From: Hans de Graaff <graaff@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] dev/graaff:master commit in: net-im/ejabberd/
Date: Sun, 26 May 2013 08:35:45
Message-Id: 1369557116.2ec1a3c1c71aa48432ab6e6321568cad2db9439c.graaff@gentoo
1 commit: 2ec1a3c1c71aa48432ab6e6321568cad2db9439c
2 Author: Hans de Graaff <hans <AT> degraaff <DOT> org>
3 AuthorDate: Sun May 26 08:31:56 2013 +0000
4 Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
5 CommitDate: Sun May 26 08:31:56 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=dev/graaff.git;a=commit;h=2ec1a3c1
7
8 Version bump with my LDAP-IPv6 patch.
9
10 Package-Manager: portage-2.1.11.62
11
12 ---
13 net-im/ejabberd/ChangeLog | 10 ++-
14 net-im/ejabberd/Manifest | 12 +--
15 net-im/ejabberd/ejabberd-2.1.12-r1.ebuild | 216 +++++++++++++++++++++++++++++
16 3 files changed, 227 insertions(+), 11 deletions(-)
17
18 diff --git a/net-im/ejabberd/ChangeLog b/net-im/ejabberd/ChangeLog
19 index 89e4f2e..6725113 100644
20 --- a/net-im/ejabberd/ChangeLog
21 +++ b/net-im/ejabberd/ChangeLog
22 @@ -1,7 +1,15 @@
23 # ChangeLog for net-im/ejabberd
24 -# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
25 +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
26 # $Header: $
27
28 + 26 May 2013; Hans de Graaff <graaff@g.o> +ejabberd-2.1.12-r1.ebuild:
29 + Version bump with my LDAP-IPv6 patch.
30 +
31 +*ejabberd-2.1.12-r1 (19 May 2013)
32 +
33 + 19 May 2013; Hans de Graaff <graaff@g.o> +ejabberd-2.1.12-r1.ebuild:
34 + Version bump of my local version since LDAP IPv6 is not fixed upstream yet.
35 +
36 30 Jul 2012; Hans de Graaff <graaff@g.o> +ejabberd-2.1.11-r1.ebuild,
37 +files/ejabberd-2.1.11-ldap-ipv6.patch, +files/ejabberd-3.confd,
38 +files/ejabberd-3.initd, +metadata.xml:
39
40 diff --git a/net-im/ejabberd/Manifest b/net-im/ejabberd/Manifest
41 index ad0d73f..5d0fe76 100644
42 --- a/net-im/ejabberd/Manifest
43 +++ b/net-im/ejabberd/Manifest
44 @@ -1,12 +1,4 @@
45 ------BEGIN PGP SIGNED MESSAGE-----
46 -Hash: SHA256
47 -
48 DIST ejabberd-2.1.11.tgz 2014232 SHA256 91d5c10e64f9faa60c345c68304746f493d71f82723302955d40d6619e3d87de SHA512 6f09c80b03a84595294c679d49b5991985707f6c9e8c2f9fad94618224666e05b4325a5bef840d2ccf0c803038fc11b49b168716a3e258312216e201bdd4bb88 WHIRLPOOL 2ab09c84619173090acabf19cde10f14e3240fa6b89fb7d963bd79aca960b11a6f869f691d219c55b1b0a664c676afc800599671dfc923a0302d2075eec0e224
49 +DIST ejabberd-2.1.12.tgz 1999224 SHA256 38f0825346773c00c85a66b33586c75f2d191d1eb0ed8ae09fa17368d6ddfd19 SHA512 725ab9563a6c73e85b5115f66bac157cf9b1170913c1bfed7cf066408c6b3ac5b4bdba22c6c3ed1505391a7048a86ce3b59484f78264ab023612c539422278db WHIRLPOOL 3de3b103f69b8ead3d68cb70f3073808c40cd9541f0fd97aff7173f3ecabf6755295e1c30de83e67c844dc6886a5c2cb55a26980f4275cb32008e922591ae35a
50 DIST ejabberd-mod_statsdx-1080.patch.gz 14024 SHA256 0f3a3a991c14d797e795ef4fffcf19aa9a54608f5053b759187ec7d3696b9edb
51 ------BEGIN PGP SIGNATURE-----
52 -Version: GnuPG v2.0.19 (GNU/Linux)
53 -
54 -iF4EAREIAAYFAlAWxT8ACgkQiIP6VqMIqNffrwD8CQo1GCIJHHv+8+PVDLP6qjQy
55 -s+fSygiYYoF7B++UydQA/2VoxryuRq6JV04WvV0+wlLm1ZNI8TDqsvMEZWIGfAo8
56 -=Jvnq
57 ------END PGP SIGNATURE-----
58 +DIST ejabberd-mod_statsdx-1118.patch.gz 13989 SHA256 5e5d975e44248cf2b0d6dd0ecf4c477e8479b2b4d0bd531e80f4623fd787320e SHA512 99399323150990cda15e707385f0f26fa790d4ba188a97ac46daaaab9c25e72a7ec72a875573136f17a18648017074d76e4e267b544dc4c95a5101ed9ad6815d WHIRLPOOL 05997f03bb70136ee5e829ea9c55e3aeb0704150f1ed54f11c6cce382a82106129fc1a6ef35a62780837cd2b59fbb384fa10f3bb49813acaee8c5edc22ae3702
59
60 diff --git a/net-im/ejabberd/ejabberd-2.1.12-r1.ebuild b/net-im/ejabberd/ejabberd-2.1.12-r1.ebuild
61 new file mode 100644
62 index 0000000..40dff03
63 --- /dev/null
64 +++ b/net-im/ejabberd/ejabberd-2.1.12-r1.ebuild
65 @@ -0,0 +1,216 @@
66 +# Copyright 1999-2013 Gentoo Foundation
67 +# Distributed under the terms of the GNU General Public License v2
68 +# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ejabberd-2.1.12.ebuild,v 1.4 2013/05/14 09:42:10 ago Exp $
69 +
70 +EAPI=5
71 +
72 +inherit eutils multilib pam ssl-cert
73 +
74 +DESCRIPTION="The Erlang Jabber Daemon"
75 +HOMEPAGE="http://www.ejabberd.im/ https://github.com/processone/ejabberd/"
76 +SRC_URI="http://www.process-one.net/downloads/${PN}/${PV}/${P}.tgz
77 + mod_statsdx? ( http://dev.gentoo.org/~radhermit/dist/${PN}-mod_statsdx-1118.patch.gz )"
78 +
79 +LICENSE="GPL-2"
80 +SLOT="0"
81 +KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
82 +EJABBERD_MODULES="mod_irc mod_muc mod_proxy65 mod_pubsub mod_statsdx"
83 +IUSE="captcha debug ldap odbc pam +web zlib ${EJABBERD_MODULES}"
84 +
85 +DEPEND=">=net-im/jabber-base-0.01
86 + >=dev-libs/expat-1.95
87 + >=dev-lang/erlang-12.2.5[ssl]
88 + odbc? ( dev-db/unixODBC )
89 + ldap? ( =net-nds/openldap-2* )
90 + >=dev-libs/openssl-0.9.8e
91 + captcha? ( media-gfx/imagemagick[truetype,png] )
92 + zlib? ( sys-libs/zlib )"
93 +#>=sys-apps/shadow-4.1.4.2-r3 - fixes bug in su that made ejabberdctl unworkable.
94 +RDEPEND="${DEPEND}
95 + >=sys-apps/shadow-4.1.4.2-r3
96 + pam? ( virtual/pam )"
97 +
98 +S=${WORKDIR}/${P}/src
99 +
100 +# paths in net-im/jabber-base
101 +JABBER_ETC="${EPREFIX}/etc/jabber"
102 +#JABBER_RUN="/var/run/jabber"
103 +JABBER_SPOOL="${EPREFIX}/var/spool/jabber"
104 +JABBER_LOG="${EPREFIX}/var/log/jabber"
105 +JABBER_DOC="${EPREFIX}/usr/share/doc/${PF}"
106 +
107 +src_prepare() {
108 + epatch "${FILESDIR}"/${PN}-2.1.11-ldap-ipv6.patch
109 +
110 + if use mod_statsdx; then
111 + ewarn "mod_statsdx is not a part of upstream tarball but is a third-party module"
112 + ewarn "taken from here: http://www.ejabberd.im/mod_stats2file"
113 + EPATCH_OPTS="-p2" epatch "${WORKDIR}"/${PN}-mod_statsdx-1118.patch
114 + fi
115 +
116 + # don't install release notes (we'll do this manually)
117 + sed '/install .* [.][.]\/doc\/[*][.]txt $(DOCDIR)/d' -i Makefile.in || die
118 + # Set correct paths
119 + sed -e "/^EJABBERDDIR[[:space:]]*=/{s:ejabberd:${PF}:}" \
120 + -e "/^ETCDIR[[:space:]]*=/{s:@sysconfdir@/ejabberd:${JABBER_ETC}:}" \
121 + -e "/^LOGDIR[[:space:]]*=/{s:@localstatedir@/log/ejabberd:${JABBER_LOG}:}" \
122 + -e "/^SPOOLDIR[[:space:]]*=/{s:@localstatedir@/lib/ejabberd:${JABBER_SPOOL}:}" \
123 + -i Makefile.in || die
124 + sed -e "/EJABBERDDIR=/{s:ejabberd:${PF}:}" \
125 + -e "s|\(ETCDIR=\)@SYSCONFDIR@.*|\1${JABBER_ETC}|" \
126 + -e "s|\(LOGS_DIR=\)@LOCALSTATEDIR@.*|\1${JABBER_LOG}|" \
127 + -e "s|\(SPOOLDIR=\)@LOCALSTATEDIR@.*|\1${JABBER_SPOOL}|" \
128 + -i ejabberdctl.template || die
129 +
130 + # Set shell, so it'll work even in case jabber user have no shell
131 + # This is gentoo specific I guess since other distributions may have
132 + # ejabberd user with reall shell, while we share this user among different
133 + # jabberd implementations.
134 + sed '/^HOME/aSHELL=/bin/sh' -i ejabberdctl.template || die
135 + sed '/^export HOME/aexport SHELL' -i ejabberdctl.template || die
136 +
137 + #sed -e "s:/share/doc/ejabberd/:${JABBER_DOC}:" -i web/ejabberd_web_admin.erl
138 +
139 + # fix up the ssl cert paths in ejabberd.cfg to use our cert
140 + sed -e "s:/path/to/ssl.pem:/etc/ssl/ejabberd/server.pem:g" \
141 + -i ejabberd.cfg.example || die "Failed sed ejabberd.cfg.example"
142 +
143 + # correct path to captcha script in default ejabberd.cfg
144 + sed -e 's|\({captcha_cmd,[[:space:]]*"\).\+"}|\1/usr/'$(get_libdir)'/erlang/lib/'${P}'/priv/bin/captcha.sh"}|' \
145 + -i ejabberd.cfg.example || die "Failed sed ejabberd.cfg.example"
146 +
147 + # disable mod_irc in ejabberd.cfg
148 + if ! use mod_irc; then
149 + sed -i -e "s/{mod_irc,/%{mod_irc,/" \
150 + -i ejabberd.cfg.example || die "Failed to disable mod_irc"
151 + fi
152 +
153 +}
154 +
155 +src_configure() {
156 + econf \
157 + --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
158 + --libdir="${EPREFIX}/usr/$(get_libdir)/erlang/lib/" \
159 + $(use_enable mod_irc) \
160 + $(use_enable ldap eldap) \
161 + $(use_enable mod_muc) \
162 + $(use_enable mod_proxy65) \
163 + $(use_enable mod_pubsub) \
164 + $(use_enable web) \
165 + $(use_enable odbc) \
166 + $(use_enable zlib ejabberd_zlib) \
167 + $(use_enable pam) \
168 + --enable-user=jabber
169 +}
170 +
171 +src_compile() {
172 + emake $(use debug && echo debug=true ejabberd_debug=true)
173 +}
174 +
175 +src_install() {
176 + default
177 +
178 + # Pam helper module permissions
179 + # http://www.process-one.net/docs/ejabberd/guide_en.html
180 + if use pam; then
181 + pamd_mimic_system xmpp auth account || die "Cannot create pam.d file"
182 + fowners root:jabber "/usr/$(get_libdir)/erlang/lib/${PF}/priv/bin/epam"
183 + fperms 4750 "/usr/$(get_libdir)/erlang/lib/${PF}/priv/bin/epam"
184 + fi
185 +
186 + cd "${WORKDIR}/${P}/doc"
187 + dodoc "release_notes_${PV%%_rc*}.txt"
188 +
189 + #dodir /var/lib/ejabberd
190 + newinitd "${FILESDIR}/${PN}-3.initd" ${PN}
191 + newconfd "${FILESDIR}/${PN}-3.confd" ${PN}
192 +}
193 +
194 +pkg_postinst() {
195 + elog "For configuration instructions, please see"
196 + elog "/usr/share/doc/${PF}/html/guide.html, or the online version at"
197 + elog "http://www.process-one.net/en/ejabberd/docs/guide_en/"
198 +
199 + if ! use web ; then
200 + ewarn
201 + ewarn "The web USE flag is off, this has disabled the web admin interface."
202 + ewarn
203 + fi
204 +
205 + elog
206 + elog '===================================================================='
207 + elog 'Quick Start Guide:'
208 + elog '1) Add output of `hostname -f` to /etc/jabber/ejabberd.cfg line 91'
209 + elog ' {hosts, ["localhost", "thehost"]}.'
210 + elog '2) Add an admin user to /etc/jabber/ejabberd.cfg line 360'
211 + elog ' {acl, admin, {user, "theadmin", "thehost"}}.'
212 + elog '3) Start the server'
213 + elog ' # /etc/init.d/ejabberd start'
214 + elog '4) Register the admin user'
215 + elog ' # /usr/sbin/ejabberdctl register theadmin thehost thepassword'
216 + elog '5) Log in with your favourite jabber client or using the web admin'
217 +
218 + # Upgrading from ejabberd-2.0.x:
219 + if grep -E '^[^#]*EJABBERD_NODE=' "${EROOT}/etc/conf.d/ejabberd" >/dev/null 2>&1; then
220 + source "${EROOT}/etc/conf.d/ejabberd"
221 + ewarn
222 + ewarn "!!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!"
223 + ewarn "Starting with 2.1.x some paths and configuration files were"
224 + ewarn "changed to reflect upstream intentions better. Notable changes are:"
225 + ewarn
226 + ewarn "1. Everything (even init scripts) is now handled with ejabberdctl script."
227 + ewarn "Thus main configuration file became /etc/jabberd/ejabberdctl.cfg"
228 + ewarn "You must update ERLANG_NODE there with the value of EJABBERD_NODE"
229 + ewarn "from /etc/conf.d/ejebberd or ejabberd will refuse to start."
230 + ewarn
231 + ewarn "2. SSL certificate is now generated with ssl-cert eclass and resides"
232 + ewarn "at standard location: /etc/ssl/ejabberd/server.pem."
233 + ewarn
234 + ewarn "3. Cookie now resides at /var/spool/jabber/.erlang.cookie"
235 + ewarn
236 + ewarn "4. /var/log/jabber/sasl.log is now /var/log/jabber/erlang.log"
237 + ewarn
238 + ewarn "5. Crash dumps (if any) will be located at /var/log/jabber"
239 +
240 + local i ctlcfg new_ctlcfg
241 + i=0
242 + ctlcfg=${EROOT}/etc/jabber/ejabberdctl.cfg
243 + while :; do
244 + new_ctlcfg=$(printf "${EROOT}/etc/jabber/._cfg%04d_ejabberdctl.cfg" ${i})
245 + [[ ! -e ${new_ctlcfg} ]] && break
246 + ctlcfg=${new_ctlcfg}
247 + ((i++))
248 + done
249 +
250 + ewarn
251 + ewarn "Updating ${ctlcfg} (debug: ${new_ctlcfg})"
252 + sed -e "/#ERLANG_NODE=/aERLANG_NODE=$EJABBERD_NODE" "${ctlcfg}" > "${new_ctlcfg}" || die
253 +
254 + if [[ -e ${EROOT}/var/run/jabber/.erlang.cookie ]]; then
255 + ewarn "Moving .erlang.cookie..."
256 + if [[ -e ${EROOT}/var/spool/jabber/.erlang.cookie ]]; then
257 + mv -v "${EROOT}"/var/spool/jabber/.erlang.cookie{,bak}
258 + fi
259 + mv -v "${EROOT}"/var/{run/jabber,spool/jabber}/.erlang.cookie
260 + fi
261 + ewarn
262 + ewarn "We'll try to handle upgrade automagically but, please, do your"
263 + ewarn "own checks and do not forget to run 'etc-update'!"
264 + ewarn "PLEASE! Run 'etc-update' now!"
265 + fi
266 +
267 + SSL_ORGANIZATION="${SSL_ORGANIZATION:-Ejabberd XMPP Server}"
268 + install_cert /etc/ssl/ejabberd/server
269 + # Fix ssl cert permissions bug #369809
270 + chown root:jabber "${EROOT}/etc/ssl/ejabberd/server.pem"
271 + chmod 0440 "${EROOT}/etc/ssl/ejabberd/server.pem"
272 + if [[ -e ${EROOT}/etc/jabber/ssl.pem ]]; then
273 + ewarn
274 + ewarn "The location of SSL certificates has changed. If you are"
275 + ewarn "upgrading from ${CATEGORY}/${PN}-2.0.5* or earlier you might"
276 + ewarn "want to move your old certificates from /etc/jabber into"
277 + ewarn "/etc/ssl/ejabberd/, update config files and"
278 + ewarn "rm /etc/jabber/ssl.pem to avoid this message."
279 + ewarn
280 + fi
281 +}