forked from DGNum/liminix
4795dd05b7
We call s6-rc -u -p default to restart/start the base services on a rebuild, otherwise services that are only in the new configuration won't come up. However, this stops any service started by a trigger. So, workaround is to restart the trigger service and expect it to restart the services it manages if they're needed
20 lines
725 B
Bash
20 lines
725 B
Bash
source $stdenv/setup
|
|
mkdir -p $out/${name}
|
|
echo $serviceType > $out/${name}/type
|
|
mkdir -p $out/${name}/dependencies.d
|
|
echo $buildInputs > $out/buildInputs
|
|
test -n "$dependencies" && for d in $dependencies; do
|
|
touch $out/${name}/dependencies.d/$d
|
|
done
|
|
test -n "$contents" && for d in $contents; do
|
|
mkdir -p $out/${name}/contents.d
|
|
touch $out/${name}/contents.d/$d
|
|
done
|
|
|
|
for i in timeout-up timeout-down run notification-fd up down consumer-for producer-for pipeline-name restart-on-upgrade; do
|
|
test -n "$(printenv $i)" && (echo "$(printenv $i)" > $out/${name}/$i)
|
|
done
|
|
|
|
( cd $out && ln -s /run/services/outputs/${name} ./.outputs )
|
|
for i in $out/${name}/{down,up,run} ; do test -f $i && chmod +x $i; done
|
|
true
|