diff -Nru plymouth-0.9.3/debian/changelog plymouth-0.9.3/debian/changelog --- plymouth-0.9.3/debian/changelog 2018-04-13 00:07:36.000000000 +0000 +++ plymouth-0.9.3/debian/changelog 2018-09-11 22:56:37.000000000 +0000 @@ -1,3 +1,10 @@ +plymouth (0.9.3-1ubuntu8) cosmic; urgency=medium + + * debian/patches/git_ensure_tty_closed_0a662723.patch: ensure tty is closed + on deactivate. (LP: #1767918) + + -- Mathieu Trudel-Lapierre Tue, 11 Sep 2018 18:56:37 -0400 + plymouth (0.9.3-1ubuntu7) bionic; urgency=medium * debian/patches/misc-changes.patch: Drop call to stop_animation as it would diff -Nru plymouth-0.9.3/debian/patches/git_ensure_tty_closed_0a662723.patch plymouth-0.9.3/debian/patches/git_ensure_tty_closed_0a662723.patch --- plymouth-0.9.3/debian/patches/git_ensure_tty_closed_0a662723.patch 1970-01-01 00:00:00.000000000 +0000 +++ plymouth-0.9.3/debian/patches/git_ensure_tty_closed_0a662723.patch 2018-09-11 22:55:47.000000000 +0000 @@ -0,0 +1,67 @@ +From 28ee4012c94b4045b97e5a2a66f66b7688b2dff3 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Sat, 25 Aug 2018 12:21:45 -0400 +Subject: [PATCH] main: ensure tty is closed on deactivate + +If plymouth doesn't get explicitly "activated" then when +GDM tries to deactivate it, the deactivation request is +a noop. + +One aspect of being active, though is having ownership and +control of the terminal. This happens immediately, even +before a splash is shown. + +The `deactivate` request needs to relinguish such control, +unconditionally, since some display server is about to use +the tty. + +This commit fixes that. + +--- + src/main.c | 18 +++++++++++++----- + 1 file changed, 13 insertions(+), 5 deletions(-) + +Index: b/src/main.c +=================================================================== +--- a/src/main.c ++++ b/src/main.c +@@ -1255,12 +1255,8 @@ quit_program (state_t *state) + } + + static void +-deactivate_splash (state_t *state) ++deactivate_console (state_t *state) + { +- assert (!state->is_inactive); +- +- ply_device_manager_deactivate_renderers (state->device_manager); +- + detach_from_running_session (state); + + if (state->local_console_terminal != NULL) { +@@ -1274,6 +1270,17 @@ deactivate_splash (state_t *state) + if (command_line_has_argument (state->kernel_command_line, "plymouth.debug")) + ply_logger_close_file (ply_logger_get_error_default ()); + ++} ++ ++static void ++deactivate_splash (state_t *state) ++{ ++ assert (!state->is_inactive); ++ ++ ply_device_manager_deactivate_renderers (state->device_manager); ++ ++ deactivate_console (state); ++ + state->is_inactive = true; + + ply_trigger_pull (state->deactivate_trigger, NULL); +@@ -1310,6 +1317,7 @@ on_deactivate (state_t *state, + ply_trigger_t *deactivate_trigger) + { + if (state->is_inactive) { ++ deactivate_console (state); + ply_trigger_pull (deactivate_trigger, NULL); + return; + } diff -Nru plymouth-0.9.3/debian/patches/series plymouth-0.9.3/debian/patches/series --- plymouth-0.9.3/debian/patches/series 2018-03-30 14:41:45.000000000 +0000 +++ plymouth-0.9.3/debian/patches/series 2018-09-11 22:50:59.000000000 +0000 @@ -15,6 +15,7 @@ 0005-INSTALL-Fix-a-spelling-error-in-the-command-example.patch 0006-x11-don-t-call-gdk_display_get_name-before-gtk_init.patch 0007-device-manager-drop-superfluous-create_pixel_display.patch +git_ensure_tty_closed_0a662723.patch ## Ubuntu misc-changes.patch