diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-08-07 05:25:59 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-08-07 05:37:23 +0200 |
commit | 80d9b426638563a6d8b6dc1604180cc60b4b2862 (patch) | |
tree | 64a8a4c19452de810fb347f5005a8c0d119c3817 /nixos/modules/system/activation/switch-to-configuration.pl | |
parent | 382b49e634227ad013f80a17cf394e94147330d0 (diff) | |
download | nixlib-80d9b426638563a6d8b6dc1604180cc60b4b2862.tar nixlib-80d9b426638563a6d8b6dc1604180cc60b4b2862.tar.gz nixlib-80d9b426638563a6d8b6dc1604180cc60b4b2862.tar.bz2 nixlib-80d9b426638563a6d8b6dc1604180cc60b4b2862.tar.lz nixlib-80d9b426638563a6d8b6dc1604180cc60b4b2862.tar.xz nixlib-80d9b426638563a6d8b6dc1604180cc60b4b2862.tar.zst nixlib-80d9b426638563a6d8b6dc1604180cc60b4b2862.zip |
Allow units to specify that they shouldn't be stopped when removed
Diffstat (limited to 'nixos/modules/system/activation/switch-to-configuration.pl')
-rw-r--r-- | nixos/modules/system/activation/switch-to-configuration.pl | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index 4289740322ad..655fbab2a843 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -97,7 +97,7 @@ sub parseFstab { sub parseUnit { my ($filename) = @_; my $info = {}; - parseKeyValues($info, read_file($filename)); + parseKeyValues($info, read_file($filename)) if -f $filename; parseKeyValues($info, read_file("${filename}.d/overrides.conf")) if -f "${filename}.d/overrides.conf"; return $info; } @@ -157,7 +157,8 @@ while (my ($unit, $state) = each %{$activePrev}) { if (-e $prevUnitFile && ($state->{state} eq "active" || $state->{state} eq "activating")) { if (! -e $newUnitFile || abs_path($newUnitFile) eq "/dev/null") { - $unitsToStop{$unit} = 1; + my $unitInfo = parseUnit($prevUnitFile); + $unitsToStop{$unit} = 1 if boolIsTrue($unitInfo->{'X-StopOnRemoval'} // "yes"); } elsif ($unit =~ /\.target$/) { |