#!/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