diff --git a/src/target.c b/src/target.c index c350d8fa195..1118693a390 100644 --- a/src/target.c +++ b/src/target.c @@ -75,7 +75,8 @@ static int target_add_default_dependencies(Target *t) { if ((r = unit_add_dependency(UNIT(t), UNIT_AFTER, other, true)) < 0) return r; - return 0; + /* Make sure targets are unloaded on shutdown */ + return unit_add_dependency_by_name(UNIT(t), UNIT_CONFLICTED_BY, SPECIAL_SHUTDOWN_TARGET, NULL, true); } static int target_add_getty_dependencies(Target *t) { diff --git a/units/halt.target b/units/halt.target index 70e90fedde6..04b42cd3d1d 100644 --- a/units/halt.target +++ b/units/halt.target @@ -9,6 +9,7 @@ [Unit] Description=Halt +DefaultDependencies=no Requires=halt.service After=halt.service AllowIsolate=yes diff --git a/units/poweroff.target b/units/poweroff.target index cb9460639f3..975b088965d 100644 --- a/units/poweroff.target +++ b/units/poweroff.target @@ -9,6 +9,7 @@ [Unit] Description=Power-Off +DefaultDependencies=no Names=runlevel0.target Requires=poweroff.service After=poweroff.service diff --git a/units/reboot.target b/units/reboot.target index 855751306d9..2cd46a062bf 100644 --- a/units/reboot.target +++ b/units/reboot.target @@ -9,6 +9,7 @@ [Unit] Description=Reboot +DefaultDependencies=no Names=runlevel6.target Requires=reboot.service After=reboot.service diff --git a/units/shutdown.target b/units/shutdown.target index 6d1fb6f10ff..4db9f1fbe56 100644 --- a/units/shutdown.target +++ b/units/shutdown.target @@ -9,5 +9,6 @@ [Unit] Description=Shutdown +DefaultDependencies=no RefuseManualStart=yes IgnoreDependencyFailure=yes