From 95b2c95d550ce728f33348418b6d41e2818ffaa1 Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Thu, 8 Oct 2020 23:21:07 +0200 Subject: [PATCH] dev-util/reposilite: Add untested ebuild for version 2.9.1 Package-Manager: Portage-3.0.4, Repoman-3.0.1 --- dev-util/reposilite/ChangeLog | 6 ++ dev-util/reposilite/Manifest | 7 +++ dev-util/reposilite/files/app.ini | 17 ++++++ .../reposilite/files/reposilite-2.9.1.cdn | 56 +++++++++++++++++++ dev-util/reposilite/files/reposilite.service | 24 ++++++++ dev-util/reposilite/files/reposilite.sh | 27 +++++++++ dev-util/reposilite/metadata.xml | 8 +++ dev-util/reposilite/reposilite-2.9.1.ebuild | 49 ++++++++++++++++ 8 files changed, 194 insertions(+) create mode 100644 dev-util/reposilite/ChangeLog create mode 100644 dev-util/reposilite/Manifest create mode 100644 dev-util/reposilite/files/app.ini create mode 100644 dev-util/reposilite/files/reposilite-2.9.1.cdn create mode 100644 dev-util/reposilite/files/reposilite.service create mode 100755 dev-util/reposilite/files/reposilite.sh create mode 100644 dev-util/reposilite/metadata.xml create mode 100644 dev-util/reposilite/reposilite-2.9.1.ebuild diff --git a/dev-util/reposilite/ChangeLog b/dev-util/reposilite/ChangeLog new file mode 100644 index 0000000..6110b48 --- /dev/null +++ b/dev-util/reposilite/ChangeLog @@ -0,0 +1,6 @@ +*reposilite-2.9.1 (08 Oct 2020) + + 08 Oct 2020; Manuel Friedli +files/app.ini, + +files/reposilite-2.9.1.cdn, +files/reposilite.service, +files/reposilite.sh, + +metadata.xml, +reposilite-2.9.1.ebuild: + dev-util/reposilite: Add untested ebuild for version 2.9.1 diff --git a/dev-util/reposilite/Manifest b/dev-util/reposilite/Manifest new file mode 100644 index 0000000..92d0350 --- /dev/null +++ b/dev-util/reposilite/Manifest @@ -0,0 +1,7 @@ +AUX app.ini 718 BLAKE2B 6d8abd16cc2eb522e5111d4874692a37698e59ed3db0d2072572f4ab7b6edcabe890aa9129beba932dadd9340e8d5491289ec562f1f9e7ac864fcc89d8389147 SHA512 5d2a6664c5b0bff5d1eeab2a07b7246230837273decaabbe6376b7315c18a897887530b1fdd7cd68eea9c6ffac90ef90d6769ef15e75129d6b67a0ca0ec775a5 +AUX reposilite-2.9.1.cdn 1662 BLAKE2B ced2d8ef9db30bfba89efe5613bb6c269b78494f5141517557fcc5648684395038b0b1ca60049db6b14c8d65e94bf7e1a8776310d68cde10523dacf106f22ef5 SHA512 5e70568c4813ebde635bda0763494eef6c566246a8077ad73bf1fa394a042548424fe1197f9c6f9ee1c8d053f4da0033778ef846a79850452764aaa2a7719170 +AUX reposilite.service 533 BLAKE2B 98490e09657c606639239d4da6397c8930cb9731a4637b9af8e59533b264c574d5626c45113aec9b11ba3cec87e7e0a8f743fb6f7cf15f03b835a1e3875cbdc8 SHA512 5687a77b44c538d6ec2da2ac19cc1b05a0fd931b9fcb6bc13016ef4f2601b0bf4a218bcd1e4e56ce892ffb876cd479cbf537dd21920a1178b61cb8de9e31bf64 +AUX reposilite.sh 771 BLAKE2B 88a79837096f9fd3affeb75d2fb907e17aafb4382e9d7d1d06c9c3441e484596e17d4e30ff58e2ea31a6fb3b97c9b8981b8cc993122433fae5e7870a120ee1a3 SHA512 b97f31ac025bda44637812583a60cea6dcb158eebf55c820b3092ed15fe3046bfccb3c0da0456551fe2c362f910431713a425866da26a5ab7ab552304bfa26c6 +EBUILD reposilite-2.9.1.ebuild 1084 BLAKE2B 49017ab2022c252dad1e575b9f26fd22d10072c91814a1277deaf143f5c311861f292ce97de1cf50c9b4110e34f2cb99edd6f97b78b9799099a34e3ecac2246a SHA512 ab780fb09ff19720cd42bca933ddf10d70a68633075000177ee80f90c8a0282d9d13a1d3745508c13ce819999444dba226e2ee24fcaf38564b24444f299ab651 +MISC ChangeLog 283 BLAKE2B 333f8ce11004162da39e91fee30bb35c4debf8c4a58b501988706bdb23e319cd1216ad8516e6ac2199dc2ba2c07c34ee9db38033546b878bbd74b92033b68183 SHA512 bc9b7bf1c759387d8fee63e33919e9eb912ed31b41b97256b9371950004f9174b2e7604a8a360a92d4b3827c47b99ed6d50e45095ea0fb2f9bebd8e339683b00 +MISC metadata.xml 248 BLAKE2B cb50cad2c614a99daa2e236f9e0d0fab1ab20a898c0b0f0c28a1387820ab1f2b9dd4d396a3b38f732b493824f96a29ee5894e80e09dbd08dff62c1aaba3feaa0 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 diff --git a/dev-util/reposilite/files/app.ini b/dev-util/reposilite/files/app.ini new file mode 100644 index 0000000..7506251 --- /dev/null +++ b/dev-util/reposilite/files/app.ini @@ -0,0 +1,17 @@ +# Reposilite docker configuration file. +# Required string value configures ports to publish for docker: space-separated +# list of : tuples. +DOCKER_PUBLISH="8080:80 8443:443" + +# Put any Java-specific configuration in the JAVA_OPTS environment +# variable, e.g. JAVA_OPTS='-Xmx64M'. +# For details and available config options, see +# https://reposilite.com/docs/docker +JAVA_OPTS='' + +# Do NOT remove or change the --config option; you may add more options, though. +# For available options, see https://reposilite.com/docs/install#properties +REPOSILITE_OPTS="--config=/app/reposilite-host.cdn" + +# Optional string value of extra args passed verbatim to the docker command. +DOCKER_DRONE_EXTRA_ARGS="" diff --git a/dev-util/reposilite/files/reposilite-2.9.1.cdn b/dev-util/reposilite/files/reposilite-2.9.1.cdn new file mode 100644 index 0000000..1c57dfd --- /dev/null +++ b/dev-util/reposilite/files/reposilite-2.9.1.cdn @@ -0,0 +1,56 @@ +# ~~~~~~~~~~~~~~~~~~~~~~ # +# Reposilite # +# ~~~~~~~~~~~~~~~~~~~~~~ # + +# Hostname +hostname: 0.0.0.0 +# Port to bind +port: 80 +# Custom base path +basePath: / +# Any kind of proxy services change real ip. +# The origin ip should be available in one of the headers. +# Nginx: X-Forwarded-For +# Cloudflare: CF-Connecting-IP +# Popular: X-Real-IP +forwardedIp: X-Forwarded-For +# Debug +debugEnabled: false + +# Control the maximum amount of data assigned to Reposilite instance +# Supported formats: 90%, 500MB, 10GB +diskQuota: 10GB +# List of supported Maven repositories. +# First directory on the list is the main (primary) repository. +# Tu mark repository as private, prefix its name with a dot, e.g. ".private" +repositories [ + releases + snapshots + .private +] +# Allow to omit name of the main repository in request +# e.g. /org/panda-lang/reposilite will be redirected to /releases/org/panda-lang/reposilite +rewritePathsEnabled: true + +# List of proxied repositories. +# Reposilite will search for an artifact in remote repositories listed below, +# if the requested artifact was not found. +proxied [ +] +# Reposilite can store proxied artifacts locally to reduce response time and improve stability +storeProxied: true + +# Accept deployment connections +deployEnabled: true +# List of management tokens used by dashboard to access extra options. +# (By default, people are allowed to use standard dashboard options related to the associated path) +managers [ + admin +] + +# Title displayed by frontend +title: #onlypanda +# Description displayed by frontend +description: Public Maven repository hosted through the Reposilite +# Accent color used by frontend +accentColor: #2fd4aa \ No newline at end of file diff --git a/dev-util/reposilite/files/reposilite.service b/dev-util/reposilite/files/reposilite.service new file mode 100644 index 0000000..789606a --- /dev/null +++ b/dev-util/reposilite/files/reposilite.service @@ -0,0 +1,24 @@ +[Unit] +Description=Reposilite Maven Repository hosting server +Documentation=https://reposilite.com/docs/about + +AssertPathIsDirectory=/var/lib/reposilite-data +AssertPathIsReadWrite=/var/lib/reposilite-data + +After=network.target +Requires=network.target + +[Service] +User=reposilite +Group=reposilite + +Environment="DOCKER_REPOSILITE_CONFIG_FILE=/etc/reposilite/app.ini" + +ExecStart=reposilite.sh +ExecStop=docker container stop reposilite +ExecStopPost=docker container rm reposilite + +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/dev-util/reposilite/files/reposilite.sh b/dev-util/reposilite/files/reposilite.sh new file mode 100755 index 0000000..d9aadd8 --- /dev/null +++ b/dev-util/reposilite/files/reposilite.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# $DOCKER_REPOSILITE_CONFIG_FILE contains path to the config file + +if [[ -z "${DOCKER_REPOSILITE_CONFIG_FILE}" ]] ; then + echo "DOCKER_REPOSILITE_CONFIG_FILE not set!" + exit 1 +fi + +. "${DOCKER_REPOSILITE_CONFIG_FILE}" + +docker_args="--environment=REPOSILITE_OPTS='${REPOSILITE_OPTS}'" +docker_args="${docker_args} --environment=JAVA_OPTS='${JAVA_OPTS}'" + +for p in ${DOCKER_PUBLISH} ; do + docker_args="${docker_args} --publish=${p}" +done + +docker_args="${docker_args} ${DOCKER_REPOSILITE_EXTRA_ARGS}" + +docker run \ + --mount type=bind,source=/etc/reposilite/reposilite.cdn,target=/app/reposilite-host.cdn + --volume=/var/lib/reposilite-data:/app/data \ + ${docker_args} \ + --restart=always \ + --detach=false \ + --name=reposilite \ + dzikoysk/reposilite: diff --git a/dev-util/reposilite/metadata.xml b/dev-util/reposilite/metadata.xml new file mode 100644 index 0000000..67a771c --- /dev/null +++ b/dev-util/reposilite/metadata.xml @@ -0,0 +1,8 @@ + + + + + manuel@fritteli.ch + Manuel Friedli + + diff --git a/dev-util/reposilite/reposilite-2.9.1.ebuild b/dev-util/reposilite/reposilite-2.9.1.ebuild new file mode 100644 index 0000000..0498513 --- /dev/null +++ b/dev-util/reposilite/reposilite-2.9.1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit systemd + +DESCRIPTION="Reposilite - Simple Maven Repository hosting" +HOMEPAGE="https://reposilite.com/" +#SRC_URI="" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +RESTRICT="mirror" +DEPEND="" +RDEPEND="acct-user/reposilite + app-emulation/docker +" + +S="${WORKDIR}" + +src_prepare() { + sed -e "s//${PV}/g" "${FILESDIR}/reposilite.sh" > "${T}/reposilite.sh" + + eapply_user +} + +src_install() { + exeinto /usr/bin + doexe "${T}/reposilite.sh" + + systemd_dounit "${FILESDIR}/${PN}.service" + + insinto "/etc/reposilite" + doins "${FILESDIR}/app.ini" + newins "${FILESDIR}/reposilite-2.9.1.cdn" "reposilite.cdn" + + fowners reposilite /etc/reposilite + fperms 0700 /etc/reposilite + fowners reposilite:reposilite /etc/reposilite/app.ini /etc/reposilite/reposilite.cdn + fperms 0600 /etc/reposilite/app.ini /etc/reposilite/reposilite.cdn + + keepdir /var/lib/reposilite-data + fowners reposilite:reposilite /var/lib/reposilite-data + fperms 0700 /var/lib/reposilite-data +}