aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Leclerc2023-02-03 11:01:04 +0100
committerCharles Leclerc2023-02-03 11:01:04 +0100
commitb258e7e84adc1055db01d1f2865dc0e9ad3f7b8a (patch)
tree332b56e5be79d2daf3ccc664e1e29fe5392f1743
parent3445959284a7675822e83fe8c881f54d65cb63d6 (diff)
downloadaur-b258e7e84adc1055db01d1f2865dc0e9ad3f7b8a.tar.gz
Added wrapper script + moved configuration to /etc
-rw-r--r--PKGBUILD19
-rw-r--r--reposilite.env14
-rw-r--r--reposilite.service2
-rw-r--r--reposilite.wrapper26
4 files changed, 55 insertions, 6 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 20d9a19e8b38..5e5cef171b06 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,21 +3,27 @@
pkgname=reposilite
pkgver=3.3.0
-pkgrel=2
+pkgrel=3
pkgdesc="Reposilite (formerly NanoMaven) - lightweight repository manager for Maven artifacts. It is a simple solution to replace managers like Nexus, Archiva or Artifactory."
arch=(any)
url="https://github.com/dzikoysk/$pkgname"
license=('Apache')
-depends=('java-runtime')
+depends=('jre11-openjdk-headless')
makedepends=('jdk11-openjdk' 'nodejs' 'npm')
source=("$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz"
"$pkgname.service"
"$pkgname.sysusers"
- "$pkgname.tmpfiles")
+ "$pkgname.tmpfiles"
+ "$pkgname.env"
+ "$pkgname.wrapper")
sha256sums=('79e2cf65a507c33216b11358ec746459331c8157d4089606021f2ed51e66f29c'
- 'a90d98915a867ae8b2569d124d0f625908e490284d26005cd47c041c75ef3db4'
+ '1e543e7ef39d64ae683156aaa6aad8f164f30de999d15717416410e1750b9a8e'
'92ccfeff429aa4757ef353677dd99ad7aebe7483d4824706a27250e81efd6323'
- '9587fa49dd66d5f31dee33aa1a9da269a34666b63f62e2550a66c3bc1d397aa7')
+ '9587fa49dd66d5f31dee33aa1a9da269a34666b63f62e2550a66c3bc1d397aa7'
+ '7affcf3ef54c9c05326281c3496a8744221be312675fd7d4ab17fd50eb320521'
+ 'f36b16f87dd0cee15d0ec5c11ba28596f4c09df5cf2739f2dce4398737337d3c')
+backup=('etc/reposilite/configuration.cdn'
+ 'etc/reposilite/wrapper.env')
build() {
cd "$pkgname-$pkgver"
@@ -31,4 +37,7 @@ package() {
install -Dm 644 $pkgname.sysusers "${pkgdir}/usr/lib/sysusers.d/$pkgname.conf"
install -Dm 644 $pkgname.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/$pkgname.conf"
install -Dm 644 $pkgname-$pkgver/reposilite-backend/build/libs/$pkgname-$pkgver.jar "$pkgdir/usr/share/java/$pkgname/$pkgname.jar"
+ install -Dm 644 $pkgname.env "${pkgdir}/etc/reposilite/wrapper.env"
+ /usr/lib/jvm/java-11-openjdk/bin/java -jar "$pkgdir/usr/share/java/$pkgname/$pkgname.jar" -wd "${pkgdir}/etc/reposilite" -gc configuration.cdn
+ install -Dm 755 $pkgname.wrapper "${pkgdir}/usr/bin/reposilite"
}
diff --git a/reposilite.env b/reposilite.env
new file mode 100644
index 000000000000..2fd1c5eb446c
--- /dev/null
+++ b/reposilite.env
@@ -0,0 +1,14 @@
+# Settings for the reposilite daemon
+# uncomment to change default values
+
+# Allocated memory (see Xmx parameter in java(1))
+#REPOSILITE_MEM=64m
+
+# Running user
+#REPOSILITE_USER=reposilite
+
+# Working directory where shared configuration and repositories are stored
+#REPOSILITE_WORKING_DIR=/var/lib/reposilite
+
+# Local configuration file
+#REPOSILITE_LOCAL_CONF=/etc/reposilite/reposilite.cdn
diff --git a/reposilite.service b/reposilite.service
index 5349de1d3db2..806e57db7234 100644
--- a/reposilite.service
+++ b/reposilite.service
@@ -4,7 +4,7 @@ Description=Repository manager service
[Service]
Type=simple
User=reposilite
-ExecStart=/usr/bin/java -jar /usr/share/java/reposilite/reposilite.jar -wd /var/lib/reposilite
+ExecStart=/usr/bin/reposilite
SuccessExitStatus=143
[Install]
diff --git a/reposilite.wrapper b/reposilite.wrapper
new file mode 100644
index 000000000000..5772992e9cc9
--- /dev/null
+++ b/reposilite.wrapper
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+_ENV=${REPOSILITE_ENV:-/etc/reposilite/wrapper.env}
+
+if [ -e $_ENV ] ; then
+ . $_ENV
+fi
+
+_RUN_USER=${REPOSILITE_USER:-reposilite}
+_RUN_UID=`id -u $_RUN_USER`
+
+if [ "$EUID" -eq "$_RUN_UID" ] ; then
+ exec /usr/lib/jvm/java-11-openjdk/bin/java -Xmx${REPOSILITE_MEM:-64m} \
+ -jar /usr/share/java/reposilite/reposilite.jar \
+ -wd ${REPOSILITE_WORKING_DIR:-/var/lib/reposilite} \
+ -lc ${REPOSILITE_LOCAL_CONF:-/etc/reposilite/reposilite.cdn}
+elif [ "$EUID" -ne 0 ]; then
+ echo "Please run as root"
+ exit 1
+else
+ exec runuser -u $_RUN_USER -- \
+ /usr/lib/jvm/java-11-openjdk/bin/java -Xmx${REPOSILITE_MEM:-64m} \
+ -jar /usr/share/java/reposilite/reposilite.jar \
+ -wd ${REPOSILITE_WORKING_DIR:-/var/lib/reposilite} \
+ -lc ${REPOSILITE_LOCAL_CONF:-/etc/reposilite/reposilite.cdn}
+fi