Commit 2ebd2011 authored by riggs's avatar riggs
Browse files

Add new port: devel/artifactory, a universal artifact repository manager

PR:		204128
Submitted by:	dharrigan@gmail.com (maintainer)
parent b56836fd
......@@ -243,6 +243,7 @@ sogod:*:846:
fossy:*:901:www
scanlogd:*:902:
_ocserv:*:903:
artifactory:*:905:
opentsdb:*:906:
influxd:*:907:
riemann:*:908:
......
......@@ -251,6 +251,7 @@ sogod:*:846:846::0:0:SOGo groupware:/nonexistent:/usr/sbin/nologin
fossy:*:901:901::0:0:FOSSology user:/usr/local/share/fossology:/usr/local/bin/bash
scanlogd:*:902:902::0:0:scanlogd user:/nonexistent:/usr/sbin/nologin
_ocserv:*:903:903::0:0:ocserv user:/nonexistent:/usr/sbin/nologin
artifactory:*:905:905::0:0:artifactory user:/nonexistent:/usr/sbin/nologin
opentsdb:*:906:906::0:0:OpenTSDB Daemon:/var/empty:/usr/sbin/nologin
influxd:*:907:907::0:0:InfluxDB Daemon:/var/empty:/usr/sbin/nologin
riemann:*:908:908::0:0:Riemann User:/var/empty:/usr/sbin/nologin
......
......@@ -98,6 +98,7 @@
SUBDIR += arm-none-eabi-gcc492
SUBDIR += aros-sdk
SUBDIR += art
SUBDIR += artifactory
SUBDIR += as31
SUBDIR += asl
SUBDIR += asmutils
......
# $FreeBSD$
PORTNAME= artifactory
PORTVERSION= 4.2.2
CATEGORIES= devel java
MASTER_SITES= https://bintray.com/artifact/download/jfrog/artifactory/
DISTNAME= jfrog-${PORTNAME}-oss-${PORTVERSION}
MAINTAINER= dharrigan@gmail.com
COMMENT= Universal Artifact Repository Manager
LICENSE= GPLv3 LGPL3 APACHE20
LICENSE_COMB= multi
LICENSE_FILE= ${WRKSRC}/COPYING ${WRKSRC}/COPYING ${WRKSRC}/tomcat/LICENSE
RUN_DEPENDS= bash:${PORTSDIR}/shells/bash
WRKSRC= ${WRKDIR}/${PORTNAME}-oss-${PORTVERSION}
NO_ARCH= yes
USE_JAVA= yes
USES= shebangfix zip
SHEBANG_FILES= bin/artifactory.sh
NO_BUILD= yes
JAVA_VERSION= 1.8+
JAVA_VENDOR= openjdk
ONLY_FOR_ARCHS= i386 amd64
USE_RC_SUBR= ${PORTNAME}
APP_NAME= ${PORTNAME}
APP_HOME?= ${PORTNAME}
PID_FILE?= /var/run/${PORTNAME}.pid
VARDIR= /var/${PORTNAME}
USERS= artifactory
GROUPS= artifactory
SUB_LIST= APP_HOME=${PREFIX}/${APP_HOME} \
APP_NAME=${APP_NAME} \
PID_FILE=${PID_FILE} \
VARDIR=${VARDIR}
SUB_FILES= pkg-message \
PLIST_SUB= APP_HOME=${APP_HOME} \
VARDIR=${VARDIR}
do-install:
.for f in artifactory-service.exe artifactory.bat installService.bat \
uninstallService.bat
${RM} ${WRKSRC}/bin/${f}
.endfor
${RM} ${WRKSRC}/tomcat/bin/*.bat
${MKDIR} ${STAGEDIR}${PREFIX}/${APP_HOME}
(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/${APP_HOME})
${MKDIR} ${STAGEDIR}/${VARDIR}/tomcat/logs/catalina
${LN} -sf ${VARDIR}/tomcat/logs/catalina ${STAGEDIR}${PREFIX}/${APP_HOME}/tomcat/logs
.for d in etc logs
${MV} ${STAGEDIR}${PREFIX}/${APP_HOME}/${d} ${STAGEDIR}/${VARDIR}
${LN} -sf ${VARDIR}/${d} ${STAGEDIR}${PREFIX}/${APP_HOME}/${d}
.endfor
.for d in temp webapps work
${MV} ${STAGEDIR}${PREFIX}/${APP_HOME}/tomcat/${d} ${STAGEDIR}/${VARDIR}/tomcat
${LN} -sf ${VARDIR}/tomcat/${d} ${STAGEDIR}${PREFIX}/${APP_HOME}/tomcat/${d}
.endfor
.for d in data backup
${MKDIR} ${STAGEDIR}/${VARDIR}/${d}
${LN} -sf ${VARDIR}/${d} ${STAGEDIR}${PREFIX}/${APP_HOME}/${d}
.endfor
.include <bsd.port.mk>
SHA256 (jfrog-artifactory-oss-4.2.2.zip) = 4f180c0157875462e910b8acbe0c79b3427c38a5e5c90a1900d357958360e39f
SIZE (jfrog-artifactory-oss-4.2.2.zip) = 35547422
#!/bin/sh
#
# artifactory startup script.
#
# $FreeBSD$
#
# Make sure you have the artifactory user and artifactory home or set them below accordingly!
# PROVIDE: artifactory
# REQUIRE: NETWORKING SERVERS
# KEYWORD: shutdown
# Add the following lines to /etc/rc.conf to enable artifactory:
# artifactory_enable (bool): Set to "YES" to enable artifactory
# artifactory_args (str): Optional arguments to Artifactory
# artifactory_log_stdout (str) Artifactory log output stdout, filename.
# artifactory_log_stderr (str) Artifactory log output stderr, filename.
#
ARTIFACTORY_HOME=%%APP_HOME%%
. /etc/rc.subr
name="artifactory"
rcvar=artifactory_enable
load_rc_config $name
artifactory_enable="${artifactory_enable:-"NO"}"
artifactory_log_stdout="${artifactory_log_stdout:-"${artifactory_logdir}/stdout.log"}"
artifactory_log_stderr="${artifactory_log_stderr:-"${artifactory_logdir}/stderr.log"}"
artifactory_args="${artifactory_args:-""}"
artifactory_sleep="${artifactory_sleep:-"5"}"
artifactory_kill9="${artifactory_kill9:-""}"
artifactory_additional_killall="${artifactory_additional_killall:-""}"
artifactory_user="artifactory"
artifactory_logdir=$ARTIFACTORY_HOME/logs
start_cmd="artifactory_start"
stop_cmd="artifactory_stop"
pidfile=%%PID_FILE%%
artifactory_start ()
{
if [ ! -d "${artifactory_logdir}" ]
then
install -d -o ${artifactory_user} ${artifactory_logdir}
fi
echo "Starting artifactory."
daemon -u ${artifactory_user} ${ARTIFACTORY_HOME}/bin/artifactory.sh ${artifactory_args} >> ${artifactory_log_stdout} 2>> ${artifactory_log_stderr} >> ${artifactory_logdir}/boot.log 2>> ${artifactory_logdir}/boot.log
sleep ${artifactory_sleep} # let daemon(8) and sh(1) finish before executing pgrep(1)
pgrep -U ${artifactory_user} > ${pidfile}
chown ${artifactory_user} $pidfile
}
artifactory_stop ()
{
# Subvert the check_pid_file procname check.
if [ -f ${pidfile} ]
then
kill `cat ${pidfile}`
# Only if we aware that our setup can hangs, and only after trying simple kill, we can kill it hard way.
if [ ! -z "${artifactory_kill9}" ]
then
sleep ${artifactory_sleep}
kill -9 `cat ${pidfile}`
fi
# In some setups, Artifactory can spawn some child processess, which could prevent it from stopping, and freeing net ports.
# Let's blindly kill them all, since we are really know what we are doing.
if [ ! -z "${artifactory_additional_killall}" ]
then
sleep ${artifactory_sleep}
killall ${artifactory_additional_killall}
fi
fi
}
run_rc_command "$1"
=== INSTALLATION ===
Artifactory is now installed in %%APP_HOME%%
You may want to activate it in /etc/rc.conf:
# echo %%APP_NAME%%_enable="YES" >> /etc/rc.conf
Now, start Artifactory:
# service %%APP_NAME%% start
Once Artifactory is started, point your web browser to:
http://localhost:8081/
Artifactory configuration files are located in %%APP_HOME%%/etc
Please don't forget to review and edit the files in the
%%APP_HOME%%/etc directory to suit your needs.
Full documentation may be found at:
https://www.jfrog.com/confluence/display/RTF/Welcome+to+Artifactory
=== DEINSTALLATION ==
If, when, Artifactory is removed, and you no longer require the
runtime database and configuration files, you can delete the
following directory:
%%VARDIR%%
Please double-check before removing this directory as it contains
the database files that Artifactory requires if you do decide to
re-install it again.
Enjoy!
The world's most advanced repository manager. Artifactory offers
powerful enterprise feature and fine-grained permission control behind
a sleek and easy-to-use UI.
WWW: https://www.jfrog.com/artifactory
%%APP_HOME%%/COPYING
%%APP_HOME%%/COPYING.LESSER
%%APP_HOME%%/README.txt
%%APP_HOME%%/Third-Parties-Usage-About-Box.html
@mode 0755
%%APP_HOME%%/bin/artifactory.default
%%APP_HOME%%/bin/artifactory.sh
%%APP_HOME%%/bin/artifactoryctl
%%APP_HOME%%/bin/configure.mysql.sh
%%APP_HOME%%/bin/installService.sh
%%APP_HOME%%/bin/recover.backup.sh
%%APP_HOME%%/bin/uninstallService.sh
@mode
%%APP_HOME%%/backup
%%APP_HOME%%/data
%%APP_HOME%%/etc
%%APP_HOME%%/logs
%%APP_HOME%%/misc/db/createdb/createdb_mssql.sql
%%APP_HOME%%/misc/db/createdb/createdb_mssqlBlob.sql
%%APP_HOME%%/misc/db/createdb/createdb_mssqlRecreateBlob.sql
%%APP_HOME%%/misc/db/createdb/createdb_mysql.sql
%%APP_HOME%%/misc/db/mssql.properties
%%APP_HOME%%/misc/db/mysql.properties
%%APP_HOME%%/misc/db/oracle.properties
%%APP_HOME%%/misc/db/postgresql.properties
%%APP_HOME%%/misc/ha/ha-node.properties.template
%%APP_HOME%%/misc/service/artifactory
%%APP_HOME%%/misc/service/setenv.sh
%%APP_HOME%%/misc/tomcat/NGNIX.txt
%%APP_HOME%%/misc/tomcat/artifactory.httpd.conf
%%APP_HOME%%/misc/tomcat/artifactory.xml
%%APP_HOME%%/misc/tomcat/index.html
%%APP_HOME%%/misc/tomcat/logging.properties
%%APP_HOME%%/misc/tomcat/server.xml
%%APP_HOME%%/misc/tomcat/web.xml
%%APP_HOME%%/tomcat/LICENSE
%%APP_HOME%%/tomcat/NOTICE
%%APP_HOME%%/tomcat/RELEASE-NOTES
%%APP_HOME%%/tomcat/RUNNING.txt
%%APP_HOME%%/tomcat/bin/bootstrap.jar
%%APP_HOME%%/tomcat/bin/catalina-tasks.xml
%%APP_HOME%%/tomcat/bin/commons-daemon-native.tar.gz
%%APP_HOME%%/tomcat/bin/commons-daemon.jar
%%APP_HOME%%/tomcat/bin/tomcat-juli.jar
%%APP_HOME%%/tomcat/bin/tomcat-native.tar.gz
@mode 0755
%%APP_HOME%%/tomcat/bin/catalina.sh
%%APP_HOME%%/tomcat/bin/configtest.sh
%%APP_HOME%%/tomcat/bin/daemon.sh
%%APP_HOME%%/tomcat/bin/digest.sh
%%APP_HOME%%/tomcat/bin/setclasspath.sh
%%APP_HOME%%/tomcat/bin/shutdown.sh
%%APP_HOME%%/tomcat/bin/startup.sh
%%APP_HOME%%/tomcat/bin/tool-wrapper.sh
%%APP_HOME%%/tomcat/bin/version.sh
@mode
%%APP_HOME%%/tomcat/conf/Catalina/localhost/artifactory.xml
%%APP_HOME%%/tomcat/conf/catalina.policy
%%APP_HOME%%/tomcat/conf/catalina.properties
%%APP_HOME%%/tomcat/conf/logging.properties
%%APP_HOME%%/tomcat/conf/server.xml
%%APP_HOME%%/tomcat/conf/web.xml
%%APP_HOME%%/tomcat/lib/annotations-api.jar
%%APP_HOME%%/tomcat/lib/catalina.jar
%%APP_HOME%%/tomcat/lib/el-api.jar
%%APP_HOME%%/tomcat/lib/servlet-api.jar
%%APP_HOME%%/tomcat/lib/tomcat-api.jar
%%APP_HOME%%/tomcat/lib/tomcat-coyote.jar
%%APP_HOME%%/tomcat/lib/tomcat-jni.jar
%%APP_HOME%%/tomcat/lib/tomcat-util-scan.jar
%%APP_HOME%%/tomcat/lib/tomcat-util.jar
%%APP_HOME%%/tomcat/logs
%%APP_HOME%%/tomcat/temp
%%APP_HOME%%/tomcat/webapps
%%APP_HOME%%/tomcat/work
%%APP_HOME%%/webapps/artifactory.war
@owner artifactory
@group artifactory
%%VARDIR%%/tomcat/webapps/ROOT/index.html
%%VARDIR%%/etc/artifactory.config.xml
%%VARDIR%%/etc/artifactory.system.properties
%%VARDIR%%/etc/mimetypes.xml
%%VARDIR%%/etc/logback.xml
@dir %%VARDIR%%/tomcat/work
@dir %%VARDIR%%/tomcat/webapps/ROOT
@dir %%VARDIR%%/tomcat/webapps
@dir %%VARDIR%%/tomcat/temp
@dir %%VARDIR%%/tomcat/logs/catalina
@dir %%VARDIR%%/tomcat/logs
@dir %%VARDIR%%/tomcat
@dir %%VARDIR%%/logs
@dir %%VARDIR%%/etc
@dir %%VARDIR%%/data
@dir %%VARDIR%%/backup
@dir %%VARDIR%%
@owner
@group
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment