alpha-quadrant/dev-java/artifactory/artifactory-2.6.6.ebuild
2013-02-06 08:39:00 +01:00

104 lines
3.1 KiB
Bash

EAPI=2
inherit eutils
DESCRIPTION="Artifactory Maven Artifact Server"
HOMEPAGE="http://www.jfrog.org/products.php"
SLOT="0"
RESTRICT="mirror"
SRC_URI="mirror://sourceforge/${PN}/${P}.zip"
KEYWORDS="~amd64 ~x86"
LICENSE="LGPL-3"
IUSE="mysql derby postgres"
RDEPEND=">=virtual/jre-1.5
dev-java/jsr305
mysql? ( dev-java/jdbc-mysql )
"
DEPEND=">=virtual/jdk-1.5
dev-java/jsr305
mysql? ( dev-java/jdbc-mysql )
"
ARTIFACTORY_HOME=/var/lib/${PN}
ARTIFACTORY_INSTALL=/usr/share/${PN}
ARTIFACTORY_USER=artifact
pkg_setup() {
enewgroup artifact
enewuser ${ARTIFACTORY_USER} -1 /bin/sh -1 artifact
}
src_install() {
cd "${S}/bin"
ls | grep -E "\.(bat|exe)" | xargs rm || die "remove failed"
dodir ${ARTIFACTORY_HOME}
dodir ${ARTIFACTORY_INSTALL}
diropts -m775 -o ${ARTIFACTORY_USER} -g artifact
keepdir /etc/artifactory
keepdir /etc/artifactory/plugins/
keepdir ${ARTIFACTORY_HOME}/
keepdir ${ARTIFACTORY_HOME}/data/
keepdir ${ARTIFACTORY_HOME}/work/
keepdir ${ARTIFACTORY_HOME}/backup/
keepdir /var/log/artifactory/
keepdir /var/run/artifactory/
keepdir /var/tmp/artifactory/
dosym /var/log/artifactory ${ARTIFACTORY_HOME}/logs
dosym /etc/artifactory ${ARTIFACTORY_HOME}/etc
CONFIG=${D}/etc/artifactory/default
echo "#!/bin/bash" >> ${CONFIG}
echo "#export ARTIFACTORY_CONSOLE=/var/logs/artifactoy/consoleout.log" >> ${CONFIG}
echo "#export JAVA_HOME=$(java-config --jre-home)" >> ${CONFIG}
echo "export ARTIFACTORY_HOME=${ARTIFACTORY_HOME}" >> ${CONFIG}
echo "export ARTIFACTORY_USER=${ARTIFACTORY_USER}" >> ${CONFIG}
# remove unneeded configs
rm -r ${S}/etc/repo/*mssql
rm -r ${S}/etc/repo/*oracle*
if ! use derby; then
rm -r ${S}/etc/repo/*derby
fi
if ! use mysql; then
rm -r ${S}/etc/repo/*mysql
else
dosym $(java-config -p jdbc-mysql) ${ARTIFACTORY_INSTALL}/lib/jdbc-mysql.jar
dosym $(java-config -p c3p0) ${ARTIFACTORY_INSTALL}/lib/c3p0.jar
fi
if ! use postgres; then
rm -r ${S}/etc/repo/*postgresql
else
dosym $(java-config -p jdbc-postgresql) ${ARTIFACTORY_INSTALL}/lib/jdbc-postgresql.jar
fi
chown ${ARTIFACTORY_USER}:artifact ${S}/etc/repo
# remove windows-wrapper
rm ${S}/lib/wrapper*
sed -i -e "s:<SystemProperty name=\"artifactory.home\" default=\"..\"/>/webapps:${ARTIFACTORY_INSTALL}/webapps:" "${S}"/etc/jetty.xml
sed -i -e "s:<SystemProperty name=\"artifactory.home\" default=\"..\"/>/logs:/var/log/artifactory:" "${S}"/etc/jetty.xml
cd "${S}"
cp -pPR clilib lib webapps ${PN}.jar "${D}${ARTIFACTORY_INSTALL}" || die "failed to copy libs"
cp -pPR etc/* "${D}/etc/artifactory" || die "failed to copy conf"
sed -i -e "s:CLI_DIR=\`dirname \$0\`:CLI_DIR=${ARTIFACTORY_INSTALL}/clilib:" "${S}"/bin/artadmin
sed -i -e "s:\`dirname \"\$0\"\`\/\.\.:${ARTIFACTORY_INSTALL}:" "${S}"/bin/artifactory.sh
exeinto /usr/bin
doexe bin/artadmin
newinitd "${FILESDIR}"/artifactory.initd artifactory
newconfd "${FILESDIR}"/artifactory.confd artifactory
elog "Artifact storage is /var/lib/artifact. Ensure that there is enough space."
elog "The default password for user 'admin' is 'password'."
elog "After upgrading clean up the jetty-dir '${ARTIFACTORY_INSTALL}/work'"
}