diff --git a/acct-group/reposilite/Manifest b/acct-group/reposilite/Manifest new file mode 100644 index 0000000..87b7294 --- /dev/null +++ b/acct-group/reposilite/Manifest @@ -0,0 +1 @@ +EBUILD reposilite-0.ebuild 199 BLAKE2B da21bab94870ddaeb4a77a7f1aa30ac90eb56c638d7fe6b6ea7d3aef39c9c76cfdc9cac094fb50c258e318e14d2fd241ae680bbe5265e2bb9e0cb56557f80940 SHA512 a74c6c908293b05fbb0bb092da65f1f9504c27cf3279aa4ac0933f0a671d3441703b75fd9feceb250886296b3eff468d9d6f62e8e0fe0157a9f9b128c6ae58e0 diff --git a/acct-group/reposilite/reposilite-0.ebuild b/acct-group/reposilite/reposilite-0.ebuild new file mode 100644 index 0000000..8e28db9 --- /dev/null +++ b/acct-group/reposilite/reposilite-0.ebuild @@ -0,0 +1,9 @@ +# Copyright 2019-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit acct-group + +DESCRIPTION="Reposilite Maven repository group" +ACCT_GROUP_ID=748 diff --git a/acct-user/reposilite/Manifest b/acct-user/reposilite/Manifest new file mode 100644 index 0000000..8ccdd22 --- /dev/null +++ b/acct-user/reposilite/Manifest @@ -0,0 +1 @@ +EBUILD reposilite-0.ebuild 308 BLAKE2B c29708bb2f749b14fa9f07ee5f2c2c0a89e3e7b0bbf460e822135f5e222fb17256c973802c9845b1d81317abb8730affe9bd1666615a577fc7da6480ac727c38 SHA512 ceb09ee63465113acfcf2a8c4c78de8edaa8dea63ee7e038c8aa25e67d81c507510abd5fe96f52f54b0255fbbdaefe1b20ca6063dbd57388dcd0faa4d209db90 diff --git a/acct-user/reposilite/reposilite-0.ebuild b/acct-user/reposilite/reposilite-0.ebuild new file mode 100644 index 0000000..a4a2ecb --- /dev/null +++ b/acct-user/reposilite/reposilite-0.ebuild @@ -0,0 +1,13 @@ +# Copyright 2019-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit acct-user + +DESCRIPTION="Reposilite Maven repository user" +ACCT_USER_ID=748 +ACCT_USER_HOME=/var/lib/reposilite +ACCT_USER_HOME_PERMS=0750 +ACCT_USER_GROUPS=( reposilite ) +acct-user_add_deps diff --git a/net-misc/reposilite/Manifest b/net-misc/reposilite/Manifest new file mode 100644 index 0000000..b719840 --- /dev/null +++ b/net-misc/reposilite/Manifest @@ -0,0 +1,5 @@ +AUX configuration.cdn 3055 BLAKE2B 95966983976f095e403afcf4a684014930fb297c6592f29a0b39236810f409ff8ac36ca0f40aeb2afac657a092bf97cef2a83b259f6a2d8ff573ea82ac3fa2b2 SHA512 8d4eec032856d9c0b74aa499ff8e8f393c6b2ff91f8d296aa0890590d046a5b82ed937fbc3ce488f68292eef9ac5615f8ed29c0edaa1957dbbbb4a93073476ff +AUX reposilite.confd 227 BLAKE2B 1378667858f005e25aa12d76236413315b9d56e08b43594747a55a02f07a25078aa19a609b2d6914bba2d205ac7de04c0fbb8be0e70775b147c37bccfda6e887 SHA512 6894002d98e06a5b46a09aed4eed668001bcce2d6f019f688a324fa0478b693ae00e2c3aa257a8ad7e450815a27ff3fb5ac66eff63e2a5b4ca0ceee89a541b8f +AUX reposilite.initd 1163 BLAKE2B b8381b313415371b1e8ae3825a5d075eb761867419940e52bec037a27115ec802dc434b5f80ffcdeac6cac786ed03e53ef3721b5b55126644f3e42f673be4197 SHA512 91b9f9b1e55fa5bd980f7ed7439d8f0e3148d3b782f287b842032186d3bbdf46ba6aa208ce3ecfece2f37c4304f63dece8e79735a83dc2d1f0b4d0f8be8924f9 +DIST reposilite-3.5.9.jar 75215848 BLAKE2B bccab25f3e0284b8d1718eee2f378d527054a154384510b8bcbf955f4bb085019f12e997a9dd7b9a6703e782201788e0c4a6808b5c738bacc6bd2f5529cfb233 SHA512 5e67aaa64298d2e22058b7fe30228f2a103b3069462e896b767fd04939f35c9efd59c235ca837e077117f2c284ba4146e14393d6a02f29a88a5d79e8773cdcf3 +EBUILD reposilite-3.5.9.ebuild 813 BLAKE2B b73bed98b316b42332da09aa7135de78f21b67ef88e6c723428c5b8e0c08d7b961eea92baaf3cfba799b3aa99f3608775c0b1280b229a8059574b5e1b755b9ea SHA512 8fa14405745ab97469d101cf5459c893ac4aac83c5137f4ba7c87111f541140ee756bd7e646d2c071aa6da3b594679eee79c1af663f24bda7220aac8792f81dd diff --git a/net-misc/reposilite/files/configuration.cdn b/net-misc/reposilite/files/configuration.cdn new file mode 100644 index 0000000..ef45e59 --- /dev/null +++ b/net-misc/reposilite/files/configuration.cdn @@ -0,0 +1,70 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # +# 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: 127.0.0.1 +# 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/net-misc/reposilite/files/reposilite.confd b/net-misc/reposilite/files/reposilite.confd new file mode 100644 index 0000000..6498e45 --- /dev/null +++ b/net-misc/reposilite/files/reposilite.confd @@ -0,0 +1,6 @@ +# REPOSILITE_USER="reposilite" +# REPOSILITE_GROUP="reposilite" +# REPOSILITE_CONFIG="/etc/reposilite/configuration.cdn" +# REPOSILITE_DATA_DIR="/var/lib/reposilite" +# REPOSILITE_LOG_DIR="/var/log/resposilite" +# REPOSILITE_JVM="" diff --git a/net-misc/reposilite/files/reposilite.initd b/net-misc/reposilite/files/reposilite.initd new file mode 100644 index 0000000..e8e9595 --- /dev/null +++ b/net-misc/reposilite/files/reposilite.initd @@ -0,0 +1,27 @@ +#!/sbin/openrc-run +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +REPOSILITE_USER="${REPOSILITE_USER:-reposilite}" +REPOSILITE_GROUP="${REPOSILITE_GROUP:-reposilite}" +REPOSILITE_CONFIG="${REPOSILITE_CONFIG:-/etc/reposilite/configuration.cdn}" +REPOSILITE_DATA_DIR="${REPOSILITE_DATA_DIR:-/var/lib/reposilite}" +REPOSILITE_LOG_DIR="${REPOSILITE_LOG_DIR:-/var/log/resposilite}" + +export JAVA_HOME=`java-config ${REPOSILITE_JVM:+--select-vm ${REPOSILITE_JVM}} --jre-home` + +command="${JAVA_HOME}/bin/java" +command_args="-jar /usr/lib/reposilite/reposilite.jar -wd ${REPOSILITE_DATA_DIR} -lc ${REPOSILITE_CONFIG} -pd ${REPOSILITE_DATA_DIR}/plugins" + +pidfile="/run/${RC_SVCNAME}.pid" +command_background="true" +start_stop_daemon_args="--user=\"${REPOSILITE_USER}\" --group=\"${REPOSILITE_GROUP}\" --stdout ${REPOSILITE_LOG_DIR}/reposilite.log --stderr ${REPOSILITE_LOG_DIR}/reposilite.err --chdir ${REPOSILITE_DATA_DIR}" + +depend() { + use dns logger net +} + +start_pre() { + checkpath -d -o "${REPOSILITE_USER}" -m750 "${REPOSILITE_DATA_DIR}" + checkpath -d -o "${REPOSILITE_USER}" -m750 "${REPOSILITE_LOG_DIR}" +} diff --git a/net-misc/reposilite/reposilite-3.5.9.ebuild b/net-misc/reposilite/reposilite-3.5.9.ebuild new file mode 100644 index 0000000..85c137c --- /dev/null +++ b/net-misc/reposilite/reposilite-3.5.9.ebuild @@ -0,0 +1,39 @@ + +EAPI="7" + +#inherit systemd + +DESCRIPTION="Lightweight and easy-to-use repository management software for Maven" +HOMEPAGE="https://github.com/dzikoysk/reposilite" +SRC_URI="https://maven.reposilite.com/releases/com/${PN}/${PN}/${PV}/${P}-all.jar -> ${P}.jar" + +SLOT="0" +LICENSE="Apache-2.0" +KEYWORDS="amd64" +S="${WORKDIR}" + +RDEPEND=" + >=virtual/jre-11 + acct-group/reposilite + acct-user/reposilite +" + +DEPEND="${RDEPEND}" + +src_install() { + insinto "/usr/lib/${PN}" + newins "${DISTDIR}/${P}.jar" "${PN}.jar" + + newinitd "${FILESDIR}/${PN}.initd" ${PN} + newconfd "${FILESDIR}/${PN}.confd" ${PN} + + #systemd_dounit "${FILESDIR}/${PN}.service" + + diropts -m 0750 -o ${PN} -g ${PN} + dodir /etc/${PN} + keepdir /var/lib/${PN} + keepdir /var/log/${PN} + + insinto /etc/${PN} + doins "${FILESDIR}/configuration.cdn" +}