| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| |
| inherit eutils java-pkg-2 java-ant-2 systemd |
| |
| MY_P=${PN}_src_${PV//./_} |
| DESCRIPTION="Openfire (formerly wildfire) real time collaboration (RTC) server" |
| HOMEPAGE="http://www.igniterealtime.org/projects/openfire/" |
| SRC_URI="http://www.igniterealtime.org/builds/openfire/${MY_P}.tar.gz" |
| |
| LICENSE="GPL-2" |
| SLOT="0" |
| KEYWORDS="amd64 x86" |
| IUSE="doc" |
| |
| RDEPEND=">=virtual/jre-1.7" |
| DEPEND="net-im/jabber-base |
| ~dev-java/ant-contrib-1.0_beta2 |
| >=virtual/jdk-1.7" |
| |
| S=${WORKDIR}/${PN}_src |
| |
| pkg_setup() { |
| if [[ -f /etc/env.d/98openfire ]]; then |
| einfo "This is an upgrade" |
| ewarn "As the plugin API changed, at least these plugins need to be updated also:" |
| ewarn "User Search, IM Gateway, Fastpath, Monitoring" |
| ewarn "they can be downloaded via Admin Console or at" |
| ewarn " ${HOMEPAGE}" |
| else |
| ewarn "If this is an upgrade stop right ( CONTROL-C ) and run the command:" |
| ewarn "echo 'CONFIG_PROTECT=\"/opt/openfire/resources/security/\"' > /etc/env.d/98openfire " |
| ewarn "For more info see bug #139708" |
| sleep 11 |
| fi |
| java-pkg-2_pkg_setup |
| } |
| |
| src_compile() { |
| # Jikes doesn't support -source 1.5 |
| java-pkg_filter-compiler jikes |
| |
| ANT_TASKS="ant-contrib" |
| eant -f build/build.xml openfire plugins $(use_doc) |
| |
| # delete nativeAuth prebuilt libs: |
| # uses outdated unmaintained libshaj, does not support amd64 |
| rm -rfv target/openfire/resources/nativeAuth || dir |
| } |
| |
| src_install() { |
| dodir /opt/openfire |
| |
| newinitd "${FILESDIR}"/openfire-initd openfire |
| newconfd "${FILESDIR}"/openfire-confd openfire |
| systemd_dounit "${FILESDIR}"/${PN}.service |
| |
| dodir /opt/openfire/conf |
| insinto /opt/openfire/conf |
| newins target/openfire/conf/openfire.xml openfire.xml.sample |
| newins target/openfire/conf/security.xml security.xml.sample |
| |
| dodir /opt/openfire/logs |
| keepdir /opt/openfire/logs |
| |
| dodir /opt/openfire/lib |
| insinto /opt/openfire/lib |
| doins target/openfire/lib/* |
| |
| dodir /opt/openfire/plugins |
| insinto /opt/openfire/plugins |
| doins -r target/openfire/plugins/* |
| |
| dodir /opt/openfire/resources |
| insinto /opt/openfire/resources |
| doins -r target/openfire/resources/* |
| |
| if use doc; then |
| dohtml -r documentation/docs/* |
| fi |
| dodoc documentation/dist/* |
| |
| #Protect ssl key on upgrade |
| dodir /etc/env.d/ |
| echo 'CONFIG_PROTECT="/opt/openfire/resources/security/"' > "${D}"/etc/env.d/98openfire |
| } |
| |
| pkg_postinst() { |
| local src |
| local dst |
| |
| # http://community.igniterealtime.org/thread/52289 |
| for dst in "${ROOT}"/opt/openfire/conf/{openfire,security}.xml |
| do |
| src="${dst}".sample |
| if [[ -f "${dst}" ]]; then |
| einfo "Leaving old '${dst}'" |
| else |
| einfo "Created default '${dst}'. Please edit." |
| cp -v "${src}" "${dst}" || ewarn "cp '${dst}' failed" |
| chmod -v 0600 "${dst}" || ewarn "chmod '${dst}' failed" |
| fi |
| done |
| chown -R jabber:jabber "${ROOT}"/opt/openfire |
| } |