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: ChangeLog ejabberd-2.1.5-r1.ebuild
Date: Mon, 30 Aug 2010 11:02:17
Message-Id: 20100830110213.63C9120051@flycatcher.gentoo.org
1 pva 10/08/30 11:02:13
2
3 Modified: ChangeLog
4 Added: ejabberd-2.1.5-r1.ebuild
5 Log:
6 Updated mod_srl, thank krigstask for this job.
7 (Portage version: 2.1.8.3/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.85 net-im/ejabberd/ChangeLog
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/ChangeLog?rev=1.85&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/ChangeLog?rev=1.85&content-type=text/plain
14 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/ChangeLog?r1=1.84&r2=1.85
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v
19 retrieving revision 1.84
20 retrieving revision 1.85
21 diff -u -r1.84 -r1.85
22 --- ChangeLog 9 Aug 2010 08:21:28 -0000 1.84
23 +++ ChangeLog 30 Aug 2010 11:02:13 -0000 1.85
24 @@ -1,6 +1,11 @@
25 # ChangeLog for net-im/ejabberd
26 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v 1.84 2010/08/09 08:21:28 pva Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v 1.85 2010/08/30 11:02:13 pva Exp $
29 +
30 +*ejabberd-2.1.5-r1 (30 Aug 2010)
31 +
32 + 30 Aug 2010; Peter Volkov <pva@g.o> +ejabberd-2.1.5-r1.ebuild:
33 + Updated mod_srl, thank krigstask for this job.
34
35 09 Aug 2010; Peter Volkov <pva@g.o> ejabberd-2.1.5.ebuild,
36 +files/ejabberd-2.1.5-md2-optional.patch:
37
38
39
40 1.1 net-im/ejabberd/ejabberd-2.1.5-r1.ebuild
41
42 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/ejabberd-2.1.5-r1.ebuild?rev=1.1&view=markup
43 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/ejabberd-2.1.5-r1.ebuild?rev=1.1&content-type=text/plain
44
45 Index: ejabberd-2.1.5-r1.ebuild
46 ===================================================================
47 # Copyright 1999-2010 Gentoo Foundation
48 # Distributed under the terms of the GNU General Public License v2
49 # $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ejabberd-2.1.5-r1.ebuild,v 1.1 2010/08/30 11:02:13 pva Exp $
50
51 EAPI=3
52
53 inherit eutils multilib pam ssl-cert
54
55 DESCRIPTION="The Erlang Jabber Daemon"
56 HOMEPAGE="http://www.ejabberd.im/"
57 SRC_URI="http://www.process-one.net/downloads/${PN}/${PV}/${P}.tar.gz
58 mod_statsdx? ( mirror://gentoo/2.1.1-mod_statsdx.patch.bz2 )
59 mod_srl? ( https://alioth.debian.org/frs/download.php/3283/mod_shared_roster_ldap-0.5.2.tgz )"
60
61 LICENSE="GPL-2"
62 SLOT="0"
63 KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
64 EJABBERD_MODULES="mod_irc mod_muc mod_proxy65 mod_pubsub mod_srl mod_statsdx"
65 IUSE="captcha debug ldap odbc pam +web zlib ${EJABBERD_MODULES}"
66
67 DEPEND=">=net-im/jabber-base-0.01
68 >=dev-libs/expat-1.95
69 >=dev-lang/erlang-12.2.5[ssl]
70 odbc? ( dev-db/unixODBC )
71 ldap? ( =net-nds/openldap-2* )
72 >=dev-libs/openssl-0.9.8e
73 captcha? ( media-gfx/imagemagick[truetype,png] )
74 zlib? ( sys-libs/zlib )"
75 #>=sys-apps/shadow-4.1.4.2-r3 - fixes bug in su that made ejabberdctl unworkable.
76 RDEPEND="${DEPEND}
77 >=sys-apps/shadow-4.1.4.2-r3"
78
79 PROVIDE="virtual/jabber-server"
80
81 S=${WORKDIR}/${P}/src
82
83 # paths in net-im/jabber-base
84 JABBER_ETC="${EPREFIX}/etc/jabber"
85 #JABBER_RUN="/var/run/jabber"
86 JABBER_SPOOL="${EPREFIX}/var/spool/jabber"
87 JABBER_LOG="${EPREFIX}/var/log/jabber"
88 JABBER_DOC="${EPREFIX}/usr/share/doc/${PF}"
89
90 src_prepare() {
91 epatch "${FILESDIR}/${P}-md2-optional.patch" #331299
92 if use mod_statsdx; then
93 ewarn "mod_statsdx is not a part of upstream tarball but is a third-party module"
94 ewarn "taken from here: http://www.ejabberd.im/mod_stats2file"
95 epatch "${WORKDIR}/2.1.1-mod_statsdx.patch"
96 fi
97
98 if use mod_srl; then
99 ewarn "mod_srl is not a part of upstream tarball but is a third-party module"
100 ewarn "taken from here: https://alioth.debian.org/projects/ejabberd-msrl/"
101 cp "${WORKDIR}"/src/mod_shared_roster_ldap{.{e,h}rl,_helpers.erl} "${S}" || die
102 fi
103
104 # don't install release notes (we'll do this manually)
105 sed '/install .* [.][.]\/doc\/[*][.]txt $(DOCDIR)/d' -i Makefile.in || die
106 # Set correct paths
107 sed -e "/^EJABBERDDIR[[:space:]]*=/{s:ejabberd:${PF}:}" \
108 -e "/^ETCDIR[[:space:]]*=/{s:@sysconfdir@/ejabberd:${JABBER_ETC}:}" \
109 -e "/^LOGDIR[[:space:]]*=/{s:@localstatedir@/log/ejabberd:${JABBER_LOG}:}" \
110 -e "/^SPOOLDIR[[:space:]]*=/{s:@localstatedir@/lib/ejabberd:${JABBER_SPOOL}:}" \
111 -i Makefile.in || die
112 sed -e "/EJABBERDDIR=/{s:ejabberd:${PF}:}" \
113 -e "s|\(ETCDIR=\)@SYSCONFDIR@.*|\1${JABBER_ETC}|" \
114 -e "s|\(LOGS_DIR=\)@LOCALSTATEDIR@.*|\1${JABBER_LOG}|" \
115 -e "s|\(SPOOLDIR=\)@LOCALSTATEDIR@.*|\1${JABBER_SPOOL}|" \
116 -i ejabberdctl.template || die
117
118 # Set shell, so it'll work even in case jabber user have no shell
119 # This is gentoo specific I guess since other distributions may have
120 # ejabberd user with reall shell, while we share this user among different
121 # jabberd implementations.
122 sed '/^HOME/aSHELL=/bin/sh' -i ejabberdctl.template || die
123 sed '/^export HOME/aexport SHELL' -i ejabberdctl.template || die
124
125 #sed -e "s:/share/doc/ejabberd/:${JABBER_DOC}:" -i web/ejabberd_web_admin.erl
126
127 # fix up the ssl cert paths in ejabberd.cfg to use our cert
128 sed -e "s:/path/to/ssl.pem:/etc/ssl/ejabberd/server.pem:g" \
129 -i ejabberd.cfg.example || die "Failed sed ejabberd.cfg.example"
130
131 # correct path to captcha script in default ejabberd.cfg
132 sed -e 's|\({captcha_cmd,[[:space:]]*"\).\+"}|\1/usr/'$(get_libdir)'/erlang/lib/'${P}'/priv/bin/captcha.sh"}|' \
133 -i ejabberd.cfg.example || die "Failed sed ejabberd.cfg.example"
134
135 # disable mod_irc in ejabberd.cfg
136 if ! use mod_irc; then
137 sed -i -e "s/{mod_irc,/%{mod_irc,/" \
138 -i ejabberd.cfg.example || die "Failed to disable mod_irc"
139 fi
140
141 }
142
143 src_configure() {
144 econf \
145 --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
146 --libdir="${EPREFIX}/usr/$(get_libdir)/erlang/lib/" \
147 $(use_enable mod_irc) \
148 $(use_enable ldap eldap) \
149 $(use_enable mod_muc) \
150 $(use_enable mod_proxy65) \
151 $(use_enable mod_pubsub) \
152 $(use_enable web) \
153 $(use_enable odbc) \
154 $(use_enable zlib ejabberd_zlib) \
155 $(use_enable pam) \
156 --enable-user=jabber
157 }
158
159 src_compile() {
160 emake $(use debug && echo debug=true ejabberd_debug=true) || die "compiling ejabberd core failed"
161 }
162
163 src_install() {
164 emake DESTDIR="${ED}" install || die "install failed"
165
166 # Pam helper module permissions
167 # http://www.process-one.net/docs/ejabberd/guide_en.html
168 if use pam; then
169 pamd_mimic_system xmpp auth account || die "Cannot create pam.d file"
170 fperms 4750 "/usr/$(get_libdir)/erlang/lib/${PF}/priv/bin/epam" || die "Cannot adjust epam permissions"
171 fi
172
173 cd "${WORKDIR}/${P}/doc"
174 dodoc "release_notes_${PV%%_rc*}.txt" || die
175
176 #dodir /var/lib/ejabberd
177 newinitd "${FILESDIR}/${PN}-3.initd" ${PN} || die "Cannot install init.d script"
178 newconfd "${FILESDIR}/${PN}-3.confd" ${PN} || die "Cannot install conf.d file"
179 }
180
181 pkg_postinst() {
182 elog "For configuration instructions, please see"
183 elog "/usr/share/doc/${PF}/html/guide.html, or the online version at"
184 elog "http://www.process-one.net/en/ejabberd/docs/guide_en/"
185
186 if ! use web ; then
187 ewarn
188 ewarn "The web USE flag is off, this has disabled the web admin interface."
189 ewarn
190 fi
191
192 elog
193 elog '===================================================================='
194 elog 'Quick Start Guide:'
195 elog '1) Add output of `hostname -f` to /etc/jabber/ejabberd.cfg line 91'
196 elog ' {hosts, ["localhost", "thehost"]}.'
197 elog '2) Add an admin user to /etc/jabber/ejabberd.cfg line 360'
198 elog ' {acl, admin, {user, "theadmin", "thehost"}}.'
199 elog '3) Start the server'
200 elog ' # /etc/init.d/ejabberd start'
201 elog '4) Register the admin user'
202 elog ' # /usr/sbin/ejabberdctl register theadmin thehost thepassword'
203 elog '5) Log in with your favourite jabber client or using the web admin'
204
205 # Upgrading from ejabberd-2.0.x:
206 if grep -E '^[^#]*EJABBERD_NODE=' "${EROOT}/etc/conf.d/ejabberd" >/dev/null 2>&1; then
207 source "${EROOT}/etc/conf.d/ejabberd"
208 ewarn
209 ewarn "!!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!"
210 ewarn "Starting with 2.1.x some paths and configuration files were"
211 ewarn "changed to reflect upstream intentions better. Notable changes are:"
212 ewarn
213 ewarn "1. Everything (even init scripts) is now handled with ejabberdctl script."
214 ewarn "Thus main configuration file became /etc/jabberd/ejabberdctl.cfg"
215 ewarn "You must update ERLANG_NODE there with the value of EJABBERD_NODE"
216 ewarn "from /etc/conf.d/ejebberd or ejabberd will refuse to start."
217 ewarn
218 ewarn "2. SSL certificate is now generated with ssl-cert eclass and resides"
219 ewarn "at standard location: /etc/ssl/ejabberd/server.pem."
220 ewarn
221 ewarn "3. Cookie now resides at /var/spool/jabber/.erlang.cookie"
222 ewarn
223 ewarn "4. /var/log/jabber/sasl.log is now /var/log/jabber/erlang.log"
224 ewarn
225 ewarn "5. Crash dumps (if any) will be located at /var/log/jabber"
226
227 local i ctlcfg new_ctlcfg
228 i=0
229 ctlcfg=${EROOT}/etc/jabber/ejabberdctl.cfg
230 while :; do
231 new_ctlcfg=$(printf "${EROOT}/etc/jabber/._cfg%04d_ejabberdctl.cfg" ${i})
232 [[ ! -e ${new_ctlcfg} ]] && break
233 ctlcfg=${new_ctlcfg}
234 ((i++))
235 done
236
237 ewarn
238 ewarn "Updating ${ctlcfg} (debug: ${new_ctlcfg})"
239 sed -e "/#ERLANG_NODE=/aERLANG_NODE=$EJABBERD_NODE" "${ctlcfg}" > "${new_ctlcfg}" || die
240
241 if [[ -e ${EROOT}/var/run/jabber/.erlang.cookie ]]; then
242 ewarn "Moving .erlang.cookie..."
243 if [[ -e ${EROOT}/var/spool/jabber/.erlang.cookie ]]; then
244 mv -v "${EROOT}"/var/spool/jabber/.erlang.cookie{,bak}
245 fi
246 mv -v "${EROOT}"/var/{run/jabber,spool/jabber}/.erlang.cookie
247 fi
248 ewarn
249 ewarn "We'll try to handle upgrade automagically but, please, do your"
250 ewarn "own checks and do not forget to run 'etc-update'!"
251 ewarn "PLEASE! Run 'etc-update' now!"
252 fi
253
254 SSL_ORGANIZATION="${SSL_ORGANIZATION:-Ejabberd XMPP Server}"
255 install_cert /etc/ssl/ejabberd/server
256 if [[ -e ${EROOT}/etc/jabber/ssl.pem ]]; then
257 ewarn
258 ewarn "The location of SSL certificates has changed. If you are"
259 ewarn "upgrading from ${CATEGORY}/${PN}-2.0.5* or earlier you might"
260 ewarn "want to move your old certificates from /etc/jabber into"
261 ewarn "/etc/ssl/ejabberd/, update config files and"
262 ewarn "rm /etc/jabber/ssl.pem to avoid this message."
263 ewarn
264 fi
265 }