From b615add75e4c1b7f3bc0c8c0a8f0a142e0da1197 Mon Sep 17 00:00:00 2001 From: Alex Denes Date: Fri, 9 Dec 2022 18:27:37 +0000 Subject: [PATCH] Add cleanup, fix daemonizing and mounts --- main/nnd-s6-services/APKBUILD | 4 ++-- main/nnd-s6-services/manage.sh | 4 ++-- main/nnd-s6-services/tmpl/libvirtd | 4 ++-- main/nnd-s6-services/tmpl/mount | 17 +++++++++-------- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/main/nnd-s6-services/APKBUILD b/main/nnd-s6-services/APKBUILD index f75591c..1e21d2c 100644 --- a/main/nnd-s6-services/APKBUILD +++ b/main/nnd-s6-services/APKBUILD @@ -3,8 +3,8 @@ . ../../APKBUILD.template pkgname=nnd-s6-services -pkgver=2.0 -pkgrel=15 +pkgver=2.1 +pkgrel=0 pkgdesc="Base services for s6" depends="s6-rc s6-portable-utils s6-linux-utils" builddir="$srcdir/" diff --git a/main/nnd-s6-services/manage.sh b/main/nnd-s6-services/manage.sh index 7839c8d..ba574b1 100755 --- a/main/nnd-s6-services/manage.sh +++ b/main/nnd-s6-services/manage.sh @@ -115,7 +115,7 @@ custom() { return "$?" fi - if [ -d "$target" ]; then + if ! [ -h "$target" ]; then error "$svc is already a custom instance" return "$?" fi @@ -166,7 +166,7 @@ if [ -z "$cmd" ]; then update || return "$?" else case "$cmd" in - generate|swap|update|dist|custom|default) eval "$cmd" $@ || return "$?";; + generate|swap|update|dist|custom|default|cleanup) eval "$cmd" $@ || return "$?";; *) error "Invalid command $cmd"; return 1;; esac fi diff --git a/main/nnd-s6-services/tmpl/libvirtd b/main/nnd-s6-services/tmpl/libvirtd index e54c8a3..65364d5 100755 --- a/main/nnd-s6-services/tmpl/libvirtd +++ b/main/nnd-s6-services/tmpl/libvirtd @@ -5,7 +5,7 @@ s6-envdir -I /etc/s6/env/path importas -D "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" PATH PATH s6-envdir -I /etc/s6/env/libvirt -importas -D "/etc/libvirt/virt${NAME}d" CONFIG DEFAULTCONFIG +importas -D "/etc/libvirt/virt${NAME}d.conf" CONFIG DEFAULTCONFIG s6-envdir -I /etc/s6/env/libvirt.${NAME} importas -D $DEFAULTCONFIG CONFIG CONFIG @@ -13,4 +13,4 @@ importas -D $DEFAULTCONFIG CONFIG CONFIG emptyenv export PATH $PATH -exec virt${NAME}d -f $CONFIG -d +exec virt${NAME}d -f $CONFIG diff --git a/main/nnd-s6-services/tmpl/mount b/main/nnd-s6-services/tmpl/mount index 3e47748..5adafc2 100755 --- a/main/nnd-s6-services/tmpl/mount +++ b/main/nnd-s6-services/tmpl/mount @@ -1,5 +1,5 @@ #!/bin/execlineb -W -importas -D "none" SRC SRC +importas -D "none" SRCPROVIDED SRC importas -i DEST DEST importas -i FSTYPE FSTYPE importas -D "defaults" OPTS OPTS @@ -12,10 +12,11 @@ export PATH $PATH foreground { mkdir -p $DEST } -if -nt { - foreground { - s6-mount -t $FSTYPE -o $OPTS $SRC $DEST - } -} importas -i status ? { - if -nt { test $status -eq 1 } exit $status -} +# Resolve LABEL and UUID +backtick -e -D $SRCPROVIDED SRC { findfs $SRCPROVIDED } + +ifelse { + redirfd -w 1 /dev/null findmnt -t $FSTYPE $DEST +} { + exec s6-mount -t $FSTYPE -o remount,${OPTS} $SRC $DEST +} exec s6-mount -t $FSTYPE -o $OPTS $SRC $DEST