1
0
forked from rpms/plymouth

- add some more debug spew to help debug a problem jlaska is having

This commit is contained in:
Ray Strode 2008-11-07 17:12:07 +00:00
parent e27c5b7b57
commit 51a096b698
2 changed files with 96 additions and 3 deletions

View File

@ -0,0 +1,87 @@
diff -up plymouth-0.6.0/src/libplybootsplash/ply-window.c.more-debug plymouth-0.6.0/src/libplybootsplash/ply-window.c
--- plymouth-0.6.0/src/libplybootsplash/ply-window.c.more-debug 2008-11-07 12:08:25.000000000 -0500
+++ plymouth-0.6.0/src/libplybootsplash/ply-window.c 2008-11-07 12:10:04.000000000 -0500
@@ -493,7 +493,10 @@ ply_window_open (ply_window_t *window)
window->vt_number = get_active_vt ();
if (readlink ("/proc/self/fd/0", tty_name, sizeof (tty_name) - 1) < 0)
- return false;
+ {
+ ply_trace ("could not read tty name of fd 0");
+ return false;
+ }
window->tty_name = strdup (tty_name);
}
@@ -503,7 +506,10 @@ ply_window_open (ply_window_t *window)
window->tty_fd = open (window->tty_name, O_RDWR | O_NOCTTY);
if (window->tty_fd < 0)
- return false;
+ {
+ ply_trace ("could not open %s : %m", window->tty_name);
+ return false;
+ }
if (!ply_window_set_unbuffered_input (window))
ply_trace ("window '%s' will be line buffered", window->tty_name);
diff -up plymouth-0.6.0/src/main.c.more-debug plymouth-0.6.0/src/main.c
--- plymouth-0.6.0/src/main.c.more-debug 2008-11-07 12:01:46.000000000 -0500
+++ plymouth-0.6.0/src/main.c 2008-11-07 12:08:16.000000000 -0500
@@ -220,6 +220,8 @@ has_open_window (state_t *state)
{
ply_list_node_t *node;
+ ply_trace ("checking for open windows");
+
node = ply_list_get_first_node (state->windows);
while (node != NULL)
{
@@ -231,7 +233,22 @@ has_open_window (state_t *state)
window = ply_list_node_get_data (node);
if (ply_window_is_open (window))
- return true;
+ {
+ int fd;
+ const char *name;
+
+ fd = ply_window_get_tty_fd (window);
+
+ if (fd >= 0)
+ name = ttyname (fd);
+ else
+ name = NULL;
+
+ ply_trace ("window %s%sis open",
+ name != NULL? name : "",
+ name != NULL? " " : "");
+ return true;
+ }
node = next_node;
}
@@ -324,11 +341,22 @@ close_windows (state_t *state)
static void
on_show_splash (state_t *state)
{
+ bool has_open_window;
+
open_windows (state);
- if (!state->is_redirected && state->ptmx >= 0)
+ has_open_window = has_open_window (state);
+
+ if (!state->is_redirected && state->ptmx >= 0 && has_open_window)
state->is_redirected = attach_to_running_session (state);
+ if (!has_open_window && state->is_redirected)
+ {
+ ply_trace ("no open windows, detaching session");
+ ply_terminal_session_detach (state->session);
+ state->is_redirected = false;
+ }
+
if (plymouth_should_show_default_splash (state))
show_default_splash (state);
else

View File

@ -5,13 +5,11 @@
Summary: Plymouth Graphical Boot Animation and Logger Summary: Plymouth Graphical Boot Animation and Logger
Name: plymouth Name: plymouth
Version: 0.6.0 Version: 0.6.0
Release: 0.2008.11.06.2%{?dist} Release: 0.2008.11.06.3%{?dist}
License: GPLv2+ License: GPLv2+
Group: System Environment/Base Group: System Environment/Base
Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2 Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2
Source1: boot-duration Source1: boot-duration
Patch0: plymouth-allow-passing-plugin.patch
Patch1: plymouth-0.6.0-fix-switchroot-failed.patch
URL: http://freedesktop.org/software/plymouth/releases URL: http://freedesktop.org/software/plymouth/releases
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -24,6 +22,10 @@ Requires: system-plymouth-plugin >= %{version}-%{release}
Requires(post): plymouth-scripts Requires(post): plymouth-scripts
Requires: initscripts >= 8.83-1 Requires: initscripts >= 8.83-1
Patch0: plymouth-allow-passing-plugin.patch
Patch1: plymouth-0.6.0-fix-switchroot-failed.patch
Patch2: plymouth-0.6.0-more-debug.patch
%description %description
Plymouth provides an attractive graphical boot animation in Plymouth provides an attractive graphical boot animation in
place of the text messages that normally get shown. Text place of the text messages that normally get shown. Text
@ -156,6 +158,7 @@ where the graphical plugin's dependencies are undesirable.
%setup -q %setup -q
%patch0 -p1 -b .allow-passing-plugin %patch0 -p1 -b .allow-passing-plugin
%patch1 -p1 -b .fix-switchroot-failed %patch1 -p1 -b .fix-switchroot-failed
%patch2 -p1 -b .more-debug
%build %build
%configure --enable-tracing --disable-tests --without-boot-entry \ %configure --enable-tracing --disable-tests --without-boot-entry \
@ -308,6 +311,9 @@ fi
%defattr(-, root, root) %defattr(-, root, root)
%changelog %changelog
* Thu Nov 6 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.06.3
- add some more debug spew to help debug a problem jlaska is having
* Thu Nov 6 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.06.2 * Thu Nov 6 2008 Ray Strode <rstrode@redhat.com> 0.6.0-0.2008.11.06.2
- show details plugin on --hide-splash so people can see why the splash - show details plugin on --hide-splash so people can see why the splash
got hidden. got hidden.