Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F139972669
D50802.id156869.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
9 KB
Referenced Files
None
Subscribers
None
D50802.id156869.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D50802: [NEW PORT] devel/reposilite: Lightweight repository manager for Maven based artifacts
Attached
Detach File
Event Timeline
Log In to Comment