From 078ad1ac572a3cbdd8a710117784beb197c3b7ee Mon Sep 17 00:00:00 2001
From: Peter Volkov <pva@gentoo.org>
Date: Thu, 5 Aug 2010 10:41:17 +0000
Subject: Version bump. SSL is now required (per upstream, see release notes).
 Thank Rion for report. Package-Manager: portage-2.1.8.3/cvs/Linux x86_64

---
 net-im/ejabberd/ChangeLog             |   8 +-
 net-im/ejabberd/Manifest              |   4 +-
 net-im/ejabberd/ejabberd-2.1.5.ebuild | 219 ++++++++++++++++++++++++++++++++++
 3 files changed, 229 insertions(+), 2 deletions(-)
 create mode 100644 net-im/ejabberd/ejabberd-2.1.5.ebuild

(limited to 'net-im')

diff --git a/net-im/ejabberd/ChangeLog b/net-im/ejabberd/ChangeLog
index 9566434ef5f1..6485a5fe39b0 100644
--- a/net-im/ejabberd/ChangeLog
+++ b/net-im/ejabberd/ChangeLog
@@ -1,6 +1,12 @@
 # ChangeLog for net-im/ejabberd
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v 1.82 2010/07/22 15:24:24 pva Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v 1.83 2010/08/05 10:41:17 pva Exp $
+
+*ejabberd-2.1.5 (05 Aug 2010)
+
+  05 Aug 2010; Peter Volkov <pva@gentoo.org> +ejabberd-2.1.5.ebuild:
+  Version bump. SSL is now required (per upstream, see release notes). Thank
+  Rion for report.
 
   22 Jul 2010; Peter Volkov <pva@gentoo.org> ejabberd-2.1.4.ebuild,
   +files/ejabberd-2.1.4-mod_shared_roster_ldap.patch:
diff --git a/net-im/ejabberd/Manifest b/net-im/ejabberd/Manifest
index c85a62f65674..81f8ba2c2ea6 100644
--- a/net-im/ejabberd/Manifest
+++ b/net-im/ejabberd/Manifest
@@ -11,8 +11,10 @@ AUX ssl.cnf 1042 RMD160 47d2542942fb21f4be1e827d47eb4e0468e73910 SHA1 7347bae5a1
 DIST 2.1.1-mod_statsdx.patch.bz2 13041 RMD160 9cc6d71ff2a2d58b0e377a3facb564d22d46af25 SHA1 4ef326eff97283530ee137613c009fe132312644 SHA256 a290217d7fd2c338d9ddba73e25ee052a3735d7168aafd24750de113f43ebc5f
 DIST ejabberd-2.0.5.tar.gz 1796737 RMD160 5ec0210b3995004c708180a66a096e0b9be5f1ba SHA1 e5b8c4b742fdcc439da9458f94f530604abdfdd5 SHA256 37ef90e2afa2b73a620bf71a096df48d5fde8f1cd669fac83d8c143a1295198c
 DIST ejabberd-2.1.4.tar.gz 2267300 RMD160 6dcc2bc1be25093a4f99b0e350f0af123f0473df SHA1 00b1b121f687ba8284dbeb40ff97915d9e1be355 SHA256 205ee09e38c57527cfa1a4be6ca664cec2e8c6b40eeffaac008735fcdc5e7527
+DIST ejabberd-2.1.5.tar.gz 2278008 RMD160 7abd6bc4a03f68d03e13ee8c1ff3a5fee6098dc6 SHA1 8966d6752219c9386f48a5b8e1f2f8fb0e7477ae SHA256 31a46228c6933d7c24435753300a4d2ae2e84568a6097175dc5d4e553299dd9d
 DIST mod_shared_roster_ldap-0.5.1.tgz 607758 RMD160 5669a3d16fbca4d399e85a7d0dfda71643e6e2c7 SHA1 a9498d26e17752b882b3341b633d1804075d74ef SHA256 60e4ba0921d1ac65f9cca04fa2a7a3bbe3a9af52a26ad1a4fca4a3c6f1f0cc19
 EBUILD ejabberd-2.0.5-r3.ebuild 4909 RMD160 8b51c5bfba1ba99e29a5462f6c3ca93465685bfd SHA1 dffb83ae90b6f71a09a36eef1340f06bd597049e SHA256 4605b2d9a73ee4a7abe17f57ed2dfbbc27e8142bb8ad5f96d201e27b7076c678
 EBUILD ejabberd-2.1.4.ebuild 8392 RMD160 d0cf3a6cfc82e5ab6351c49a3f0b61399863b0d7 SHA1 3feb114bdb65f1ba9539095be533c55ca235fd55 SHA256 043e1f9a7d13f652de7db65162c70e5a5cca98934b8950163bb0528851d4db30
