Page MenuHomeFreeBSD

D50802.id156869.diff
No OneTemporary

D50802.id156869.diff

diff --git a/GIDs b/GIDs
--- a/GIDs
+++ b/GIDs
@@ -311,7 +311,7 @@
sshesame:*:368:
neo4j:*:369:
_wsdd:*:370:
-# free: 371
+reposilite:*:371:
# free: 372
# free: 373
# free: 374
diff --git a/UIDs b/UIDs
--- a/UIDs
+++ b/UIDs
@@ -317,7 +317,7 @@
sshesame:*:368:368::0:0:Sshesame Daemon:/nonexistent:/usr/sbin/nologin
neo4j:*:369:369::0:0:neo4j Database Daemon:/nonexistent:/usr/sbin/nologin
_wsdd:*:370:370::0:0:Web Service Discovery Daemon:/nonexistent:/usr/sbin/nologin
-# free: 371
+reposilite:*:371:371::0:0:Reposilite user:/nonexistent:/usr/sbin/nologin
# free: 372
# free: 373
# free: 374
diff --git a/devel/Makefile b/devel/Makefile
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -6384,6 +6384,7 @@
SUBDIR += remotery
SUBDIR += replay
SUBDIR += replxx
+ SUBDIR += reposilite
SUBDIR += reproc
SUBDIR += resolv_wrapper
SUBDIR += revive
diff --git a/devel/reposilite/Makefile b/devel/reposilite/Makefile
new file mode 100644
--- /dev/null
+++ b/devel/reposilite/Makefile
@@ -0,0 +1,67 @@
+DISTNAME= reposilite
+DISTVERSION= 3.5.24
+DISTVERSIONSUFFIX= -all
+CATEGORIES= devel www java
+MASTER_SITES= https://maven.reposilite.com/releases/com/reposilite/reposilite/${DISTVERSION}/
+EXTRACT_SUFX= .jar
+EXTRACT_ONLY=
+
+MAINTAINER= thorsteinn@isnic.is
+COMMENT= Lightweight repository manager for Maven based artifacts
+WWW= https://reposilite.com
+
+LICENSE= APACHE20
+
+USES= java
+JAVA_VERSION= 11+
+
+NO_BUILD= yes
+NO_ARCH= yes
+NO_TEST= yes
+USE_RC_SUBR= ${PORTNAME}
+
+REPOSILITE_WORKDIR= /var/${PORTNAME}
+REPOSILITE_LOGDIR= /var/log/${PORTNAME}
+REPOSILITE_RUNDIR= /var/run/${PORTNAME}
+
+REPOSILITE_USER= ${PORTNAME}
+REPOSILITE_GROUP= ${REPOSILITE_USER}
+
+USERS= ${REPOSILITE_USER}
+GROUPS= ${REPOSILITE_GROUP}
+
+SUB_LIST= JARFILE=${JAVAJARDIR}/${DISTNAME}.jar \
+ JAVA_HOME=${JAVA_HOME} \
+ USER=${REPOSILITE_USER} \
+ GROUP=${REPOSILITE_GROUP} \
+ RUNDIR=${REPOSILITE_RUNDIR} \
+ LOGDIR=${REPOSILITE_LOGDIR} \
+ WORKDIR=${REPOSILITE_WORKDIR}
+
+PLIST_SUB= JARFILE=${JAVAJARDIR}/${DISTNAME}.jar \
+ USER=${REPOSILITE_USER} \
+ GROUP=${REPOSILITE_GROUP} \
+ RUNDIR=${REPOSILITE_RUNDIR} \
+ LOGDIR=${REPOSILITE_LOGDIR} \
+ WORKDIR=${REPOSILITE_WORKDIR}
+
+post-extract:
+ @${TAR} -C ${WRKDIR} -xzf ${DISTDIR}/${DISTNAME}.jar tinylog.properties
+
+post-patch:
+ @${REINPLACE_CMD} -E \
+ -e '27s#= .+$$#= ${REPOSILITE_LOGDIR}/${PORTNAME}.{date:yyyy-MM-dd}.log#' \
+ -e '28s#= .+$$#= ${REPOSILITE_LOGDIR}/${PORTNAME}-latest.log#' \
+ -e '30s#monthly: 03:00$$#daily: 00:00#' \
+ ${WRKDIR}/tinylog.properties
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${ETCDIR}
+ ${MKDIR} ${STAGEDIR}${REPOSILITE_WORKDIR}
+ ${MKDIR} ${STAGEDIR}${REPOSILITE_LOGDIR}
+ ${MKDIR} ${STAGEDIR}${REPOSILITE_RUNDIR}
+ ${INSTALL_DATA} ${FILESDIR}/configuration.cdn.sample ${STAGEDIR}${ETCDIR}/
+ ${INSTALL_DATA} ${WRKDIR}/tinylog.properties ${STAGEDIR}${ETCDIR}/tinylog.properties.sample
+ ${INSTALL_DATA} ${DISTDIR}/${DISTNAME}.jar ${STAGEDIR}${JAVAJARDIR}/
+
+.include <bsd.port.mk>
diff --git a/devel/reposilite/distinfo b/devel/reposilite/distinfo
new file mode 100644
--- /dev/null
+++ b/devel/reposilite/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1748785224
+SHA256 (reposilite-3.5.24-all.jar) = 1f2039f5fe0e8376c64dee6111286402dd2397dacb501cc6006c542a0255f58d
+SIZE (reposilite-3.5.24-all.jar) = 73324890
diff --git a/devel/reposilite/files/configuration.cdn.sample b/devel/reposilite/files/configuration.cdn.sample
new file mode 100644
--- /dev/null
+++ b/devel/reposilite/files/configuration.cdn.sample
@@ -0,0 +1,71 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
+# Reposilite :: Local #
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
+
+# Local configuration contains init params for current Reposilite instance.
+# For more options, shared between instances, login to the dashboard with management token and visit 'Configuration' tab.
+
+# Hostname
+# The hostname can be used to limit which connections are accepted.
+# Use 0.0.0.0 to accept connections from anywhere.
+# 127.0.0.1 will only allow connections from localhost.
+hostname: 0.0.0.0
+# Port to bind
+port: 8080
+# Database configuration. Supported storage providers:
+# - mysql localhost:3306 database user password
+# - sqlite reposilite.db
+# - sqlite --temporary
+# Experimental providers (not covered with tests):
+# - postgresql localhost:5432 database user password
+# - h2 reposilite
+database: sqlite reposilite.db
+
+# Support encrypted connections
+sslEnabled: false
+# SSL port to bind
+sslPort: 443
+# Key file to use.
+# You can specify absolute path to the given file or use ${WORKING_DIRECTORY} variable.
+# If you want to use .pem certificate you need to specify its path next to the key path.
+# Example .pem paths setup:
+# keyPath: ${WORKING_DIRECTORY}/cert.pem ${WORKING_DIRECTORY}/key.pem
+# Example .jks path setup:
+# keyPath: ${WORKING_DIRECTORY}/keystore.jks
+keyPath: ${WORKING_DIRECTORY}/cert.pem ${WORKING_DIRECTORY}/key.pem
+# Key password to use
+keyPassword: reposilite
+# Redirect http traffic to https
+enforceSsl: false
+
+# Max amount of threads used by core thread pool (min: 5)
+# The web thread pool handles first few steps of incoming http connections, as soon as possible all tasks are redirected to IO thread pool.
+webThreadPool: 16
+# IO thread pool handles all tasks that may benefit from non-blocking IO (min: 2)
+# Because most of tasks are redirected to IO thread pool, it might be a good idea to keep it at least equal to web thread pool.
+ioThreadPool: 8
+# Database thread pool manages open connections to database (min: 1)
+# Embedded databases such as SQLite or H2 don't support truly concurrent connections, so the value will be always 1 for them if selected.
+databaseThreadPool: 1
+# Select compression strategy used by this instance.
+# Using 'none' reduces usage of CPU & memory, but ends up with higher transfer usage.
+# GZIP is better option if you're not limiting resources that much to increase overall request times.
+# Available strategies: none, gzip
+compressionStrategy: none
+# Default idle timeout used by Jetty
+idleTimeout: 30000
+
+# Adds cache bypass headers to each request from /api/* scope served by this instance.
+# Helps to avoid various random issues caused by proxy provides (e.g. Cloudflare) and browsers.
+bypassExternalCache: true
+# Amount of messages stored in cached logger.
+cachedLogSize: 50
+# Enable default frontend with dashboard
+defaultFrontend: true
+# Set custom base path for Reposilite instance.
+# It's not recommended to mount Reposilite under custom base path
+# and you should always prioritize subdomain over this option.
+basePath: /
+# Debug mode
+debugEnabled: false
+
diff --git a/devel/reposilite/files/reposilite.in b/devel/reposilite/files/reposilite.in
new file mode 100644
--- /dev/null
+++ b/devel/reposilite/files/reposilite.in
@@ -0,0 +1,64 @@
+#!/bin/sh
+#
+# PROVIDE: reposilite
+# REQUIRE: FILESYSTEMS NETWORKING
+# KEYWORD: shutdown
+#
+# reposilite_enable (bool):
+# Default value: "NO"
+# Flag that determines whether reposilite is enabled
+#
+# reposilite_user (string)
+# Default value: "%%USER%%"
+# User to run reposilite as
+#
+# reposilite_group (string)
+# Default value: "%%GROUP%%"
+# Group to run reposilite as
+#
+# reposilite_config (string)
+# Default value: "%%ETCDIR%%/configuration.cdn"
+# Path to the reposilite configuration file
+#
+# reposilite_tinylog_config (string)
+# Default value: "%%ETCDIR%%/tinylog.properties"
+# Path to the tinylog configuration file
+#
+# reposilite_java_home (string):
+# Default value: "%%JAVA_HOME%%"
+# Java VM directory
+#
+# reposilite_java_opts (string):
+# Default value: ""
+# Java VM options
+#
+# reposilite_args (string):
+# Default value: ""
+# Arguments passed to reposilite
+#
+
+. /etc/rc.subr
+
+name=reposilite
+rcvar=reposilite_enable
+load_rc_config $name
+
+: ${reposilite_enable:="NO"}
+: ${reposilite_user:="%%USER%%"}
+: ${reposilite_group:="%%GROUP%%"}
+: ${reposilite_config:="%%ETCDIR%%/configuration.cdn"}
+: ${reposilite_tinylog_config:="%%ETCDIR%%/tinylog.properties"}
+: ${reposilite_java_home:="%%JAVA_HOME%%"}
+: ${reposilite_java_opts:=""}
+: ${reposilite_args:=""}
+
+app_pidfile="%%RUNDIR%%/${name}.pid"
+pidfile="%%RUNDIR%%/daemon.pid"
+
+command="/usr/sbin/daemon"
+
+command_args="-f -c -t ${name} -r -R 5 -P ${pidfile} -p ${app_pidfile} -o %%LOGDIR%%/daemon.log ${reposilite_java_home}/bin/java -Dtinylog.configuration=${reposilite_tinylog_config} ${reposilite_java_opts} -jar %%JARFILE%% -wd %%WORKDIR%% -lcm none -lc ${reposilite_config} ${reposilite_args}"
+
+required_files="${reposilite_config}"
+
+run_rc_command "$1"
diff --git a/devel/reposilite/pkg-descr b/devel/reposilite/pkg-descr
new file mode 100644
--- /dev/null
+++ b/devel/reposilite/pkg-descr
@@ -0,0 +1,2 @@
+Lightweight and easy-to-use repository manager for Maven based artifacts in
+JVM ecosystem.
diff --git a/devel/reposilite/pkg-plist b/devel/reposilite/pkg-plist
new file mode 100644
--- /dev/null
+++ b/devel/reposilite/pkg-plist
@@ -0,0 +1,9 @@
+%%JARFILE%%
+@owner %%USER%%
+@group %%GROUP%%
+@sample %%ETCDIR%%/configuration.cdn.sample
+@sample %%ETCDIR%%/tinylog.properties.sample
+@dir(,,755) %%ETCDIR%%
+@dir(,,750) %%RUNDIR%%
+@dir(,,750) %%LOGDIR%%
+@dir(,,750) %%WORKDIR%%

File Metadata

Mime Type
text/plain
Expires
Fri, Dec 19, 1:30 PM (6 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27077536
Default Alt Text
D50802.id156869.diff (9 KB)

Event Timeline