commit 1bb4e2e8bba3c1c41bc029fb3a1fa3299336d636
Author: Linux User <leah@foo-nuc.localdomain>
Date: Sun, 15 Nov 2020 17:32:23 +0100
Author: Linux User <leah@foo-nuc.localdomain>
Date: Sun, 15 Nov 2020 17:32:23 +0100
init
17 files changed, 542 insertions(+), 0 deletions(-)
A
|
170
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
diff --git a/chartsrv/APKBUILD b/chartsrv/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: +# Maintainer: +pkgname=chartsrv +pkgver=0.0.1 +pkgrel=0 +pkgdesc="Daemon which renders SVG plots from Prometheus data" +url="https://git.sr.ht/~sircmpwn/chartsrv" +arch="all" +license="MIT" +depends="" +makedepends="go" +install="$pkgname.pre-install" +subpackages="" +source="$pkgname.tar.gz::https://git.sr.ht/~sircmpwn/chartsrv/archive/master.tar.gz + $pkgname.initd + $pkgname.confd" +builddir="$srcdir/$pkgname-master/" + +build() { + cd $builddir + go build -o chartsrv main.go +} + +check() { + : +} + +package() { + install -Dm755 "$builddir"/$pkgname "$pkgdir"/usr/bin/$pkgname + install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname +} + +sha512sums="afaf5b6d49cf7df9c771b7da671c2b783b8b2b0c8ad10c59fc722b3835a33a60a5a4f58c246b8935a7fcafbfcba7b37b04354eb66118f4a384aba1635e9eb1b0 chartsrv.tar.gz +eaa40ace4ca554d015939da4a2fce8c12260d5a4d6741494766bbfc59ba3ccbd2acccfe1097ff4ac07f116758ba3ddd9899960572196513ea4641706cd45608c chartsrv.initd +81d514b4f3773d4a28808cd72f32a8a080be388086919e718bff9128b40c2e491973e9d6cc2d94f2b45a64966cbdcc92a3945556b31904937c443f73a2e1a347 chartsrv.confd"
diff --git a/chartsrv/chartsrv.confd b/chartsrv/chartsrv.confd @@ -0,0 +1,3 @@ +# Configuration for /etc/init.d/chartsrv + +chartsrv_opts=""
diff --git a/chartsrv/chartsrv.initd b/chartsrv/chartsrv.initd @@ -0,0 +1,15 @@ +#!/sbin/openrc-run +supervisor=supervise-daemon + +name="chartsrv" +description="Daemon which renders SVG plots from Prometheus data" + +command="/usr/bin/chartsrv" +command_args="$chartsrv_opts" +command_user=chartsrv:chartsrv +directory="/var/lib/$RC_SVCNAME" + +depend() { + need net localmount + after firewall +}
diff --git a/chartsrv/chartsrv.pre-install b/chartsrv/chartsrv.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S chartsrv 2>/dev/null +adduser -S -D -h /var/lib/chartsrv -s /sbin/nologin -G chartsrv -g chartsrv chartsrv 2>/dev/null + +exit 0
diff --git a/ctucx-gallery/APKBUILD b/ctucx-gallery/APKBUILD @@ -0,0 +1,29 @@ +# Contributor: +# Maintainer: +pkgname=gallery +pkgver=0.0.2 +pkgrel=3 +pkgdesc="gallery-generator written in nimlang, used for bahnbilder.ctu.cx" +url="https://cgit.ctu.cx/gallery" +arch="all" +license="MIT" +depends="imagemagick" +makedepends="nim nimble" +subpackages="" +source="$pkgname-v0.2.tar.gz::https://cgit.ctu.cx/gallery/snapshot/gallery-7b81345c36eae7c46693681018a171e0faaa353b.tar.gz" +builddir="$srcdir/$pkgname-7b81345c36eae7c46693681018a171e0faaa353b/" + +build() { + cd $builddir + nimble -y -d:release build +} + +check() { + : +} + +package() { + install -Dm755 $builddir/$pkgname $pkgdir/usr/bin/ctucx-$pkgname + install -Dm755 $builddir/sample.config $pkgdir/etc/ctucx-$pkgname.conf +} +sha512sums="424594d9e31e96733168c0b7cd4a5bd88eaae99a4e6ea0b29a4a96419aece631a880b8ec62fe786c171bd6bbfda13362b53a487171b17de0beea09ce6cc2fe8a gallery-v0.2.tar.gz"
diff --git a/fritzbox-exporter/APKBUILD b/fritzbox-exporter/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: +# Maintainer: +pkgname=fritzbox-exporter +pkgver=0.0.1 +pkgrel=4 +pkgdesc="prometheus exporter for lte fritzboxes" +url="https://cgit.ctu.cx/fritzbox-exporter" +arch="all" +license="MIT" +depends="" +makedepends="nim" +install="$pkgname.pre-install" +subpackages="" +source="fritzbox-exporter.tar.gz::https://cgit.ctu.cx/fritzbox-exporter/snapshot/fritzbox-exporter-master.tar.gz + fritzbox-exporter.confd + fritzbox-exporter.initd" +builddir="$srcdir/fritzbox-exporter-master/" + +build() { + cd $builddir + nim c -d:release --nimcache:$PWD src/fb_exporter.nim +} + +check() { + : +} + +package() { + install -Dm755 src/fb_exporter $pkgdir/usr/bin/fb_exporter + install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname +} + +sha512sums="ad9e2ce87792e5de4a7201d7fd68ec92d7e6574aea9e2ce78d75069865ef6570c4c5f62d340fc3b5389ee44e6321d1eb015a5c1148e230518a4c89c952880049 fritzbox-exporter.tar.gz +051e44ab6e0680518db6b0de443b8dde852da7ce6818d95608fde77044308b35e8cfab5a58b9f2a264893b25b8add70365fb5aee3a565fe8d2223539e8743ae1 fritzbox-exporter.confd +59720844ebb7658bbb06d4dad69b265c4c917e27c7631e2081d618b6086d178a999055fcef76ca333fdc8b475618d65ef9b998bce702254d101892ebefada02b fritzbox-exporter.initd"
diff --git a/fritzbox-exporter/fritzbox-exporter.confd b/fritzbox-exporter/fritzbox-exporter.confd @@ -0,0 +1,3 @@ +# Configuration for /etc/init.d/maddy + +fritzboxexporter_opts=""
diff --git a/fritzbox-exporter/fritzbox-exporter.initd b/fritzbox-exporter/fritzbox-exporter.initd @@ -0,0 +1,14 @@ +#!/sbin/openrc-run +supervisor=supervise-daemon + +name="fritzbox-exporter" +description="prometheus exporter for lte fritzboxes" + +command=/usr/bin/fb_exporter +command_args="$fritzboxexporter_opts" +command_user=fb-exporter:fb-exporter + +depend() { + need net localmount + after firewall +}
diff --git a/fritzbox-exporter/fritzbox-exporter.pre-install b/fritzbox-exporter/fritzbox-exporter.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S fb-exporter 2>/dev/null +adduser -S -D -h /var/lib/fb-exporter -s /sbin/nologin -G fb-exporter -g fb-exporter fb-exporter 2>/dev/null + +exit 0
diff --git a/nim/APKBUILD b/nim/APKBUILD @@ -0,0 +1,109 @@ +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Maintainer: Jakub Jirutka <jakub@jirutka.cz> +# +# WARNING: There may be breakages! +pkgname=nim +pkgver=1.2.6 +pkgrel=1 +pkgdesc="Imperative, multi-paradigm, compiled programming language" +url="https://nim-lang.org/" +arch="all !s390x" +license="MIT" +checkdepends="nodejs" +subpackages="$pkgname-doc nimsuggest niminst" +depends="" # used by nims compiler +source="$pkgname-$pkgver.tar.gz::https://github.com/nim-lang/Nim/archive/v$pkgver.tar.gz + $pkgname-csources-0.20.0.tar.gz::https://github.com/nim-lang/csources/archive/v0.20.0.tar.gz" +builddir="$srcdir/Nim-$pkgver" + +# Don't run tests on armhf, it'd take eternity... +# Can't run tests on mips, no nodejs... +case "$CARCH" in + armhf) options="!check";; + mips*) options="!check";; +esac + +prepare() { + mv "$srcdir"/csources-0.20.0 "$builddir"/csources + default_prepare +} + +build() { + cd "$builddir"/csources + + msg2 "Building nim csources..." + ./build.sh + + cd .. + + msg2 "Building koch..." + ./bin/nim compile -d:release koch + + msg2 "Building nim..." + ./koch boot -d:release -d:useGnuReadline + + msg2 "Building libs" + (cd lib + ../bin/nim c --app:lib -d:createNimRtl -d:release nimrtl.nim + ) + + msg2 "Building tools" + ./koch toolsNoExternal + (cd tools + ../bin/nim c -d:release nimgrep.nim + ) + + msg2 "Building nimsuggest..." + ./bin/nim compile -d:release nimsuggest/nimsuggest.nim +} + + +check() { + cd "$builddir" + # XXX: Some tests fail! + ./koch tests --pedantic --targets="c js" all || true +} + +package() { + export PATH="$builddir/bin:${PATH}" + + ./koch install "$pkgdir" + + install -d "$pkgdir/usr/lib" + + cp -a lib "$pkgdir/usr/lib/nim" + cp -a compiler "$pkgdir/usr/lib/nim" + + install -Dm 644 compiler.nimble "$pkgdir/usr/lib/nim/compiler" + install -m 755 lib/libnimrtl.so "$pkgdir/usr/lib/libnimrtl.so" + + ln -s /usr/share/nim/doc "$pkgdir/usr/lib/nim/doc" + + install -Dm 644 config/* -t "$pkgdir/etc/nim" + install -Dm 755 bin/* -t "$pkgdir/usr/bin" + + mkdir -p "$pkgdir/usr/include" + cp -a "$pkgdir/usr/lib/nim/"*.h "$pkgdir/usr/include" + + install -d "$pkgdir/usr/share/nim/doc" + cp -a examples doc/* "$pkgdir/usr/share/nim/doc" + + install -Dm 644 copying.txt -t "$pkgdir"/usr/share/licenses/$pkgname/COPYING +} + +nimsuggest() { + pkgdesc="idetools for the nim language" + + install -D -m 755 "$builddir"/nimsuggest/nimsuggest \ + "$subpkgdir"/usr/bin/nimsuggest +} + +niminst() { + pkgdesc="A tool to generate an installer for a Nim program" + + install -D -m 755 "$builddir"/tools/niminst/niminst \ + "$subpkgdir"/usr/bin/niminst +} + +sha512sums="67f5dc039655218692f6d178fad5ef903c1cf12f92bd0c181a6d8c1ec8882f2aaf2de5da92f89b4f8665645a9d7bb1304e7a8c6ba866816d030ce5d1a0a66cf7 nim-1.2.6.tar.gz +4da00678cb92cfd3b2425e4698cbbef8111c711f9457ba969367638437b5fad7928ca0a91fd24f53dcd9d341cfc420e87ec85d245767531bc57ccafd6feba258 nim-csources-0.20.0.tar.gz"
diff --git a/nim/nim-config-enable-ucontext.patch b/nim/nim-config-enable-ucontext.patch @@ -0,0 +1,11 @@ +diff -ruN a/config/nim.cfg b/config/nim.cfg +--- a/config/nim.cfg 2018-02-15 00:45:38.251038499 +0100 ++++ b/config/nim.cfg 2018-02-15 00:46:48.937858896 +0100 +@@ -231,3 +231,7 @@ + + # Configuration for the Tiny C Compiler: + tcc.options.always = "-w" ++ ++# Enable libucontext ++gcc.options.linker %= "-lucontext" ++llvm_gcc.options.linker %= "-lucontext"
diff --git a/nim/nim-config-fix-paths.patch b/nim/nim-config-fix-paths.patch @@ -0,0 +1,15 @@ +From: Jakub Jirutka <jakub@jirutka.cz> +Date: Tue, 23 Aug 2017 22:57:00 +0200 +Subject: [PATCH] Fix default nimblepath in nim.cfg + +--- a/config/nim.cfg ++++ b/config/nim.cfg +@@ -41,7 +41,7 @@ + @if nimbabel: + nimblepath="$home/.nimble/pkgs/" + @if not windows: +- nimblepath="/opt/nimble/pkgs/" ++ nimblepath="/usr/share/nimble/pkgs/" + @else: + # TODO: + @end
diff --git a/nim/niminst-fix-paths.patch b/nim/niminst-fix-paths.patch @@ -0,0 +1,170 @@ +From: Jakub Jirutka <jakub@jirutka.cz> +Date: Tue, 23 Aug 2017 22:57:00 +0200 +Subject: [PATCH] Patch niminst's (de)install to be usable for distributions + +* Add support for DESTDIR variable (staged installs). +* Change paths to be FHS/Alpine compliant. +* Use "install" command instead of mkdir/cp/chmod. + ++++ b/tools/niminst/install.tmpl +--- a/tools/niminst/install.tmpl +@@ -5,6 +5,8 @@ + + set -e + ++: ${DESTDIR:=} ++ + if [ $# -eq 1 ] ; then + # if c.cat[fcUnixBin].len > 0: + if test -f ?{c.cat[fcUnixBin][0].toUnix} +@@ -26,43 +28,47 @@ + echo " <some other dir> (treated similar to '/opt')" + echo "To deinstall, use the command:" + echo "sh deinstall.sh DIR" ++ echo "" ++ echo "You may also use environment variable DESTDIR for staged installs" ++ echo "(DESTDIR is prepended to each install target file). Note that this" ++ echo "is added by Alpine Linux, it's not supported by standard niminst." + exit 1 + ;; + "/usr/bin") +- bindir=/usr/bin +- configdir=/etc +- libdir=/usr/lib/?proj +- docdir=/usr/share/?proj/doc +- datadir=/usr/share/?proj/data +- nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version" ++ bindir="$DESTDIR/usr/bin" ++ configdir="$DESTDIR/etc" ++ libdir="$DESTDIR/usr/lib/?proj" ++ docdir="$DESTDIR/usr/share/doc/?proj" ++ datadir="$DESTDIR/usr/share/?proj/data" ++ nimbleDir="$DESTDIR/usr/share/nimble/pkgs/?c.nimblePkgName-?c.version" + ;; + "/usr/local/bin") +- bindir=/usr/local/bin +- configdir=/etc +- libdir=/usr/local/lib/?proj +- docdir=/usr/local/share/?proj/doc +- datadir=/usr/local/share/?proj/data +- nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version" ++ bindir="$DESTDIR/usr/local/bin" ++ configdir="$DESTDIR/etc" ++ libdir="$DESTDIR/usr/local/lib/?proj" ++ docdir="$DESTDIR/usr/local/share/doc/?proj" ++ datadir="$DESTDIR/usr/local/share/?proj/data" ++ nimbleDir="$DESTDIR/usr/local/share/nimble/pkgs/?c.nimblePkgName-?c.version" + ;; + "/opt") +- bindir="/opt/?proj/bin" +- configdir="/opt/?proj/config" +- libdir="/opt/?proj/lib" +- docdir="/opt/?proj/doc" +- datadir="/opt/?proj/data" +- nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version" +- mkdir -p /opt/?proj ++ bindir="$DESTDIR/opt/?proj/bin" ++ configdir="$DESTDIR/opt/?proj/config" ++ libdir="$DESTDIR/opt/?proj/lib" ++ docdir="$DESTDIR/opt/?proj/doc" ++ datadir="$DESTDIR/opt/?proj/data" ++ nimbleDir="$DESTDIR/opt/nimble/pkgs/?c.nimblePkgName-?c.version" ++ mkdir -p $DESTDIR/opt/?proj + mkdir -p $bindir + mkdir -p $configdir + ;; + *) +- bindir="$1/?proj/bin" +- configdir="$1/?proj/config" +- libdir="$1/?proj/lib" +- docdir="$1/?proj/doc" +- datadir="$1/?proj/data" +- nimbleDir="$1/?proj" +- mkdir -p $1/?proj ++ bindir="$DESTDIR$1/?proj/bin" ++ configdir="$DESTDIR$1/?proj/config" ++ libdir="$DESTDIR$1/?proj/lib" ++ docdir="$DESTDIR$1/?proj/doc" ++ datadir="$DESTDIR$1/?proj/data" ++ nimbleDir="$DESTDIR$1/?proj" ++ mkdir -p $DESTDIR$1/?proj + mkdir -p $bindir + mkdir -p $configdir + ;; +@@ -89,35 +95,28 @@ + #end for + + #for f in items(c.cat[fcUnixBin]): +- cp ?f.toUnix $bindir/?f.skipRoot.toUnix +- chmod 755 $bindir/?f.skipRoot.toUnix ++ install -D -m 755 ?f.toUnix $bindir/?f.skipRoot.toUnix + #end for + #for f in items(c.cat[fcConfig]): +- cp ?f.toUnix $configdir/?f.skipRoot.toUnix +- chmod 644 $configdir/?f.skipRoot.toUnix ++ install -D -m 755 ?f.toUnix $configdir/?f.skipRoot.toUnix + #end for + #for f in items(c.cat[fcData]): + if [ -f ?f.toUnix ]; then +- cp ?f.toUnix $datadir/?f.skipRoot.toUnix +- chmod 644 $datadir/?f.skipRoot.toUnix ++ install -D -m 644 ?f.toUnix $datadir/?f.skipRoot.toUnix + fi + #end for + #for f in items(c.cat[fcDoc]): + if [ -f ?f.toUnix ]; then +- cp ?f.toUnix $docdir/?f.skipRoot.toUnix +- chmod 644 $docdir/?f.skipRoot.toUnix ++ install -D -m 644 ?f.toUnix $docdir/?f.skipRoot.toUnix + fi + #end for + #for f in items(c.cat[fcLib]): +- cp ?f.toUnix $libdir/?f.skipRoot.toUnix +- chmod 644 $libdir/?f.skipRoot.toUnix ++ install -D -m 644 ?f.toUnix $libdir/?f.skipRoot.toUnix + #end for + #for f in items(c.cat[fcNimble]): +- cp ?f.toUnix $nimbleDir/?f.toUnix +- chmod 644 $nimbleDir/?f.toUnix ++ install -D -m 644 ?f.toUnix $nimbleDir/?f.toUnix + #end for +-cp ?{c.nimblePkgName}.nimble $nimbleDir/?{c.nimblePkgName}.nimble +-chmod 644 $nimbleDir/?{c.nimblePkgName}.nimble ++install -D -m 644 ?{c.nimblePkgName}.nimble $nimbleDir/?{c.nimblePkgName}.nimble + + echo "installation successful" + else +@@ -130,5 +129,9 @@ + echo " <some other dir> (treated similar to '/opt')" + echo "To deinstall, use the command:" + echo "sh deinstall.sh DIR" ++ echo "" ++ echo "You may also use environment variable DESTDIR for staged installs" ++ echo "(DESTDIR is prepended to each install target file). Note that this" ++ echo "is added by Alpine Linux, it's not supported by standard niminst." + exit 1 + fi +--- a/tools/niminst/deinstall.tmpl ++++ b/tools/niminst/deinstall.tmpl +@@ -19,17 +19,17 @@ + bindir=/usr/bin + configdir=/etc + libdir=/usr/lib/?proj +- docdir=/usr/share/?proj/doc ++ docdir=/usr/share/doc/?proj + datadir=/usr/share/?proj/data +- nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version" ++ nimbleDir="/usr/share/nimble/pkgs/?c.nimblePkgName-?c.version" + ;; + "/usr/local/bin") + bindir=/usr/local/bin + configdir=/etc + libdir=/usr/local/lib/?proj +- docdir=/usr/local/share/?proj/doc ++ docdir=/usr/local/share/doc/?proj + datadir=/usr/local/share/?proj/data +- nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version" ++ nimbleDir="/usr/share/nimble/pkgs/?c.nimblePkgName-?c.version" + ;; + "/opt") + bindir="/opt/?proj/bin"
diff --git a/nimble/APKBUILD b/nimble/APKBUILD @@ -0,0 +1,28 @@ +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Maintainer: Jakub Jirutka <jakub@jirutka.cz> +pkgname=nimble +pkgver=0.11.4 +pkgrel=0 +pkgdesc="Package manager for the Nim programming language" +url="https://github.com/nim-lang/nimble" +arch="all !s390x" +license="BSD-3-Clause" +depends="nim" +source="$pkgname-$pkgver.tar.gz::https://github.com/nim-lang/$pkgname/archive/v$pkgver.tar.gz" +builddir="$srcdir/$pkgname-$pkgver" + +build() { + cd "$builddir" + nim compile -d:release src/nimble +} + +package() { + cd "$builddir" + install -D -m 755 src/nimble "$pkgdir"/usr/bin/nimble + + mkdir -p ${pkgdir}/usr/share/nimble + cp -a src/nimblepkg "${pkgdir}/usr/share/${pkgname}" + ln -s ${pkgdir}/usr/share/${pkgname} "${pkgdir}/usr/bin/nimblepkg" +} + +sha512sums="d36e72c7e4c2ef57d51f086b91bf093c6d96e43989a26c30453566889325f209995abfe00449731eacd59ec3d6ab0e6c591413e5356fa8ad6c91d8aa7d330aaa nimble-0.11.4.tar.gz"
diff --git a/oeffisearch/APKBUILD b/oeffisearch/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: +# Maintainer: +pkgname=oeffisearch +pkgver=0.0.1 +pkgrel=9 +pkgdesc="fast and simple tripplanner for the web" +url="https://cgit.ctu.cx/fritzbox-exporter" +arch="all" +license="MIT" +depends="openssl" +makedepends="nim" +install="$pkgname.pre-install" +subpackages="" +source="$pkgname.tar.gz::https://cgit.ctu.cx/oeffisearch/snapshot/oeffisearch-master.tar.gz + $pkgname.initd" +builddir="$srcdir/$pkgname-master/" + +build() { + cd $builddir + nim c -d:release --nimcache:$PWD src/oeffisearch.nim +} + +check() { + : +} + +package() { + install -Dm755 src/$pkgname $pkgdir/usr/bin/$pkgname + install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + mkdir -p $pkgdir/usr/share + cp -r client $pkgdir/usr/share/oeffisearch +} + +sha512sums="d4a3b3243f6de3d9afe301459b2ca4b8c6392e35608fee9511657327f5bb67a17f8708b3f1f4c8c35fb157b01a9a6a1fd1ed9f3e61aec12cc23e6eeb63c6ebc0 oeffisearch.tar.gz +65dd12c9edb74505a9b9b48ddc91da6a62372d81b6729cd38984bcc39935a34caa790cfdfb2e56a1bee19daa57a76c979ee4e675702d881fa30c20d40579a3ef oeffisearch.initd"
diff --git a/oeffisearch/oeffisearch.initd b/oeffisearch/oeffisearch.initd @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +supervisor=supervise-daemon + +name="oeffisearch" +description="fast and simple tripplanner for the web" + +PORT=8081 +CACHE_PATH=/var/lib/oeffisearch + +export PORT +export CACHE_PATH + +command="/usr/bin/oeffisearch" +command_user=oeffisearch:oeffisearch +directory="/var/lib/$RC_SVCNAME" + +depend() { + need net localmount + after firewall +}
diff --git a/oeffisearch/oeffisearch.pre-install b/oeffisearch/oeffisearch.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S oeffisearch 2>/dev/null +adduser -S -D -h /var/lib/oeffisearch -s /sbin/nologin -G oeffisearch -g oeffisearch oeffisearch 2>/dev/null + +exit 0