Add check that only deploys if there is a new database

This commit is contained in:
Sander van der Burg 2021-01-26 20:51:01 +01:00 committed by Sander van der Burg
parent 600c0b14cf
commit 065c10e5da
3 changed files with 8 additions and 3 deletions

View File

@ -9,4 +9,5 @@ else if processManager == "cygrunsrv" then "cygrunsrv-service"
else if processManager == "launchd" then "launchd-daemon"
else if processManager == "disnix" then "process"
else if processManager == "docker" then "docker-container"
else if processManager == "s6-rc" then "s6-rc-service"
else throw "Unknown process manager: ${processManager}"

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation {
sed -e "s|/bin/bash|$SHELL|" \
-e "s|@getopt@|${getopt}/bin/getopt|" \
-e "s|@readlink@|$(type -p readlink)|" \
-e "s|@readlink@|$(type -p readlink)|g" \
-e "s|@commonchecks@|${../commonchecks}|" \
-e "s|@s6rcchecks@|${./s6-rc-checks}|" \
${./nixproc-s6-rc-deploy.in} > $out/bin/nixproc-s6-rc-deploy

View File

@ -127,8 +127,12 @@ fi
if [ -d "$liveDir" ]
then
s6-rc-update -l $liveDir $compileDir/$compiledDatabaseName
rm -rf $(@readlink@ -f $compileDir/compiled)
# Only update when the database to be deployed is different
if [ ! -e "$compileDir/compiled" ] || [ "$(@readlink@ -f $compileDir/$compiledDatabaseName)" != "$(@readlink@ -f $compileDir/compiled)" ]
then
s6-rc-update -l $liveDir $compileDir/$compiledDatabaseName
rm -rf $(@readlink@ -f $compileDir/compiled)
fi
else
s6-rc-init -c $compileDir/$compiledDatabaseName -l $liveDir $scanDir
fi