Accepting request 242379 from home:fcrozat:branches:Base:System

- Add plymouth-ignore-cirrusdrm.patch: ignore cirrus drm and use fb
  instead [bnc#888590]

- Add
  0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch:
  Be more forgiving with empty seat.

OBS-URL: https://build.opensuse.org/request/show/242379
OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=150
This commit is contained in:
Ismail Dönmez 2014-07-27 12:23:19 +00:00 committed by Git OBS Bridge
parent 324a8050d0
commit 82c1a7ae5e
4 changed files with 87 additions and 0 deletions

View File

@ -0,0 +1,47 @@
From 84eb4381db85877a9a56b35994e6c10d43e46ebe Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Mon, 14 Jul 2014 08:04:54 -0400
Subject: [PATCH] seat: be a little more forgiving in the case there's no open
terminal
We can end up in a situation where a seat object doesn't have a terminal
associated with it. In that case we shouldn't crash, but continue on
with no input available for that seat.
https://bugs.freedesktop.org/show_bug.cgi?id=80553
---
src/libply-splash-core/ply-seat.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
Index: plymouth-0.9.0/src/libply-splash-core/ply-seat.c
===================================================================
--- plymouth-0.9.0.orig/src/libply-splash-core/ply-seat.c
+++ plymouth-0.9.0/src/libply-splash-core/ply-seat.c
@@ -154,14 +154,23 @@ ply_seat_open (ply_seat_t *seat
add_pixel_displays (seat);
}
- else
+ else if (seat->terminal != NULL)
{
seat->keyboard = ply_keyboard_new_for_terminal (seat->terminal);
}
- add_text_displays (seat);
- ply_keyboard_watch_for_input (seat->keyboard);
- seat->keyboard_active = true;
+ if (seat->terminal != NULL) {
+ add_text_displays (seat);
+ } else {
+ ply_trace ("not adding text display for seat, since seat has no associated terminal");
+ }
+
+ if (seat->keyboard != NULL) {
+ ply_keyboard_watch_for_input (seat->keyboard);
+ seat->keyboard_active = true;
+ } else {
+ ply_trace ("not watching seat for input");
+ }
return true;
}

View File

@ -0,0 +1,21 @@
Index: plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c
===================================================================
--- plymouth-0.9.0.orig/src/libply-splash-core/ply-device-manager.c
+++ plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c
@@ -151,8 +151,14 @@ fb_device_has_drm_device (ply_device_man
card_path = udev_list_entry_get_name (card_entry);
card_device = udev_device_new_from_syspath (manager->udev_context, card_path);
card_node = udev_device_get_devnode (card_device);
- if (card_node != NULL)
- has_drm_device = true;
+ if (card_node != NULL) {
+ /* don't consider drm driver for cirrus usable */
+ const char *card_name = udev_device_get_sysattr_value (card_device, "name");
+ if ((card_name != 0) && strcmp ("cirrusdrmfb", card_name) != 0)
+ has_drm_device = true;
+ else
+ has_drm_device = false;
+ }
else
ply_trace ("no card node!");

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Fri Jul 25 14:32:38 CEST 2014 - fcrozat@suse.com
- Add plymouth-ignore-cirrusdrm.patch: ignore cirrus drm and use fb
instead [bnc#888590]
-------------------------------------------------------------------
Thu Jul 24 16:30:43 UTC 2014 - fcrozat@suse.com
- Add
0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch:
Be more forgiving with empty seat.
-------------------------------------------------------------------
Tue Jul 8 16:04:38 UTC 2014 - fcrozat@suse.com

View File

@ -54,6 +54,10 @@ Patch22: 0001-splash-remove-pixel_pixel-in-sprite-lib-when-notifie.patch
Patch23: 0001-splash-do-not-process-display-lists-if-it-is-empty.patch
# PATCH-FIX-UPSTREAM 0001-libply-splash-core-also-monitor-for-file-removal-in-.patch fcrozat@suse.com -- handle recent udev
Patch24: 0001-libply-splash-core-also-monitor-for-file-removal-in-.patch
# PATCH-FIX-UPSTREAM 0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch fcrozat@suse.com -- handle empty seat better
Patch25: 0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch
# PATCH-FIX-UPSTREAM plymouth-ignore-cirrusdrm.patch fcrozat@suse.com -- ignore cirrusdrm, use fb instead
Patch26: plymouth-ignore-cirrusdrm.patch
BuildRequires: automake
BuildRequires: docbook-xsl-stylesheets
BuildRequires: kernel-headers
@ -346,6 +350,8 @@ plugin.
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
# replace builddate with patch0date
sed -i "s/__DATE__/\"$(stat -c %y %{_sourcedir}/%{name}.changes)\"/" src/main.c