-MISC ChangeLog 17229 RMD160 4054602c86affbe95e5f6be748737c0c7f995e08 SHA1 9630f2cc18b76acc2821285def7300703f224f79 SHA256 2a1d2b626e15a4731a109ff9cd77a20a7543ae315ac98647c0960d5b72a7f16c
+EBUILD ejabberd-2.1.5.ebuild 8322 RMD160 4c45560f215654701db1cf18a79ab42c8edc81df SHA1 832a8e9aa1e51b7f336ee20478cd3ba8c537b329 SHA256 f0bf587288b9f0a9e041bc3997276651047516607905dfe934c4ab16557bef60
+MISC ChangeLog 17426 RMD160 32325d8322b4a4c412381675b079c9fd54c1134a SHA1 51803ff2e7f3f80fb60ff48d4cd83bc9b1da3569 SHA256 3093dc5345a3afa2d8140b538c0a143c88389bd0bb27518e271022a5796bbe1f
 MISC metadata.xml 929 RMD160 3a456c8945da34e417ca2fb659807a280b834f85 SHA1 a7b3173f8b63655c049881629e1354c71ddd633e SHA256 4d46909fd72908dff8698bb9dfcf60132e973b28eabbfe75001397ed349ff11b
diff --git a/net-im/ejabberd/ejabberd-2.1.5.ebuild b/net-im/ejabberd/ejabberd-2.1.5.ebuild
new file mode 100644
index 000000000000..b29527c780e5
--- /dev/null
+++ b/net-im/ejabberd/ejabberd-2.1.5.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ejabberd-2.1.5.ebuild,v 1.1 2010/08/05 10:41:17 pva Exp $
+
+EAPI=3
+
+inherit eutils multilib pam ssl-cert
+
+DESCRIPTION="The Erlang Jabber Daemon"
+HOMEPAGE="http://www.ejabberd.im/"
+SRC_URI="http://www.process-one.net/downloads/${PN}/${PV}/${P}.tar.gz
+	mod_statsdx? ( mirror://gentoo/2.1.1-mod_statsdx.patch.bz2 )
+	mod_srl? ( https://alioth.debian.org/frs/download.php/3283/mod_shared_roster_ldap-0.5.1.tgz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
+EJABBERD_MODULES="mod_irc mod_muc mod_proxy65 mod_pubsub mod_srl mod_statsdx"
+IUSE="captcha debug ldap odbc pam +web zlib ${EJABBERD_MODULES}"
+
+DEPEND=">=net-im/jabber-base-0.01
+	>=dev-libs/expat-1.95
+	>=dev-lang/erlang-12.2.5[ssl]
+	odbc? ( dev-db/unixODBC )
+	ldap? ( =net-nds/openldap-2* )
+	>=dev-libs/openssl-0.9.8e
+	captcha? ( media-gfx/imagemagick[truetype,png] )
+	zlib? ( sys-libs/zlib )"
+#>=sys-apps/shadow-4.1.4.2-r3 - fixes bug in su that made ejabberdctl unworkable.
+RDEPEND="${DEPEND}
+	>=sys-apps/shadow-4.1.4.2-r3"
+
+PROVIDE="virtual/jabber-server"
+
+S=${WORKDIR}/${P}/src
+
+# paths in net-im/jabber-base
+JABBER_ETC="${EPREFIX}/etc/jabber"
+#JABBER_RUN="/var/run/jabber"
+JABBER_SPOOL="${EPREFIX}/var/spool/jabber"
+JABBER_LOG="${EPREFIX}/var/log/jabber"
+JABBER_DOC="${EPREFIX}/usr/share/doc/${PF}"
+
+src_prepare() {
+	if use mod_statsdx; then
+		ewarn "mod_statsdx is not a part of upstream tarball but is a third-party module"
+		ewarn "taken from here: http://www.ejabberd.im/mod_stats2file"
+		epatch "${WORKDIR}/2.1.1-mod_statsdx.patch"
+	fi
+
+	if use mod_srl; then
+		ewarn "mod_srl is not a part of upstream tarball but is a third-party module"
+		ewarn "taken from here: https://alioth.debian.org/projects/ejabberd-msrl/"
+		cp "${WORKDIR}"/src/mod_shared_roster_ldap{.{e,h}rl,_helpers.erl} "${S}" || die
+		epatch "${FILESDIR}/ejabberd-2.1.4-mod_shared_roster_ldap.patch" #328533
+	fi
+
+	# don't install release notes (we'll do this manually)
+	sed '/install .* [.][.]\/doc\/[*][.]txt $(DOCDIR)/d' -i Makefile.in || die
+	# Set correct paths
+	sed -e "/^EJABBERDDIR[[:space:]]*=/{s:ejabberd:${PF}:}" \
+		-e "/^ETCDIR[[:space:]]*=/{s:@sysconfdir@/ejabberd:${JABBER_ETC}:}" \
+		-e "/^LOGDIR[[:space:]]*=/{s:@localstatedir@/log/ejabberd:${JABBER_LOG}:}" \
+		-e "/^SPOOLDIR[[:space:]]*=/{s:@localstatedir@/lib/ejabberd:${JABBER_SPOOL}:}" \
+			-i Makefile.in || die
+	sed -e "/EJABBERDDIR=/{s:ejabberd:${PF}:}" \
+		-e "s|\(ETCDIR=\)@SYSCONFDIR@.*|\1${JABBER_ETC}|" \
+		-e "s|\(LOGS_DIR=\)@LOCALSTATEDIR@.*|\1${JABBER_LOG}|" \
+		-e "s|\(SPOOLDIR=\)@LOCALSTATEDIR@.*|\1${JABBER_SPOOL}|" \
+			-i ejabberdctl.template || die
+
+	# Set shell, so it'll work even in case jabber user have no shell
+	# This is gentoo specific I guess since other distributions may have
+	# ejabberd user with reall shell, while we share this user among different
+	# jabberd implementations.
+	sed '/^HOME/aSHELL=/bin/sh' -i ejabberdctl.template || die
+	sed '/^export HOME/aexport SHELL' -i ejabberdctl.template || die
+
+	#sed -e "s:/share/doc/ejabberd/:${JABBER_DOC}:" -i web/ejabberd_web_admin.erl
+
+	# fix up the ssl cert paths in ejabberd.cfg to use our cert
+	sed -e "s:/path/to/ssl.pem:/etc/ssl/ejabberd/server.pem:g" \
+		-i ejabberd.cfg.example || die "Failed sed ejabberd.cfg.example"
+
+	# correct path to captcha script in default ejabberd.cfg
+	sed -e 's|\({captcha_cmd,[[:space:]]*"\).\+"}|\1/usr/'$(get_libdir)'/erlang/lib/'${P}'/priv/bin/captcha.sh"}|' \
+			-i ejabberd.cfg.example || die "Failed sed ejabberd.cfg.example"
+
+	# disable mod_irc in ejabberd.cfg
+	if ! use mod_irc; then
+		sed -i -e "s/{mod_irc,/%{mod_irc,/" \
+			-i ejabberd.cfg.example || die "Failed to disable mod_irc"
+	fi
+
+}
+
+src_configure() {
+	econf \
+		--docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+		--libdir="${EPREFIX}/usr/$(get_libdir)/erlang/lib/" \
+		$(use_enable mod_irc) \
+		$(use_enable ldap eldap) \
+		$(use_enable mod_muc) \
+		$(use_enable mod_proxy65) \
+		$(use_enable mod_pubsub) \
+		$(use_enable web) \
+		$(use_enable odbc) \
+		$(use_enable zlib ejabberd_zlib) \
+		$(use_enable pam) \
+		--enable-user=jabber
+}
+
+src_compile() {
+	emake $(use debug && echo debug=true ejabberd_debug=true) || die "compiling ejabberd core failed"
+}
+
+src_install() {
+	emake DESTDIR="${ED}" install || die "install failed"
+
+	# Pam helper module permissions
+	# http://www.process-one.net/docs/ejabberd/guide_en.html
+	if use pam; then
+		pamd_mimic_system xmpp auth account || die "Cannot create pam.d file"
+		fperms 4750 "/usr/$(get_libdir)/erlang/lib/${PF}/priv/bin/epam" || die "Cannot adjust epam permissions"
+	fi
+
+	cd "${WORKDIR}/${P}/doc"
+	dodoc "release_notes_${PV%%_rc*}.txt" || die
+
+	#dodir /var/lib/ejabberd
+	newinitd "${FILESDIR}/${PN}-3.initd" ${PN} || die "Cannot install init.d script"
+	newconfd "${FILESDIR}/${PN}-3.confd" ${PN} || die "Cannot install conf.d file"
+}
+
+pkg_postinst() {
+	elog "For configuration instructions, please see"
+	elog "/usr/share/doc/${PF}/html/guide.html, or the online version at"
+	elog "http://www.process-one.net/en/ejabberd/docs/guide_en/"
+
+	if ! use web ; then
+		ewarn
+		ewarn "The web USE flag is off, this has disabled the web admin interface."
+		ewarn
+	fi
+
+	elog
+	elog '===================================================================='
+	elog 'Quick Start Guide:'
+	elog '1) Add output of `hostname -f` to /etc/jabber/ejabberd.cfg line 91'
+	elog '   {hosts, ["localhost", "thehost"]}.'
+	elog '2) Add an admin user to /etc/jabber/ejabberd.cfg line 360'
+	elog '   {acl, admin, {user, "theadmin", "thehost"}}.'
+	elog '3) Start the server'
+	elog '   # /etc/init.d/ejabberd start'
+	elog '4) Register the admin user'
+	elog '   # /usr/sbin/ejabberdctl register theadmin thehost thepassword'
+	elog '5) Log in with your favourite jabber client or using the web admin'
+
+	# Upgrading from ejabberd-2.0.x:
+	if grep -E '^[^#]*EJABBERD_NODE=' "${EROOT}/etc/conf.d/ejabberd" >/dev/null 2>&1; then
+		source "${EROOT}/etc/conf.d/ejabberd"
+		ewarn
+		ewarn "!!! WARNING !!!  WARNING !!!  WARNING !!!  WARNING !!!"
+		ewarn "Starting with 2.1.x some paths and configuration files were"
+		ewarn "changed to reflect upstream intentions better. Notable changes are:"
+		ewarn
+		ewarn "1. Everything (even init scripts) is now handled with ejabberdctl script."
+		ewarn "Thus main configuration file became /etc/jabberd/ejabberdctl.cfg"
+		ewarn "You must update ERLANG_NODE there with the value of EJABBERD_NODE"
+		ewarn "from /etc/conf.d/ejebberd or ejabberd will refuse to start."
+		ewarn
+		ewarn "2. SSL certificate is now generated with ssl-cert eclass and resides"
+		ewarn "at standard location: /etc/ssl/ejabberd/server.pem."
+		ewarn
+		ewarn "3. Cookie now resides at /var/spool/jabber/.erlang.cookie"
+		ewarn
+		ewarn "4. /var/log/jabber/sasl.log is now /var/log/jabber/erlang.log"
+		ewarn
+		ewarn "5. Crash dumps (if any) will be located at /var/log/jabber"
+
+		local i ctlcfg new_ctlcfg
+		i=0
+		ctlcfg=${EROOT}/etc/jabber/ejabberdctl.cfg
+		while :; do
+			new_ctlcfg=$(printf "${EROOT}/etc/jabber/._cfg%04d_ejabberdctl.cfg" ${i})
+			[[ ! -e ${new_ctlcfg} ]] && break
+			ctlcfg=${new_ctlcfg}
+			((i++))
+		done
+
+		ewarn
+		ewarn "Updating ${ctlcfg} (debug: ${new_ctlcfg})"
+		sed -e "/#ERLANG_NODE=/aERLANG_NODE=$EJABBERD_NODE" "${ctlcfg}" > "${new_ctlcfg}" || die
+
+		if [[ -e ${EROOT}/var/run/jabber/.erlang.cookie ]]; then
+			ewarn "Moving .erlang.cookie..."
+			if [[ -e ${EROOT}/var/spool/jabber/.erlang.cookie ]]; then
+				mv -v "${EROOT}"/var/spool/jabber/.erlang.cookie{,bak}
+			fi
+			mv -v "${EROOT}"/var/{run/jabber,spool/jabber}/.erlang.cookie
+		fi
+		ewarn
+		ewarn "We'll try to handle upgrade automagically but, please, do your"
+		ewarn "own checks and do not forget to run 'etc-update'!"
+		ewarn "PLEASE! Run 'etc-update' now!"
+	fi
+
+	SSL_ORGANIZATION="${SSL_ORGANIZATION:-Ejabberd XMPP Server}"
+	install_cert /etc/ssl/ejabberd/server
+	if [[ -e ${EROOT}/etc/jabber/ssl.pem ]]; then
+		ewarn
+		ewarn "The location of SSL certificates has changed. If you are"
+		ewarn "upgrading from ${CATEGORY}/${PN}-2.0.5* or earlier  you might"
+		ewarn "want to move your old certificates from /etc/jabber into"
+		ewarn "/etc/ssl/ejabberd/, update config files and"
+		ewarn "rm /etc/jabber/ssl.pem to avoid this message."
+		ewarn
+	fi
+}
-- 
cgit v1.2.3-65-gdbad