Gentoo Archives: gentoo-commits

From: "Peter Volkov (pva)" <pva@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-im/ejabberd: metadata.xml ChangeLog ejabberd-2.1.3.ebuild
Date: Wed, 26 May 2010 20:25:29
Message-Id: 20100526202525.478962CF0C@corvid.gentoo.org
1 pva 10/05/26 20:25:25
2
3 Modified: metadata.xml ChangeLog
4 Added: ejabberd-2.1.3.ebuild
5 Log:
6 Version bump, #281366 thank Vadim Efimov for report and jamatik for preliminary testing (that helped greately)! Fixes conflict with GSecurity TPE bug 202616, thank Andrian Nord for report. Init script rewriten, fixes bugs #210234, #279613 and #306593, thank Luca Barbato, Roy Marples, Luke-Jr and Livid. Fixed ssl related build issue, bug 288414 by Michał Masłowski. Fixes DoS, security bug 308047, thank Stefan Behte for report.
7 (Portage version: 2.1.8.3/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.5 net-im/ejabberd/metadata.xml
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/metadata.xml?rev=1.5&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/metadata.xml?rev=1.5&content-type=text/plain
14 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/metadata.xml?r1=1.4&r2=1.5
15
16 Index: metadata.xml
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/net-im/ejabberd/metadata.xml,v
19 retrieving revision 1.4
20 retrieving revision 1.5
21 diff -u -r1.4 -r1.5
22 --- metadata.xml 5 Aug 2008 16:35:41 -0000 1.4
23 +++ metadata.xml 26 May 2010 20:25:25 -0000 1.5
24 @@ -1,16 +1,18 @@
25 <?xml version="1.0" encoding="UTF-8"?>
26 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
27 -
28 <pkgmetadata>
29 <herd>net-im</herd>
30 <maintainer>
31 <email>caleb@g.o</email>
32 </maintainer>
33 <longdescription> Free and Open Source distributed fault-tolerant Jabber server. It's mostly written in Erlang, and works on many platforms.</longdescription>
34 -<use>
35 - <flag name='mod_irc'>Irc support in ejabberd</flag>
36 - <flag name='mod_muc'>Multi user chat support in ejabberd</flag>
37 - <flag name='mod_pubsub'>Pubsub support in ejabberd</flag>
38 - <flag name='web'>Web support in ejabberd</flag>
39 -</use>
40 + <use>
41 + <flag name='mod_irc'>Build irc gateway </flag>
42 + <flag name='mod_muc'>Build Multi User Chat module</flag>
43 + <flag name='mod_pubsub'>Build Pubsub module</flag>
44 + <flag name='web'>Enable web admin interface</flag>
45 + <flag name="captcha">Support for CAPTCHA Forms (XEP-158)</flag>
46 + <flag name="mod_proxy65">Support for SOCKS5 Bytestreams (XEP-0065)</flag>
47 + <flag name="mod_statsdx">Measures several statistics, and provides a new section in ejabberd Web Admin to view them.</flag>
48 + </use>
49 </pkgmetadata>
50
51
52
53 1.70 net-im/ejabberd/ChangeLog
54
55 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/ChangeLog?rev=1.70&view=markup
56 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/ChangeLog?rev=1.70&content-type=text/plain
57 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/ChangeLog?r1=1.69&r2=1.70
58
59 Index: ChangeLog
60 ===================================================================
61 RCS file: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v
62 retrieving revision 1.69
63 retrieving revision 1.70
64 diff -u -r1.69 -r1.70
65 --- ChangeLog 30 Dec 2009 11:35:42 -0000 1.69
66 +++ ChangeLog 26 May 2010 20:25:25 -0000 1.70
67 @@ -1,6 +1,17 @@
68 # ChangeLog for net-im/ejabberd
69 -# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
70 -# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v 1.69 2009/12/30 11:35:42 fauli Exp $
71 +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
72 +# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v 1.70 2010/05/26 20:25:25 pva Exp $
73 +
74 +*ejabberd-2.1.3 (26 May 2010)
75 +
76 + 26 May 2010; Peter Volkov <pva@g.o> +files/2.1.1-mod_statsdx.patch,
77 + +ejabberd-2.1.3.ebuild, +files/ejabberd-3.confd, +files/ejabberd-3.initd:
78 + Version bump, #281366 thank Vadim Efimov for report and jamatik for
79 + preliminary testing (that helped greately)! Fixes conflict with GSecurity
80 + TPE bug 202616, thank Andrian Nord for report. Init script rewriten, fixes
81 + bugs #210234, #279613 and #306593, thank Luca Barbato, Roy Marples,
82 + Luke-Jr and Livid. Fixed ssl related build issue, bug 288414 by Michał
83 + Masłowski. Fixes DoS, security bug 308047, thank Stefan Behte for report.
84
85 30 Dec 2009; Christian Faulhammer <fauli@g.o>
86 -files/1.1.4-missing-declaration.patch, -ejabberd-1.1.4-r1.ebuild,
87
88
89
90 1.1 net-im/ejabberd/ejabberd-2.1.3.ebuild
91
92 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/ejabberd-2.1.3.ebuild?rev=1.1&view=markup
93 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/ejabberd-2.1.3.ebuild?rev=1.1&content-type=text/plain
94
95 Index: ejabberd-2.1.3.ebuild
96 ===================================================================
97 # Copyright 1999-2010 Gentoo Foundation
98 # Distributed under the terms of the GNU General Public License v2
99 # $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ejabberd-2.1.3.ebuild,v 1.1 2010/05/26 20:25:25 pva Exp $
100
101 EAPI=3
102
103 inherit eutils multilib pam ssl-cert
104
105 DESCRIPTION="The Erlang Jabber Daemon"
106 HOMEPAGE="http://www.ejabberd.im/"
107 SRC_URI="http://www.process-one.net/downloads/${PN}/${PV}/${P}.tar.gz
108 mod_statsdx? ( mirror://gentoo/2.1.1-mod_statsdx.patch.bz2 )"
109
110 LICENSE="GPL-2"
111 SLOT="0"
112 KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~x86"
113 EJABBERD_MODULES="mod_irc mod_muc mod_proxy65 mod_pubsub mod_statsdx"
114 IUSE="captcha debug ldap odbc pam ssl +web zlib ${EJABBERD_MODULES}"
115
116 DEPEND=">=net-im/jabber-base-0.01
117 >=dev-libs/expat-1.95
118 >=dev-lang/erlang-12.2.5[ssl?]
119 odbc? ( dev-db/unixODBC )
120 ldap? ( =net-nds/openldap-2* )
121 ssl? ( >=dev-libs/openssl-0.9.8e )
122 captcha? ( media-gfx/imagemagick[truetype,png] )
123 zlib? ( sys-libs/zlib )"
124 #>=sys-apps/shadow-4.1.4.2-r2 - fixes bug in su that made ejabberdctl unworkable.
125 RDEPEND="${DEPEND}
126 >=sys-apps/shadow-4.1.4.2-r2"
127
128 PROVIDE="virtual/jabber-server"
129
130 S=${WORKDIR}/${P}/src
131
132 # pathes in net-im/jabber-base
133 JABBER_ETC="${EPREFIX}/etc/jabber"
134 #JABBER_RUN="/var/run/jabber"
135 JABBER_SPOOL="${EPREFIX}/var/spool/jabber"
136 JABBER_LOG="${EPREFIX}/var/log/jabber"
137 JABBER_DOC="${EPREFIX}/usr/share/doc/${PF}"
138
139 src_prepare() {
140 if use mod_statsdx; then
141 ewarn "mod_statsdx is not a part of upstream tarball but is a third-party module"
142 ewarn "taken from here: http://www.ejabberd.im/mod_stats2file"
143 epatch "${WORKDIR}/2.1.1-mod_statsdx.patch"
144 fi
145
146 # don't install release notes (we'll do this manually)
147 sed '/install .* [.][.]\/doc\/[*][.]txt $(DOCDIR)/d' -i Makefile.in || die
148 # Set correct pathes
149 sed -e "/^EJABBERDDIR[[:space:]]*=/{s:ejabberd:${PF}:}" \
150 -e "/^ETCDIR[[:space:]]*=/{s:@sysconfdir@/ejabberd:${JABBER_ETC}:}" \
151 -e "/^LOGDIR[[:space:]]*=/{s:@localstatedir@/log/ejabberd:${JABBER_LOG}:}" \
152 -e "/^SPOOLDIR[[:space:]]*=/{s:@localstatedir@/lib/ejabberd:${JABBER_SPOOL}:}" \
153 -i Makefile.in || die
154 sed -e "/EJABBERDDIR=/{s:ejabberd:${PF}:}" \
155 -e "s|\(ETCDIR=\)@SYSCONFDIR@.*|\1${JABBER_ETC}|" \
156 -e "s|\(LOGS_DIR=\)@LOCALSTATEDIR@.*|\1${JABBER_LOG}|" \
157 -e "s|\(SPOOLDIR=\)@LOCALSTATEDIR@.*|\1${JABBER_SPOOL}|" \
158 -i ejabberdctl.template || die
159
160 # Set shell, so it'll work even in case jabber user have no shell
161 # This is gentoo specific I guess since other distributions may have
162 # ejabberd user with reall shell, while we share this user among different
163 # jabberd implementations.
164 sed '/^HOME/aSHELL=/bin/sh' -i ejabberdctl.template || die
165 sed '/^export HOME/aexport SHELL' -i ejabberdctl.template || die
166
167 #sed -e "s:/share/doc/ejabberd/:${JABBER_DOC}:" -i web/ejabberd_web_admin.erl
168
169 # fix up the ssl cert paths in ejabberd.cfg to use our cert
170 sed -e "s:/path/to/ssl.pem:/etc/ssl/ejabberd/server.pem:g" \
171 -i ejabberd.cfg.example || die "Failed sed ejabberd.cfg.example"
172
173 # correct path to captcha script in default ejabberd.cfg
174 sed -e 's|\({captcha_cmd,[[:space:]]*"\).\+"}|\1/usr/'$(get_libdir)'/erlang/lib/'${P}'/priv/bin/captcha.sh"}|' \
175 -i ejabberd.cfg.example || die "Failed sed ejabberd.cfg.example"
176
177 # disable mod_irc
178 if ! use mod_irc; then
179 sed -i -e "s/{mod_irc,/%{mod_irc,/" \
180 -i ejabberd.cfg.example || die "Failed to disable mod_irc"
181 fi
182 }
183
184 src_configure() {
185 econf \
186 --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
187 --libdir="${EPREFIX}/usr/$(get_libdir)/erlang/lib/" \
188 $(use_enable mod_irc) \
189 $(use_enable ldap eldap) \
190 $(use_enable mod_muc) \
191 $(use_enable mod_proxy65) \
192 $(use_enable mod_pubsub) \
193 $(use_enable ssl tls) \
194 $(use_enable web) \
195 $(use_enable odbc) \
196 $(use_enable zlib ejabberd_zlib) \
197 $(use_enable pam) \
198 --enable-user=jabber
199 }
200
201 src_compile() {
202 emake $(use debug && echo debug=true ejabberd_debug=true) || die "compiling ejabberd core failed"
203 }
204
205 src_install() {
206 emake DESTDIR="${ED}" install || die "install failed"
207
208 # Pam helper module permissions
209 # http://www.process-one.net/docs/ejabberd/guide_en.html
210 if use pam; then
211 pamd_mimic_system xmpp auth account || die "Cannot create pam.d file"
212 fperms 4750 "/usr/$(get_libdir)/erlang/lib/${P}/priv/bin/epam" || die "Cannot adjust epam permissions"
213 fi
214
215 cd "${WORKDIR}/${P}/doc"
216 dodoc "release_notes_${PV%%_rc*}.txt" || die
217
218 #dodir /var/lib/ejabberd
219 newinitd "${FILESDIR}/${PN}-3.initd" ${PN} || die "Cannot install init.d script"
220 newconfd "${FILESDIR}/${PN}-3.confd" ${PN} || die "Cannot install conf.d file"
221 }
222
223 pkg_postinst() {
224 elog "For configuration instructions, please see"
225 elog "/usr/share/doc/${PF}/html/guide.html, or the online version at"
226 elog "http://www.process-one.net/en/ejabberd/docs/guide_en/"
227
228 if ! use web ; then
229 ewarn
230 ewarn "The web USE flag is off, this has disabled the web admin interface."
231 ewarn
232 fi
233
234 elog
235 elog '===================================================================='
236 elog 'Quick Start Guide:'
237 elog '1) Add output of `hostname -f` to /etc/jabber/ejabberd.cfg line 91'
238 elog ' {hosts, ["localhost", "thehost"]}.'
239 elog '2) Add an admin user to /etc/jabber/ejabberd.cfg line 360'
240 elog ' {acl, admin, {user, "theadmin", "thehost"}}.'
241 elog '3) Start the server'
242 elog ' # /etc/init.d/ejabberd start'
243 elog '4) Register the admin user'
244 elog ' # /usr/sbin/ejabberdctl register theadmin thehost thepassword'
245 elog '5) Log in with your favourite jabber client or using the web admin'
246
247 # Upgrading from ejabberd-2.0.x:
248 if grep -E '^[^#]*EJABBERD_NODE=' "${EROOT}/etc/conf.d/ejabberd" >/dev/null 2>&1; then
249 source "${EROOT}/etc/conf.d/ejabberd"
250 ewarn
251 ewarn "!!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!"
252 ewarn "Starting with 2.1.x some pathes and configuration files were"
253 ewarn "changed to better reflect upstream intentions. Notable changes are:"
254 ewarn
255 ewarn "1. Everything (even init scripts) are now handled by ejabberdctl script."
256 ewarn "Thus main configuration file became /etc/jabberd/ejabberdctl.cfg"
257 ewarn "You must update ERLANG_NODE there with the value of EJABBERD_NODE"
258 ewarn "from /etc/conf.d/ejebberd or ejabberd will refuse to start."
259 ewarn
260 ewarn "2. SSL certificate is now generated with ssl-cert eclass and resides"
261 ewarn "at standard location: /etc/ssl/ejabberd/server.pem."
262 ewarn
263 ewarn "3. Cookie now resides at /var/spool/jabber/.erlang.cookie"
264 ewarn
265 ewarn "4. /var/log/jabber/sasl.log is now /var/log/jabber/erlang.log"
266 ewarn
267 ewarn "5. Crash dumps (if any) will be located at /var/log/jabber"
268
269 local i ctlcfg new_ctlcfg
270 i=0
271 ctlcfg=${EROOT}/etc/jabber/ejabberdctl.cfg
272 while :; do
273 new_ctlcfg=$(printf "${EROOT}/etc/jabber/._cfg%04d_ejabberdctl.cfg" ${i})
274 [[ ! -e ${new_ctlcfg} ]] && break
275 ctlcfg=${new_ctlcfg}
276 ((i++))
277 done
278
279 ewarn
280 ewarn "Updating ${ctlcfg} (debug: ${new_ctlcfg})"
281 sed -e "/#ERLANG_NODE=/aERLANG_NODE=$EJABBERD_NODE" "${ctlcfg}" > "${new_ctlcfg}" || die
282
283 if [[ -e ${EROOT}/var/run/jabber/.erlang.cookie ]]; then
284 ewarn "Moving .erlang.cookie..."
285 if [[ -e ${EROOT}/var/spool/jabber/.erlang.cookie ]]; then
286 mv -v "${EROOT}"/var/spool/jabber/.erlang.cookie{,bak}
287 fi
288 mv -v "${EROOT}"/var/{run/jabber,spool/jabber}/.erlang.cookie
289 fi
290 ewarn
291 ewarn "We'll try to handle upgrade automagically but, please, do your"
292 ewarn "own checks and do not forget to run 'etc-update'!"
293 ewarn "PLEASE! Run 'etc-update' now!"
294 fi
295
296 if use ssl; then
297 SSL_ORGANIZATION="${SSL_ORGANIZATION:-Ejabberd XMPP Server}"
298 install_cert /etc/ssl/ejabberd/server
299 if [[ -e ${EROOT}/etc/jabber/ssl.pem ]]; then
300 ewarn
301 ewarn "The location of SSL certificates has changed. If you are"
302 ewarn "upgrading from ${CATEGORY}/${PN}-2.0.5* or earlier you might"
303 ewarn "want to move your old certificates from /etc/jabber into"
304 ewarn "/etc/ssl/ejabberd/, update config files and"
305 ewarn "rm /etc/jabber/ssl.pem to avoid this message."
306 ewarn
307 fi
308 fi
309 }