Revert "nixos/switch-to-configuration: Never stop system.slice"

This change was only a temporary workaround and isn't required anymore,
since /etc/systemd/system/system.slice should not be present on any
recent NixOS system (which makes this change a no-op).

This reverts commit 7098b0fcdf.
This commit is contained in:
Michael Weiss 2019-04-22 11:49:09 +02:00 committed by Frederik Rietdijk
parent 8c80a29a75
commit 698388bc61

View File

@ -166,24 +166,6 @@ 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") {
# Ignore (i.e. never stop) these units:
if ($unit eq "system.slice") {
# TODO: This can be removed a few months after 18.09 is out
# (i.e. after everyone switched away from 18.03).
# Problem: Restarting (stopping) system.slice would not only
# stop X11 but also most system units/services. We obviously
# don't want this happening to users when they switch from 18.03
# to 18.09 or nixos-unstable.
# Reason: The following change in systemd:
# https://github.com/systemd/systemd/commit/d8e5a9338278d6602a0c552f01f298771a384798
# The commit adds system.slice to the perpetual units, which
# means removing the unit file and adding it to the source code.
# This is done so that system.slice can't be stopped anymore but
# in our case it ironically would cause this script to stop
# system.slice because the unit was removed (and an older
# systemd version is still running).
next;
}
my $unitInfo = parseUnit($prevUnitFile);
$unitsToStop{$unit} = 1 if boolIsTrue($unitInfo->{'X-StopOnRemoval'} // "yes");
}