diff options
Diffstat (limited to 'dev-util/artifactory-bin/artifactory-bin-6.3.3.ebuild')
-rw-r--r-- | dev-util/artifactory-bin/artifactory-bin-6.3.3.ebuild | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/dev-util/artifactory-bin/artifactory-bin-6.3.3.ebuild b/dev-util/artifactory-bin/artifactory-bin-6.3.3.ebuild new file mode 100644 index 000000000000..3079fc35b328 --- /dev/null +++ b/dev-util/artifactory-bin/artifactory-bin-6.3.3.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Using a binary ebuild until a source ebuild is doable. +# This was previously 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 +# Upstream now releases source and instructions (yay!), but most of artifactory's +# dependencies are not in portage yet. + +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="AGPL-3+" +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 +} + +limitsdfile=40-${MY_PN}.conf + +print_limitsdfile() { + printf "# Start of ${limitsdfile} from ${P}\n\n" + printf "@${MY_PN}\t-\tnofile\t32000\n" + printf "\n# End of ${limitsdfile} from ${P}\n" +} + +src_prepare() { + default + + if use ssl ; then + cp "${FILESDIR}/artifactory.xml" tomcat/conf/Catalina/localhost/artifactory.xml || die + cp "${FILESDIR}/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 + + einfo "Generating ${limitsdfile}" + print_limitsdfile > "${S}/${limitsdfile}" +} + +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-r3" ${MY_PN} + + fowners -R artifactory:artifactory ${ARTIFACTORY_HOME} + fperms -R u+w ${TOMCAT_HOME}/work + + insinto /etc/security/limits.d + doins "${S}/${limitsdfile}" +} |