blob: 3079fc35b3288dbc562a107840e68892ac74a029 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
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}"
}
|