Changeset - b713ba91c049
[Not reviewed]
0 1 1
Chel Sea (chain) - 12 years ago 2013-08-10 12:13:36
chain@rpgfiction.net
update ejabberd to 2.1.12
2 files changed with 224 insertions and 0 deletions:
0 comments (0 inline, 0 general)
net-im/ejabberd/Manifest
Show inline comments
 
@@ -2,5 +2,8 @@ AUX ejabberd-2.1.x-remote-roster.patch 12478 SHA256 7305d005385188d5a883b9259e05
 
AUX ejabberd-3.confd 161 SHA256 0296d3d281a321cd7380772c1d89a94e4a86f85b7f43bf9dc1af74935c2e6386 SHA512 07143642982df18461fdecd16daaad3baf6a06f8222d7a76757797c531be2803975ed60cc43aace24a624aa7c73bd8fdc6e023e739de492271b79e571f27c8fb WHIRLPOOL 657c44991244d58c10590093a7f58f654cb45cf7e22244b474459c63a449c17d0cf1d6f2d62008ddb34f0022f8fc9e31f22d2010cb3d1070a462bcb22a9a81fc
 
AUX ejabberd-3.initd 1018 SHA256 1c07fa02152b42bee44a8d1cd3f031596aeee37276ec4a36d765e3c54aa23075 SHA512 1142b4f1ca240f20603ca9a64819780ff4a1d9fbde2940fd1dab6cbca1d2de5108cf35aa00ff1c037dc72a778c6502521e3908c6cde5a39c4bb3c9fc1c70aceb WHIRLPOOL 59c15d4e7225c927768123cd93ebb0d1479c1ef500c179a8811eaa0db1d0d4562d7e3134fd02ffdeb866ca05e19e13570df419c6d51a7a7314cde4ef858c796e
 
DIST ejabberd-2.1.11.tgz 2014232 SHA256 91d5c10e64f9faa60c345c68304746f493d71f82723302955d40d6619e3d87de SHA512 6f09c80b03a84595294c679d49b5991985707f6c9e8c2f9fad94618224666e05b4325a5bef840d2ccf0c803038fc11b49b168716a3e258312216e201bdd4bb88 WHIRLPOOL 2ab09c84619173090acabf19cde10f14e3240fa6b89fb7d963bd79aca960b11a6f869f691d219c55b1b0a664c676afc800599671dfc923a0302d2075eec0e224
 
DIST ejabberd-2.1.12.tgz 1999224 SHA256 38f0825346773c00c85a66b33586c75f2d191d1eb0ed8ae09fa17368d6ddfd19 SHA512 725ab9563a6c73e85b5115f66bac157cf9b1170913c1bfed7cf066408c6b3ac5b4bdba22c6c3ed1505391a7048a86ce3b59484f78264ab023612c539422278db WHIRLPOOL 3de3b103f69b8ead3d68cb70f3073808c40cd9541f0fd97aff7173f3ecabf6755295e1c30de83e67c844dc6886a5c2cb55a26980f4275cb32008e922591ae35a
 
DIST ejabberd-mod_statsdx-1080.patch.gz 14024 SHA256 0f3a3a991c14d797e795ef4fffcf19aa9a54608f5053b759187ec7d3696b9edb SHA512 cdec93504501f60d01defe8634d2fe1ee900d78bd8d4568313b581d0e306144df50d3a8d2b724091bdb7c4a7f65c6bb4ebc4bd053ffdda7acb6512b92d1249cf WHIRLPOOL 881b776b6476319c81ae9bfea286baff1020f0b1acdc8437cf38105678f141eb5bd1cbb615326886cc0937db8039901c6ab5747b63b7934fca8356e96454a290
 
DIST ejabberd-mod_statsdx-1118.patch.gz 13989 SHA256 5e5d975e44248cf2b0d6dd0ecf4c477e8479b2b4d0bd531e80f4623fd787320e SHA512 99399323150990cda15e707385f0f26fa790d4ba188a97ac46daaaab9c25e72a7ec72a875573136f17a18648017074d76e4e267b544dc4c95a5101ed9ad6815d WHIRLPOOL 05997f03bb70136ee5e829ea9c55e3aeb0704150f1ed54f11c6cce382a82106129fc1a6ef35a62780837cd2b59fbb384fa10f3bb49813acaee8c5edc22ae3702
 
