dev-util/artifactory-bin: initial packaging for 4.7.6
authorAustin English <wizardedit@gentoo.org>
Wed, 11 May 2016 23:07:34 +0000 (18:07 -0500)
committerAustin English <wizardedit@gentoo.org>
Wed, 11 May 2016 23:12:41 +0000 (18:12 -0500)
Using a binary ebuild for now, as upstream is very unfriendly to building
from source. See bugs below for references.

Bug: https://www.jfrog.com/jira/browse/RTFACT-8960
Bug: https://www.jfrog.com/jira/browse/RTFACT-8961

Package-Manager: portage-2.2.26

dev-util/artifactory-bin/Manifest [new file with mode: 0644]
dev-util/artifactory-bin/artifactory-bin-4.7.6.ebuild [new file with mode: 0644]
dev-util/artifactory-bin/metadata.xml [new file with mode: 0644]

diff --git a/dev-util/artifactory-bin/Manifest b/dev-util/artifactory-bin/Manifest
new file mode 100644 (file)
index 0000000..45ed7f8
--- /dev/null
@@ -0,0 +1 @@
+DIST artifactory-4.7.6.zip 40332783 SHA256 8f2ee405e7b13ea2121a0e1c97ef3097ae54e9753d7288cc4ee95d3831cb01dd SHA512 06d102b8a17172a8f6a67e9f166278b59569ba8439c9eea02bc1a7401182f72bc00da8ea3484a30b1c96ab167d331868169edd3051f6e027d772a9c5ede50852 WHIRLPOOL 296dc74c9698058b2fc020ce0561929a7a75dc47ad48cce37be1d4e86e0c4bbddfb7ab108f58ee1175bb0fff113a4a216a11c6ddf01380d3fd8c826607712990
diff --git a/dev-util/artifactory-bin/artifactory-bin-4.7.6.ebuild b/dev-util/artifactory-bin/artifactory-bin-4.7.6.ebuild
new file mode 100644 (file)
index 0000000..693071d
--- /dev/null
@@ -0,0 +1,97 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Using a binary ebuild until a source ebuild is doable.
+# This is currently blocked by two major bugs upstream:
+# A lack of documented build instructions - https://www.jfrog.com/jira/browse/RTFACT-8960
+# A lack of source releases - https://www.jfrog.com/jira/browse/RTFACT-8961
+
+EAPI=6
+
+inherit user
+
+MY_P="${P/-bin}"
+MY_PN="${PN/-bin}"
+MY_PV="${PV/-bin}"
+
+DESCRIPTION="The world's most advanced repository manager for maven"
+HOMEPAGE="http://www.jfrog.org/products.php"
+SRC_URI="https://bintray.com/artifact/download/jfrog/artifactory/jfrog-artifactory-oss-${MY_PV}.zip -> ${MY_P}.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="ssl"
+
+RDEPEND=">=virtual/jre-1.8"
+DEPEND=">=virtual/jdk-1.8
+               app-arch/unzip"
+
+S="${WORKDIR}/${MY_PN}-oss-${MY_PV}"
+
+pkg_setup() {
+       enewgroup artifactory
+       enewuser artifactory -1 /bin/sh -1 artifactory
+}
+
+src_prepare() {
+       default
+
+       if use ssl ; then
+               cp "${FILESDIR}/artifactory-4.4.0-artifactory.xml" \
+                       tomcat/conf/Catalina/localhost/artifactory.xml || die
+               cp "${FILESDIR}/artifactory-4.4.0-server.xml" \
+                       tomcat/conf/server.xml || die
+       fi
+
+       # Reverse https://www.jfrog.com/jira/browse/RTFACT-7123
+       sed -i -e "s%artifactory.repo.global.disabled=true%artifactory.repo.global.disabled=false%g;" \
+               etc/artifactory.system.properties || die
+
+       # See FIXME in src_install(), this can probably go away,
+       # but catalina.sh may need to be fixed for that:
+       sed -i -e "s%/etc/opt/jfrog/artifactory/default%/etc/conf.d/${MY_PN}%g;" \
+               misc/service/setenv.sh || die
+}
+
+src_install() {
+       local ARTIFACTORY_HOME="/opt/artifactory"
+       local TOMCAT_HOME="${ARTIFACTORY_HOME}/tomcat"
+
+       insinto ${ARTIFACTORY_HOME}
+       doins -r etc logs misc tomcat webapps
+
+       dodir /etc/opt/jfrog
+       dosym ${ARTIFACTORY_HOME}/etc /etc/opt/jfrog/artifactory
+
+       dosym ${ARTIFACTORY_HOME}/logs /var/log/artifactory
+
+       exeinto ${ARTIFACTORY_HOME}/bin
+       doexe bin/*
+
+       # FIXME: this is called by catalina.sh (it echoes the variables before starting
+       # artifactory, as well as makes sure log dir, etc. exists). Those directories
+       # could probably be moved to the ebuild and the script removed from catalina.sh
+       # without consequence (and quieter starts). Would need to check if CATALINA_*
+       # variables are actually used anywhere (from reading code don't appear to be
+       # actually needed)
+       exeinto ${TOMCAT_HOME}/bin
+       doexe misc/service/setenv.sh
+       doexe tomcat/bin/*
+
+       keepdir ${ARTIFACTORY_HOME}/backup
+       keepdir ${ARTIFACTORY_HOME}/data
+       keepdir ${ARTIFACTORY_HOME}/run
+       keepdir ${ARTIFACTORY_HOME}/work
+       keepdir ${TOMCAT_HOME}/logs/catalina
+       keepdir ${TOMCAT_HOME}/temp
+       keepdir ${TOMCAT_HOME}/work
+       keepdir /var/opt/jfrog/artifactory/run
+
+       newconfd "${FILESDIR}/confd" ${MY_PN}
+       newinitd "${FILESDIR}/initd" ${MY_PN}
+
+       fowners -R artifactory:artifactory ${ARTIFACTORY_HOME}
+       fperms -R u+w ${TOMCAT_HOME}/work
+}
diff --git a/dev-util/artifactory-bin/metadata.xml b/dev-util/artifactory-bin/metadata.xml
new file mode 100644 (file)
index 0000000..b9b43a4
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer type="person">
+    <email>wizardedit@gentoo.org</email>
+    <name>Austin English</name>
+  </maintainer>
+  <longdescription>
+  Respository manager for Maven (among other binary package formats).
+  </longdescription>
+</pkgmetadata>