From f5c219983c0f60a07f1bd52b6f6071e86f35455e Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Mon, 25 Sep 2023 11:56:34 +0200 Subject: add os config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert Günzler --- os/etc/s6-rc/reload | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 os/etc/s6-rc/reload (limited to 'os/etc/s6-rc/reload') diff --git a/os/etc/s6-rc/reload b/os/etc/s6-rc/reload new file mode 100755 index 0000000..16f288d --- /dev/null +++ b/os/etc/s6-rc/reload @@ -0,0 +1,34 @@ +#!/bin/sh +[ -n "$DEBUG" ] && set -x +set -eu + +. /lib/gentoo/functions.sh + +old=$(find /etc/s6-rc/ -maxdepth 1 -name '_[0-9]*' -print) + +if [ "$UID" -ne 0 ]; then + EERROR_QUIET=0 EINFO_LOG=0 eerror "need to be root" + exit 1 +fi + +name=_$(date +%s) +ebegin "compile new db" +s6-rc-compile /etc/s6-rc/"$name" /etc/s6-rc/src +eend + +# refresh active s6-rc tree +if s6-rc -a list >/dev/null 2>&1; then + ebegin "update current db" + s6-rc-update -v2 /etc/s6-rc/"$name" + eend +fi + +ebegin "swap current db" +# make atomic +ln -sf /etc/s6-rc/$name /tmp/compiled +mv -f /tmp/compiled /etc/s6-rc/ +eend + +ebegin "cleanup old db" +rm -r $old >/dev/null 2>&1 +eend -- cgit 1.4.1