diff --git a/0001-core-exclude-.slice-units-from-systemctl-isolate.patch b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch new file mode 100644 index 00000000..62717048 --- /dev/null +++ b/0001-core-exclude-.slice-units-from-systemctl-isolate.patch @@ -0,0 +1,54 @@ +From 1b4cd0cf11feb7d41f2eff17f86fa55b31bb6841 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 18 Feb 2016 22:51:23 +0100 +Subject: [PATCH] core: exclude .slice units from "systemctl isolate" + +Fixes: #1969 +--- + src/core/scope.c | 3 +-- + src/core/slice.c | 8 ++++++++ + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git src/core/scope.c src/core/scope.c +index c5d0ece..361695c 100644 +--- src/core/scope.c ++++ src/core/scope.c +@@ -50,8 +50,7 @@ static void scope_init(Unit *u) { + assert(u->load_state == UNIT_STUB); + + s->timeout_stop_usec = u->manager->default_timeout_stop_usec; +- +- UNIT(s)->ignore_on_isolate = true; ++ u->ignore_on_isolate = true; + } + + static void scope_done(Unit *u) { +diff --git src/core/slice.c src/core/slice.c +index d65364c..667f61b 100644 +--- src/core/slice.c ++++ src/core/slice.c +@@ -34,6 +34,13 @@ static const UnitActiveState state_translation_table[_SLICE_STATE_MAX] = { + [SLICE_ACTIVE] = UNIT_ACTIVE + }; + ++static void slice_init(Unit *u) { ++ assert(u); ++ assert(u->load_state == UNIT_STUB); ++ ++ u->ignore_on_isolate = true; ++} ++ + static void slice_set_state(Slice *t, SliceState state) { + SliceState old_state; + assert(t); +@@ -305,6 +312,7 @@ const UnitVTable slice_vtable = { + .no_instances = true, + .can_transient = true, + ++ .init = slice_init, + .load = slice_load, + + .coldplug = slice_coldplug, +-- +2.6.2 + diff --git a/systemd-mini.changes b/systemd-mini.changes index 3be3a5fe..85ab0ea5 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de + +- Add upstream patch + 0001-core-exclude-.slice-units-from-systemctl-isolate.patch + this fixes forced logouts on isolate target aka changing runlevel + (boo#966535) + ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 7b4a5e4c..04091633 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -248,6 +248,8 @@ Patch522: Correct_assert_on_unexpected_error_code.patch Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch # PATCH-FIX-UPSTREAM (bsc#956712) Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch +# PATCH-FIX-UPSTREAM (bsc#966535) +Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch # UDEV PATCHES # ============ @@ -588,6 +590,7 @@ cp %{SOURCE7} m4/ %patch522 -p1 %patch523 -p0 %patch524 -p1 +%patch525 -p0 # udev patches %patch1002 -p1 diff --git a/systemd.changes b/systemd.changes index 3be3a5fe..85ab0ea5 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Mar 1 09:16:08 UTC 2016 - werner@suse.de + +- Add upstream patch + 0001-core-exclude-.slice-units-from-systemctl-isolate.patch + this fixes forced logouts on isolate target aka changing runlevel + (boo#966535) + ------------------------------------------------------------------- Sat Jan 9 22:46:21 UTC 2016 - afaerber@suse.de diff --git a/systemd.spec b/systemd.spec index 52c9e1d6..37cb1be1 100644 --- a/systemd.spec +++ b/systemd.spec @@ -243,6 +243,8 @@ Patch522: Correct_assert_on_unexpected_error_code.patch Patch523: let-vconsole-setup-get-properties-only-once-to-copy-them.patch # PATCH-FIX-UPSTREAM (bsc#956712) Patch524: 0001-nss-mymachines-do-not-allow-overlong-machine-names.patch +# PATCH-FIX-UPSTREAM (bsc#966535) +Patch525: 0001-core-exclude-.slice-units-from-systemctl-isolate.patch # UDEV PATCHES # ============ @@ -583,6 +585,7 @@ cp %{SOURCE7} m4/ %patch522 -p1 %patch523 -p0 %patch524 -p1 +%patch525 -p0 # udev patches %patch1002 -p1