diff options
Diffstat (limited to 'net-im/ejabberd/ejabberd-2.1.5.ebuild')
-rw-r--r-- | net-im/ejabberd/ejabberd-2.1.5.ebuild | 219 |
1 files changed, 0 insertions, 219 deletions
diff --git a/net-im/ejabberd/ejabberd-2.1.5.ebuild b/net-im/ejabberd/ejabberd-2.1.5.ebuild deleted file mode 100644 index 995c5da3b24c..000000000000 --- a/net-im/ejabberd/ejabberd-2.1.5.ebuild +++ /dev/null @@ -1,219 +0,0 @@ -# Copyright 1999-2011 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.4 2011/03/22 15:05:59 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 - 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() { - epatch "${FILESDIR}/${P}-md2-optional.patch" #331299 - 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 -} |