rpms/plymouth/F-12 fix-details-clear-screen.patch, NONE, 1.1 fix-emergency-shell.patch, NONE, 1.1 plymouth.spec, 1.153, 1.154
Ray Strode
rstrode at fedoraproject.org
Thu Oct 8 21:50:01 UTC 2009
Author: rstrode
Update of /cvs/pkgs/rpms/plymouth/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22397
Modified Files:
plymouth.spec
Added Files:
fix-details-clear-screen.patch fix-emergency-shell.patch
Log Message:
- Fix emergency shell horkage (bug 526597)
- Fix problem with details splash not showing up (bug 527426, bug 527254)
fix-details-clear-screen.patch:
b/src/libplybootsplash/ply-renderer.c | 13 +++++++++++--
src/libplybootsplash/ply-renderer.c | 12 +++---------
2 files changed, 14 insertions(+), 11 deletions(-)
--- NEW FILE fix-details-clear-screen.patch ---
>From bda90f63c1194a312426eb2528f37f505672d8f9 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Thu, 8 Oct 2009 15:59:15 -0400
Subject: [PATCH 1/2] [renderer] make map and unmap idempotent
---
src/libplybootsplash/ply-renderer.c | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/src/libplybootsplash/ply-renderer.c b/src/libplybootsplash/ply-renderer.c
index 0966418..7c6695f 100644
--- a/src/libplybootsplash/ply-renderer.c
+++ b/src/libplybootsplash/ply-renderer.c
@@ -54,6 +54,7 @@ struct _ply_renderer
ply_console_t *console;
uint32_t input_source_is_open : 1;
+ uint32_t is_mapped : 1;
};
typedef const ply_renderer_plugin_interface_t *
@@ -199,7 +200,12 @@ ply_renderer_map_to_device (ply_renderer_t *renderer)
assert (renderer != NULL);
assert (renderer->plugin_interface != NULL);
- return renderer->plugin_interface->map_to_device (renderer->backend);
+ if (renderer->is_mapped)
+ return true;
+
+ renderer->is_mapped = renderer->plugin_interface->map_to_device (renderer->backend);
+
+ return renderer->is_mapped;
}
static void
@@ -208,7 +214,11 @@ ply_renderer_unmap_from_device (ply_renderer_t *renderer)
assert (renderer != NULL);
assert (renderer->plugin_interface != NULL);
+ if (!renderer->is_mapped)
+ return;
+
renderer->plugin_interface->unmap_from_device (renderer->backend);
+ renderer->is_mapped = false;
}
bool
--
1.6.5.rc2
>From 89f07b8f81da2eddf31758d990d9cb262f2ba0ae Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Thu, 8 Oct 2009 16:01:56 -0400
Subject: [PATCH 2/2] [renderer] map buffer lazily
This is to prevent screen clears on plugins that don't
use the renderers (text plugins)
---
src/libplybootsplash/ply-renderer.c | 11 +++--------
1 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/src/libplybootsplash/ply-renderer.c b/src/libplybootsplash/ply-renderer.c
index 7c6695f..591af2c 100644
--- a/src/libplybootsplash/ply-renderer.c
+++ b/src/libplybootsplash/ply-renderer.c
@@ -264,14 +264,6 @@ ply_renderer_open (ply_renderer_t *renderer)
continue;
}
- if (!ply_renderer_map_to_device (renderer))
- {
- ply_trace ("could not map renderer to device for plugin %s",
- plugin_path);
- ply_renderer_close_device (renderer);
- ply_renderer_unload_plugin (renderer);
- continue;
- }
return true;
}
@@ -314,6 +306,9 @@ ply_renderer_flush_head (ply_renderer_t *renderer,
assert (renderer->plugin_interface != NULL);
assert (head != NULL);
+ if (!ply_renderer_map_to_device (renderer))
+ return;
+
renderer->plugin_interface->flush_head (renderer->backend, head);
}
--
1.6.5.rc2
fix-emergency-shell.patch:
b/src/libplybootsplash/ply-renderer.c | 13 ++++++++++---
b/src/libplybootsplash/ply-terminal.c | 4 ++--
b/src/main.c | 3 ++-
src/main.c | 7 +++----
4 files changed, 17 insertions(+), 10 deletions(-)
--- NEW FILE fix-emergency-shell.patch ---
>From 288c110fa1e35b0bf32f0e3480cf677e83a5bc23 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Thu, 8 Oct 2009 15:22:27 -0400
Subject: [PATCH 1/4] [main] Disconnect from tty when hiding splash
We were still processing keystrokes when the splash screen was
hidden. This caused problems because the tty is used by other
programs at that time.
---
src/main.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/src/main.c b/src/main.c
index 31f2b1e..6f8c6bd 100644
--- a/src/main.c
+++ b/src/main.c
@@ -549,6 +549,8 @@ remove_displays_and_keyboard (state_t *state)
node = next_node;
}
+ ply_keyboard_stop_watching_for_input (state->keyboard);
+ ply_keyboard_free (state->keyboard);
state->keyboard = NULL;
}
--
1.6.5.rc2
>From d8835ebfd35724dd12ec6e6a4c7b303996a37066 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Thu, 8 Oct 2009 15:33:40 -0400
Subject: [PATCH 2/4] [terminal] Only close terminal on free when open
We were closing the terminal twice, causing assertions
to blow.
---
src/libplybootsplash/ply-terminal.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/libplybootsplash/ply-terminal.c b/src/libplybootsplash/ply-terminal.c
index 462a4c6..8147e86 100644
--- a/src/libplybootsplash/ply-terminal.c
+++ b/src/libplybootsplash/ply-terminal.c
@@ -499,7 +499,8 @@ ply_terminal_free (ply_terminal_t *terminal)
ply_terminal_detach_from_event_loop,
terminal);
- ply_terminal_close (terminal);
+ if (terminal->is_open)
+ ply_terminal_close (terminal);
free (terminal);
}
--
1.6.5.rc2
>From 78d610e82a9eebdce7ab43a6e3acfee1057f6a2c Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Thu, 8 Oct 2009 15:40:16 -0400
Subject: [PATCH 3/4] [main] remove displays before closing renderer
---
src/main.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/main.c b/src/main.c
index 6f8c6bd..c309fab 100644
--- a/src/main.c
+++ b/src/main.c
@@ -604,6 +604,9 @@ quit_splash (state_t *state)
state->boot_splash = NULL;
}
+ ply_trace ("removing displays and keyboard");
+ remove_displays_and_keyboard (state);
+
if (state->renderer != NULL)
{
ply_renderer_close (state->renderer);
@@ -618,9 +621,6 @@ quit_splash (state_t *state)
state->terminal = NULL;
}
- ply_trace ("removing displays and keyboard");
- remove_displays_and_keyboard (state);
-
if (state->session != NULL)
{
ply_trace ("detaching session");
--
1.6.5.rc2
>From e938daa05b05d5517cec61fab7caf0df75e5fa14 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Thu, 8 Oct 2009 15:41:06 -0400
Subject: [PATCH 4/4] [renderer] make input_source_close idempotent
---
src/libplybootsplash/ply-renderer.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/libplybootsplash/ply-renderer.c b/src/libplybootsplash/ply-renderer.c
index f7f3c90..0966418 100644
--- a/src/libplybootsplash/ply-renderer.c
+++ b/src/libplybootsplash/ply-renderer.c
@@ -52,6 +52,8 @@ struct _ply_renderer
char *device_name;
ply_terminal_t *terminal;
ply_console_t *console;
+
+ uint32_t input_source_is_open : 1;
};
typedef const ply_renderer_plugin_interface_t *
@@ -321,8 +323,10 @@ ply_renderer_open_input_source (ply_renderer_t *renderer,
assert (renderer != NULL);
assert (input_source != NULL);
- return renderer->plugin_interface->open_input_source (renderer->backend,
- input_source);
+ renderer->input_source_is_open = renderer->plugin_interface->open_input_source (renderer->backend,
+ input_source);
+
+ return renderer->input_source_is_open;
}
void
@@ -347,8 +351,12 @@ ply_renderer_close_input_source (ply_renderer_t *renderer,
assert (renderer != NULL);
assert (input_source != NULL);
+ if (!renderer->input_source_is_open)
+ return;
+
renderer->plugin_interface->close_input_source (renderer->backend,
input_source);
+ renderer->input_source_is_open = false;
}
/* vim: set ts=4 sw=4 expandtab autoindent cindent cino={.5s,(0: */
--
1.6.5.rc2
Index: plymouth.spec
===================================================================
RCS file: /cvs/pkgs/rpms/plymouth/F-12/plymouth.spec,v
retrieving revision 1.153
retrieving revision 1.154
diff -u -p -r1.153 -r1.154
--- plymouth.spec 7 Oct 2009 21:43:11 -0000 1.153
+++ plymouth.spec 8 Oct 2009 21:50:00 -0000 1.154
@@ -5,7 +5,7 @@
Summary: Graphical Boot Animation and Logger
Name: plymouth
Version: 0.8.0
-Release: 0.2009.29.09.6%{?dist}
+Release: 0.2009.29.09.7%{?dist}
License: GPLv2+
Group: System Environment/Base
Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2
@@ -34,6 +34,8 @@ Patch1: fix-text-password-crash.patch
Patch2: fix-firstboot-on-intel.patch
Patch3: fix-firstboot-on-radeon.patch
Patch4: more-drm-fixes.patch
+Patch5: fix-emergency-shell.patch
+Patch6: fix-details-clear-screen.patch
%description
Plymouth provides an attractive graphical boot animation in
@@ -246,6 +248,8 @@ plugin.
%patch2 -p1 -b .fix-firstboot-on-intel
%patch3 -p1 -b .fix-firstboot-on-radeon
%patch4 -p1 -b .more-drm-fixes
+%patch5 -p1 -b .fix-emergency-shell
+%patch6 -p1 -b .fix-details-clear-screen
%build
%configure --enable-tracing --disable-tests --without-boot-entry \
@@ -463,6 +467,10 @@ fi
%defattr(-, root, root)
%changelog
+* Thu Oct 08 2009 Ray Strode <rstrode at redhat.com> 0.8.0-0.2009.29.09.7
+- Fix emergency shell horkage (bug 526597)
+- Fix problem with details splash not showing up (bug 527426, bug 527254)
+
* Wed Oct 07 2009 Ray Strode <rstrode at redhat.com> 0.8.0-0.2009.29.09.6
- Fix the reason radeon single head users were affected.
More information about the fedora-extras-commits
mailing list