EBUILD ejabberd-2.1.11-r1.ebuild 8281 SHA256 4af64183b0642ec0cadfe9992f4636ed4c0b20ea33c8201daa7d0b7390b477dc SHA512 315d7d6387c3e6c131517d40e922b859dbfdaf4c73719292bf2a829abb4708075a006a0a206c81c048b6d2dce3c8cf2ba4419e6d10d76d695dd70a9b59df3074 WHIRLPOOL 79e239c4c1a66d38a61d61fba0cf6a495352651bccad27158f16af2ce36152100e8cbd1a24005b5691cee7841f4b892364b469d44f84531e8896c61fcc4f0d79
 
EBUILD ejabberd-2.1.12-r1.ebuild 8309 SHA256 3c567ada8db3be10e8853435a65bf8bf9c0f64b7949c4f381c7fccb83123b142 SHA512 7fdfc0548a4f01adb2c7f21595a81451e97a9088790efb640103e9131c243d859ad0ddc879eafcbe636abac6776426df1a1f118d5aeb530cc28ab16c164a9da9 WHIRLPOOL 25e77914fdd6a81fcf84b63470f31bd42dfabc5e154f857e15611a9fec4769e5b6a5d4770021d245c2564d78fa96c8a81d8080bc8cc442d5a4a030c73825e09e
net-im/ejabberd/ejabberd-2.1.12-r1.ebuild
Show inline comments
 
new file 100644
 
# Copyright 1999-2013 Gentoo Foundation
 
# Distributed under the terms of the GNU General Public License v2
 
# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ejabberd-2.1.12.ebuild,v 1.4 2013/05/14 09:42:10 ago Exp $
 

	
 
EAPI=5
 

	
 
inherit eutils multilib pam ssl-cert
 

	
 
DESCRIPTION="The Erlang Jabber Daemon"
 
HOMEPAGE="http://www.ejabberd.im/ https://github.com/processone/ejabberd/"
 
SRC_URI="http://www.process-one.net/downloads/${PN}/${PV}/${P}.tgz
 
	mod_statsdx? ( http://dev.gentoo.org/~radhermit/dist/${PN}-mod_statsdx-1118.patch.gz )"
 

	
 
LICENSE="GPL-2"
 
SLOT="0"
 
KEYWORDS="amd64 ~arm ~ia64 ppc ~sparc x86"
 
EJABBERD_MODULES="mod_irc mod_muc mod_proxy65 mod_pubsub mod_statsdx"
 
IUSE="captcha debug ldap odbc pam remoteroster +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
 
	pam? ( virtual/pam )"
 

	
 
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_OPTS="-p2" epatch "${WORKDIR}"/${PN}-mod_statsdx-1118.patch
 
	fi
 

	
 
	if use remoteroster; then
 
		ewarn "Remote roster has not yet been accepted for consideration or"
 
		ewarn "approved in any official manner by the XMPP Standards Foundation,"
 
		ewarn "and is not yet an XMPP Extension Protocol (XEP)."
 
		EPATCH_OPTS="-d ${WORKDIR}/${P}" epatch "${FILESDIR}/ejabberd-2.1.x-remote-roster.patch"
 
	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)
 
}
 

	
 
src_install() {
 
	default
 

	
 
	# 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"
 
		fowners root:jabber "/usr/$(get_libdir)/erlang/lib/${PF}/priv/bin/epam"
 
		fperms 4750 "/usr/$(get_libdir)/erlang/lib/${PF}/priv/bin/epam"
 
	fi
 

	
 
	cd "${WORKDIR}/${P}/doc"
 
	dodoc "release_notes_${PV%%_rc*}.txt"
 

	
 
	#dodir /var/lib/ejabberd
 
	newinitd "${FILESDIR}/${PN}-3.initd" ${PN}
 
	newconfd "${FILESDIR}/${PN}-3.confd" ${PN}
 
}
 

	
 
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
 
	# Fix ssl cert permissions bug #369809
 
	chown root:jabber "${EROOT}/etc/ssl/ejabberd/server.pem"
 
	chmod 0440 "${EROOT}/etc/ssl/ejabberd/server.pem"
 
	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
 
}
0 comments (0 inline, 0 general)