1.1 --- a/net-im/ejabberd/Manifest Sat Oct 08 16:42:31 2011 +0200
1.2 +++ b/net-im/ejabberd/Manifest Tue Jan 17 09:59:52 2012 +0100
1.3 @@ -7,9 +7,11 @@
1.4 AUX mod_register_web_svn1097.patch 19565 RMD160 f0042b1dbb87557e1642425f3fd8ffe7c25b93fe SHA1 5f76b3d86c08faa1d6caae4d4f5ea4eed413daf2 SHA256 2738e29369b43be5ce11cbfbdce1bbd318fe22464fbb9899801e963945ea0bec
1.5 AUX mod_s2s_log_svn701.patch 4423 RMD160 3ede699aa2261a67767b23628ec32c66dbf60fac SHA1 609ef979d94e72a5f039d9acd5a7040c53c1a13e SHA256 321e9903535cc8c47807268ae11860b8cbfb12551848d2f53d29d92f8a876a4c
1.6 DIST 2.1.1-mod_statsdx.patch.bz2 13041 RMD160 9cc6d71ff2a2d58b0e377a3facb564d22d46af25 SHA1 4ef326eff97283530ee137613c009fe132312644 SHA256 a290217d7fd2c338d9ddba73e25ee052a3735d7168aafd24750de113f43ebc5f
1.7 +DIST ejabberd-2.1.10.tar.gz 1942456 RMD160 7069aeeb87fd074988bc62cb4e898f7b920ab3c0 SHA1 c1164aa00f4445cc464cc57a986cf2607315635b SHA256 9dc2e5889e919a7d51f2b95b83da835116631db81550a115c02e71909ad932be
1.8 DIST ejabberd-2.1.8.tar.gz 3382833 RMD160 24d3042565a8631447bbf56f998f3a2377c23822 SHA1 3f8ecc944e0719577bfc45a68e974b1945ffa296 SHA256 dedf7684f9e96efbbc12f08f175096ef50b3f75b284bd27d172eaf75cecded7f
1.9 DIST ejabberd-2.1.9.tar.gz 1872544 RMD160 6a6431a54999f5ca40273fef289ae7fd9b289476 SHA1 7faff4252eb2a10c046f1e6a2fcb11fd4f500ea8 SHA256 f97f2daad497d9d9979455b67ce31e2ddbd3a3cd638a97b2e1d76a6ac8758781
1.10 DIST ejabberd-mod_statsdx-1080.patch.gz 14024 RMD160 eb40aa4c3b7b4529a317c8b521a883d156f90ce9 SHA1 ba669e917393b4400878613464ff83a84ff414da SHA256 0f3a3a991c14d797e795ef4fffcf19aa9a54608f5053b759187ec7d3696b9edb
1.11 +EBUILD ejabberd-2.1.10.ebuild 9090 RMD160 5758e5e5db684d7418d052d5a419447eda22d379 SHA1 5ecc93051df4727e5dd3e463d3ac037d296f05e5 SHA256 77a984234c04a3ef54b7c6a60ae877a67f41d639dd9c9f3337fa17505fc2a98f
1.12 EBUILD ejabberd-2.1.8.ebuild 9024 RMD160 615a3dd55a77f48dfde87ed3eada4f71a64d7a3a SHA1 f556272f5f13dd5dd11d589d2553f3326f256743 SHA256 b24e8922fc9c43afb3b09ef34d6c697aa3b32d373f6be870c9db917053b0cce6
1.13 EBUILD ejabberd-2.1.9.ebuild 9090 RMD160 5758e5e5db684d7418d052d5a419447eda22d379 SHA1 5ecc93051df4727e5dd3e463d3ac037d296f05e5 SHA256 77a984234c04a3ef54b7c6a60ae877a67f41d639dd9c9f3337fa17505fc2a98f
1.14 MISC ChangeLog 9953 RMD160 ab4222c12a1f0b8d5762f6472271f8d9751c73c1 SHA1 471ceb672962a1b08f92e981244e528f3f6bb134 SHA256 d9153c401f4e015bed847479a5bb798120255c3f997583928c05aaeaeb3f940b
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/net-im/ejabberd/ejabberd-2.1.10.ebuild Tue Jan 17 09:59:52 2012 +0100
2.3 @@ -0,0 +1,252 @@
2.4 +# Copyright 1999-2011 Gentoo Foundation
2.5 +# Distributed under the terms of the GNU General Public License v2
2.6 +# $Header
2.7 +
2.8 +EAPI=4
2.9 +
2.10 +inherit eutils multilib pam ssl-cert
2.11 +
2.12 +DESCRIPTION="The Erlang Jabber Daemon"
2.13 +HOMEPAGE="http://www.ejabberd.im/"
2.14 +SRC_URI="http://www.process-one.net/downloads/${PN}/${PV}/${P}.tar.gz
2.15 + mod_statsdx? ( mirror://gentoo/ejabberd-mod_statsdx-1080.patch.gz )"
2.16 +
2.17 +LICENSE="GPL-2"
2.18 +SLOT="0"
2.19 +KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86"
2.20 +EJABBERD_MODULES="mod_irc mod_muc mod_proxy65 mod_pubsub mod_statsdx \
2.21 + mod_admin_extra mod_cron mod_s2s_log xmlrpc"
2.22 +IUSE="captcha debug ldap odbc pam +web zlib ${EJABBERD_MODULES} ejab1381"
2.23 +
2.24 +DEPEND=">=net-im/jabber-base-0.01
2.25 + >=dev-libs/expat-1.95
2.26 + >=dev-lang/erlang-12.2.5[ssl]
2.27 + odbc? ( dev-db/unixODBC )
2.28 + ldap? ( =net-nds/openldap-2* )
2.29 + >=dev-libs/openssl-0.9.8e
2.30 + captcha? ( media-gfx/imagemagick[truetype,png] )
2.31 + xmlrpc? ( >=dev-libs/xmlrpc-erlang-ipr2-1.13 )
2.32 + zlib? ( sys-libs/zlib )"
2.33 +#>=sys-apps/shadow-4.1.4.2-r3 - fixes bug in su that made ejabberdctl unworkable.
2.34 +RDEPEND="${DEPEND}
2.35 + >=sys-apps/shadow-4.1.4.2-r3
2.36 + pam? ( virtual/pam )"
2.37 +
2.38 +PROVIDE="virtual/jabber-server"
2.39 +
2.40 +S=${WORKDIR}/${P}/src
2.41 +
2.42 +# paths in net-im/jabber-base
2.43 +JABBER_ETC="${EPREFIX}/etc/jabber"
2.44 +#JABBER_RUN="/var/run/jabber"
2.45 +JABBER_SPOOL="${EPREFIX}/var/spool/jabber"
2.46 +JABBER_LOG="${EPREFIX}/var/log/jabber"
2.47 +JABBER_DOC="${EPREFIX}/usr/share/doc/${PF}"
2.48 +
2.49 +src_prepare() {
2.50 + if use mod_statsdx; then
2.51 + ewarn "mod_statsdx is not a part of upstream tarball but is a third-party module"
2.52 + ewarn "taken from here: http://www.ejabberd.im/mod_stats2file"
2.53 + epatch "${WORKDIR}/ejabberd-mod_statsdx-1080.patch"
2.54 +
2.55 + fi
2.56 +
2.57 + # adding community modules source files
2.58 + if use xmlrpc ; then
2.59 + epatch "${FILESDIR}/ejabberd_xmlrpc_svn1102.patch"
2.60 + fi
2.61 + if use mod_admin_extra ; then
2.62 + epatch "${FILESDIR}/mod_admin_extra_svn1101.patch"
2.63 + fi
2.64 +
2.65 + # older patches require change to work dir, not /src
2.66 + cd ${WORKDIR}/${P}
2.67 + if use mod_cron ; then
2.68 + epatch "${FILESDIR}/mod_cron_svn1034.patch"
2.69 + fi
2.70 + if use mod_s2s_log ; then
2.71 + epatch "${FILESDIR}/mod_s2s_log_svn701.patch"
2.72 + fi
2.73 + # adding patch from https://support.process-one.net/browse/EJAB-1381
2.74 + if use ejab1381 ; then
2.75 + epatch "${FILESDIR}/ejabberd_ejab1381-21.patch"
2.76 + fi
2.77 + cd ${S}
2.78 +
2.79 + # don't install release notes (we'll do this manually)
2.80 + sed '/install .* [.][.]\/doc\/[*][.]txt $(DOCDIR)/d' -i Makefile.in || die
2.81 + # Set correct paths
2.82 + sed -e "/^EJABBERDDIR[[:space:]]*=/{s:ejabberd:${PF}:}" \
2.83 + -e "/^ETCDIR[[:space:]]*=/{s:@sysconfdir@/ejabberd:${JABBER_ETC}:}" \
2.84 + -e "/^LOGDIR[[:space:]]*=/{s:@localstatedir@/log/ejabberd:${JABBER_LOG}:}" \
2.85 + -e "/^SPOOLDIR[[:space:]]*=/{s:@localstatedir@/lib/ejabberd:${JABBER_SPOOL}:}" \
2.86 + -i Makefile.in || die
2.87 + sed -e "/EJABBERDDIR=/{s:ejabberd:${PF}:}" \
2.88 + -e "s|\(ETCDIR=\)@SYSCONFDIR@.*|\1${JABBER_ETC}|" \
2.89 + -e "s|\(LOGS_DIR=\)@LOCALSTATEDIR@.*|\1${JABBER_LOG}|" \
2.90 + -e "s|\(SPOOLDIR=\)@LOCALSTATEDIR@.*|\1${JABBER_SPOOL}|" \
2.91 + -i ejabberdctl.template || die
2.92 +
2.93 + # Set shell, so it'll work even in case jabber user have no shell
2.94 + # This is gentoo specific I guess since other distributions may have
2.95 + # ejabberd user with reall shell, while we share this user among different
2.96 + # jabberd implementations.
2.97 + sed '/^HOME/aSHELL=/bin/sh' -i ejabberdctl.template || die
2.98 + sed '/^export HOME/aexport SHELL' -i ejabberdctl.template || die
2.99 +
2.100 + #sed -e "s:/share/doc/ejabberd/:${JABBER_DOC}:" -i web/ejabberd_web_admin.erl
2.101 +
2.102 + # fix up the ssl cert paths in ejabberd.cfg to use our cert
2.103 + sed -e "s:/path/to/ssl.pem:/etc/ssl/ejabberd/server.pem:g" \
2.104 + -i ejabberd.cfg.example || die "Failed sed ejabberd.cfg.example"
2.105 +
2.106 + # correct path to captcha script in default ejabberd.cfg
2.107 + sed -e 's|\({captcha_cmd,[[:space:]]*"\).\+"}|\1/usr/'$(get_libdir)'/erlang/lib/'${P}'/priv/bin/captcha.sh"}|' \
2.108 + -i ejabberd.cfg.example || die "Failed sed ejabberd.cfg.example"
2.109 +
2.110 + # disable mod_irc in ejabberd.cfg
2.111 + if ! use mod_irc; then
2.112 + sed -i -e "s/{mod_irc,/%{mod_irc,/" \
2.113 + -i ejabberd.cfg.example || die "Failed to disable mod_irc"
2.114 + fi
2.115 +}
2.116 +
2.117 +src_configure() {
2.118 + econf \
2.119 + --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
2.120 + --libdir="${EPREFIX}/usr/$(get_libdir)/erlang/lib/" \
2.121 + $(use_enable mod_irc) \
2.122 + $(use_enable ldap eldap) \
2.123 + $(use_enable mod_muc) \
2.124 + $(use_enable mod_proxy65) \
2.125 + $(use_enable mod_pubsub) \
2.126 + $(use_enable web) \
2.127 + $(use_enable odbc) \
2.128 + $(use_enable zlib ejabberd_zlib) \
2.129 + $(use_enable pam) \
2.130 + --enable-user=jabber
2.131 +}
2.132 +
2.133 +src_compile() {
2.134 + emake $(use debug && echo debug=true ejabberd_debug=true)
2.135 +}
2.136 +
2.137 +src_install() {
2.138 + emake DESTDIR="${ED}" install
2.139 +
2.140 + # Pam helper module permissions
2.141 + # http://www.process-one.net/docs/ejabberd/guide_en.html
2.142 + if use pam; then
2.143 + pamd_mimic_system xmpp auth account || die "Cannot create pam.d file"
2.144 + fowners root:jabber "/usr/$(get_libdir)/erlang/lib/${PF}/priv/bin/epam"
2.145 + fperms 4750 "/usr/$(get_libdir)/erlang/lib/${PF}/priv/bin/epam"
2.146 + fi
2.147 +
2.148 + cd "${WORKDIR}/${P}/doc"
2.149 + dodoc "release_notes_${PV%%_rc*}.txt"
2.150 +
2.151 + #dodir /var/lib/ejabberd
2.152 + newinitd "${FILESDIR}/${PN}-3.initd" ${PN}
2.153 + newconfd "${FILESDIR}/${PN}-3.confd" ${PN}
2.154 +}
2.155 +
2.156 +pkg_postinst() {
2.157 + elog "For configuration instructions, please see"
2.158 + elog "/usr/share/doc/${PF}/html/guide.html, or the online version at"
2.159 + elog "http://www.process-one.net/en/ejabberd/docs/guide_en/"
2.160 +
2.161 + if ! use web ; then
2.162 + ewarn
2.163 + ewarn "The web USE flag is off, this has disabled the web admin interface."
2.164 + ewarn
2.165 + fi
2.166 +
2.167 + elog
2.168 + elog '===================================================================='
2.169 + elog 'Quick Start Guide:'
2.170 + elog '1) Add output of `hostname -f` to /etc/jabber/ejabberd.cfg line 91'
2.171 + elog ' {hosts, ["localhost", "thehost"]}.'
2.172 + elog '2) Add an admin user to /etc/jabber/ejabberd.cfg line 360'
2.173 + elog ' {acl, admin, {user, "theadmin", "thehost"}}.'
2.174 + elog '3) Start the server'
2.175 + elog ' # /etc/init.d/ejabberd start'
2.176 + elog '4) Register the admin user'
2.177 + elog ' # /usr/sbin/ejabberdctl register theadmin thehost thepassword'
2.178 + elog '5) Log in with your favourite jabber client or using the web admin'
2.179 +
2.180 + # Upgrading from ejabberd-2.0.x:
2.181 + if grep -E '^[^#]*EJABBERD_NODE=' "${EROOT}/etc/conf.d/ejabberd" >/dev/null 2>&1; then
2.182 + source "${EROOT}/etc/conf.d/ejabberd"
2.183 + ewarn
2.184 + ewarn "!!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!"
2.185 + ewarn "Starting with 2.1.x some paths and configuration files were"
2.186 + ewarn "changed to reflect upstream intentions better. Notable changes are:"
2.187 + ewarn
2.188 + ewarn "1. Everything (even init scripts) is now handled with ejabberdctl script."
2.189 + ewarn "Thus main configuration file became /etc/jabberd/ejabberdctl.cfg"
2.190 + ewarn "You must update ERLANG_NODE there with the value of EJABBERD_NODE"
2.191 + ewarn "from /etc/conf.d/ejebberd or ejabberd will refuse to start."
2.192 + ewarn
2.193 + ewarn "2. SSL certificate is now generated with ssl-cert eclass and resides"
2.194 + ewarn "at standard location: /etc/ssl/ejabberd/server.pem."
2.195 + ewarn
2.196 + ewarn "3. Cookie now resides at /var/spool/jabber/.erlang.cookie"
2.197 + ewarn
2.198 + ewarn "4. /var/log/jabber/sasl.log is now /var/log/jabber/erlang.log"
2.199 + ewarn
2.200 + ewarn "5. Crash dumps (if any) will be located at /var/log/jabber"
2.201 +
2.202 + local i ctlcfg new_ctlcfg
2.203 + i=0
2.204 + ctlcfg=${EROOT}/etc/jabber/ejabberdctl.cfg
2.205 + while :; do
2.206 + new_ctlcfg=$(printf "${EROOT}/etc/jabber/._cfg%04d_ejabberdctl.cfg" ${i})
2.207 + [[ ! -e ${new_ctlcfg} ]] && break
2.208 + ctlcfg=${new_ctlcfg}
2.209 + ((i++))
2.210 + done
2.211 +
2.212 + ewarn
2.213 + ewarn "Updating ${ctlcfg} (debug: ${new_ctlcfg})"
2.214 + sed -e "/#ERLANG_NODE=/aERLANG_NODE=$EJABBERD_NODE" "${ctlcfg}" > "${new_ctlcfg}" || die
2.215 +
2.216 + if [[ -e ${EROOT}/var/run/jabber/.erlang.cookie ]]; then
2.217 + ewarn "Moving .erlang.cookie..."
2.218 + if [[ -e ${EROOT}/var/spool/jabber/.erlang.cookie ]]; then
2.219 + mv -v "${EROOT}"/var/spool/jabber/.erlang.cookie{,bak}
2.220 + fi
2.221 + mv -v "${EROOT}"/var/{run/jabber,spool/jabber}/.erlang.cookie
2.222 + fi
2.223 + ewarn
2.224 + ewarn "We'll try to handle upgrade automagically but, please, do your"
2.225 + ewarn "own checks and do not forget to run 'etc-update'!"
2.226 + ewarn "PLEASE! Run 'etc-update' now!"
2.227 + fi
2.228 +
2.229 + SSL_ORGANIZATION="${SSL_ORGANIZATION:-Ejabberd XMPP Server}"
2.230 + install_cert /etc/ssl/ejabberd/server
2.231 + # Fix ssl cert permissions bug #369809
2.232 + chown root:jabber "${EROOT}/etc/ssl/ejabberd/server.pem"
2.233 + chmod 0440 "${EROOT}/etc/ssl/ejabberd/server.pem"
2.234 + if [[ -e ${EROOT}/etc/jabber/ssl.pem ]]; then
2.235 + ewarn
2.236 + ewarn "The location of SSL certificates has changed. If you are"
2.237 + ewarn "upgrading from ${CATEGORY}/${PN}-2.0.5* or earlier you might"
2.238 + ewarn "want to move your old certificates from /etc/jabber into"
2.239 + ewarn "/etc/ssl/ejabberd/, update config files and"
2.240 + ewarn "rm /etc/jabber/ssl.pem to avoid this message."
2.241 + ewarn
2.242 + fi
2.243 +
2.244 + # community modules information
2.245 + if use mod_admin_extra || use mod_cron || use mod_s2s_log || use xmlrpc ; then
2.246 + elog "One or more community modules installed, to activate and configure "
2.247 + elog "them read their documentation on http://www.ejabberd.im/contributions"
2.248 + fi
2.249 +
2.250 + # ejab-1381 information
2.251 + if use ejab138 ; then
2.252 + elog "Patch from #EJAB-1381 for remote roster management activated,"
2.253 + elog "read the documentation at http://spectrum.im/projects/spectrum/wiki/Remote_roster"
2.254 + fi
2.255 +}