rpms/kdebase-workspace/F-13 kdebase-workspace-4.4.2-kdm_plymouth081.patch, NONE, 1.1 kdebase-workspace-4.3.98-plasma-konsole.patch, 1.1, 1.2 kdebase-workspace.spec, 1.378, 1.379 kdebase-workspace-4.4.2-novt.patch, 1.1, NONE kubuntu_34_kdm_plymouth_transition.diff, 1.1, NONE

Kevin Kofler kkofler at fedoraproject.org
Wed Apr 7 23:06:38 UTC 2010


Author: kkofler

Update of /cvs/pkgs/rpms/kdebase-workspace/F-13
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv3295/F-13

Modified Files:
	kdebase-workspace-4.3.98-plasma-konsole.patch 
	kdebase-workspace.spec 
Added Files:
	kdebase-workspace-4.4.2-kdm_plymouth081.patch 
Removed Files:
	kdebase-workspace-4.4.2-novt.patch 
	kubuntu_34_kdm_plymouth_transition.diff 
Log Message:
Sync from devel:

* Wed Apr 07 2010 Kevin Kofler <Kevin at tigcc.ticalc.org> - 4.4.2-3
- rip out bulletproof X changes (cf. kubuntu_33_kdm_bulletproof_x.diff) from
  our copy of kubuntu_34_kdm_plymouth_transition.diff
- drop experimental novt patch, should not be needed with the working Plymouth
  integration and may have side effects (can readd it later if really needed)
- fix icon name in plasma-konsole patch: use XDG icon instead of kappfinder one

kdebase-workspace-4.4.2-kdm_plymouth081.patch:
 dm.c     |   91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 dm.h     |    4 ++
 server.c |    5 +++
 3 files changed, 100 insertions(+)

--- NEW FILE kdebase-workspace-4.4.2-kdm_plymouth081.patch ---
Description: Add support for smooth transition from Plymouth's bootsplash
 If possible, KDM will try to deactivate plymouth, start X (with -nr) on
 the active vt and leave the bootsplash on the screen until the graphical
 login takes place.
Forwarded: no
Bug: https://bugs.launchpad.net/ubuntu/+source/kdebase-workspace/+bug/540177
Author: Alberto Milone <alberto.milone at canonical.com>
Bulletproof X bits (cf. kubuntu_33_kdm_bulletproof_x.diff) ripped out by
Kevin Kofler <Kevin at tigcc.ticalc.org>

diff -Nurp kdebase-workspace-4.4.1.orig/kdm/backend/dm.c kdebase-workspace-4.4.1/kdm/backend/dm.c
--- kdebase-workspace-4.4.1.orig/kdm/backend/dm.c	2009-10-26 10:14:47.000000000 +0100
+++ kdebase-workspace-4.4.1/kdm/backend/dm.c	2010-03-25 12:48:13.861357254 +0100
@@ -1330,6 +1330,71 @@ getBusyVTs( void )
 	return activeVTs;
 }
 
+/* Return the active VT as an integer */
+static int
+get_active_vt (void)
+{
+        int console_fd;
+        struct vt_stat console_state = { 0 };
+        console_fd = open ("/dev/tty0", O_RDONLY | O_NOCTTY);
+        if (console_fd < 0) {
+                goto out;
+        }
+        if (ioctl (console_fd, VT_GETSTATE, &console_state) < 0) {
+                goto out;
+        }
+out:
+        if (console_fd >= 0) {
+                close (console_fd);
+        }
+        return console_state.v_active;
+}
+
+static int
+plymouth_is_running (void)
+{
+        int status;
+        status = system ("/bin/plymouth --ping");
+
+        return WIFEXITED (status) && WEXITSTATUS (status) == 0;
+}
+
+static int
+plymouth_has_active_vt (void)
+{
+        int status;
+        status = system ("/bin/plymouth --has-active-vt");
+
+        return WIFEXITED (status) && WEXITSTATUS (status) == 0;
+}
+
+static int
+plymouth_prepare_for_transition (void)
+{
+        int status;
+        status = system ("/bin/plymouth deactivate");
+
+        return WIFEXITED (status) && WEXITSTATUS (status) == 0;
+}
+
+int
+plymouth_quit_with_transition (void)
+{
+        int status;
+        status = system ("/bin/plymouth quit --retain-splash");
+
+        return WIFEXITED (status) && WEXITSTATUS (status) == 0;
+}
+
+static int
+plymouth_quit_without_transition (void)
+{
+        int status;
+        status = system ("/bin/plymouth quit");
+
+        return WIFEXITED (status) && WEXITSTATUS (status) == 0;
+}
+
 static void
 allocateVT( struct display *d )
 {
@@ -1339,6 +1404,32 @@ allocateVT( struct display *d )
 	if ((d->displayType & d_location) == dLocal &&
 	    d->status == notRunning && !d->serverVT && d->reqSrvVT >= 0)
 	{
+		d->plymouth_is_running = plymouth_is_running ();
+		if (d->plymouth_is_running) {
+			/* call plymouth deactivate */
+			plymouth_prepare_for_transition ();
+			if (plymouth_has_active_vt ()) {
+				/* plymouth was displaying a splash screen and has
+				 * terminated leaving it on screen
+				 */
+				int vt;
+				vt = get_active_vt ();
+				if (vt > 0) {
+					/* start the X server on the active vt */
+					d->serverVT = vt;
+					return;
+				}
+			}
+			else {
+				/* plymouth might have been running but did not display
+				 * a splash screen.
+				 */ 
+				
+				 /* call plymouth quit and start the X server as usual */
+				d->plymouth_is_running = !plymouth_quit_without_transition ();
+			}
+		}
+
 		if (d->reqSrvVT && d->reqSrvVT < 16)
 			d->serverVT = d->reqSrvVT;
 		else {
diff -Nurp kdebase-workspace-4.4.1.orig/kdm/backend/dm.h kdebase-workspace-4.4.1/kdm/backend/dm.h
--- kdebase-workspace-4.4.1.orig/kdm/backend/dm.h	2009-10-26 10:14:47.000000000 +0100
+++ kdebase-workspace-4.4.1/kdm/backend/dm.h	2010-03-25 12:46:54.171786017 +0100
@@ -288,6 +288,8 @@ struct display {
 	Xauth **authorizations;     /* authorization data */
 	int authNum;                /* number of authorizations */
 	char *authFile;             /* file to store authorization in */
+
+	int plymouth_is_running;    /* Plymouth's status */
 };
 
 #define d_location   1
@@ -400,6 +402,8 @@ int anyDisplaysLeft( void );
 void forEachDisplay( void (*f)( struct display * ) );
 #ifdef HAVE_VTS
 void forEachDisplayRev( void (*f)( struct display * ) );
+/* function for plymouth */
+int plymouth_quit_with_transition (void);
 #endif
 void removeDisplay( struct display *old );
 struct display
diff -Nurp kdebase-workspace-4.4.1.orig/kdm/backend/server.c kdebase-workspace-4.4.1/kdm/backend/server.c
--- kdebase-workspace-4.4.1.orig/kdm/backend/server.c	2009-10-26 10:14:47.000000000 +0100
+++ kdebase-workspace-4.4.1/kdm/backend/server.c	2010-03-25 12:53:06.561387817 +0100
@@ -134,6 +134,11 @@ startServerSuccess()
 	struct display *d = startingServer;
 	d->serverStatus = ignore;
 	serverTimeout = TO_INF;
+	if (d->plymouth_is_running) {
+		debug( "Quitting Plymouth with transition\n" );
+		d->plymouth_is_running = !plymouth_quit_with_transition ();
+		debug ("Is Plymouth still running? %s\n", d->plymouth_is_running ? "yes" : "no");
+	}
 	debug( "X server ready, starting session\n" );
 	startDisplayP2( d );
 }

kdebase-workspace-4.3.98-plasma-konsole.patch:
 menu.cpp |   17 +++++++++++++++--
 menu.h   |    2 ++
 2 files changed, 17 insertions(+), 2 deletions(-)

Index: kdebase-workspace-4.3.98-plasma-konsole.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase-workspace/F-13/kdebase-workspace-4.3.98-plasma-konsole.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- kdebase-workspace-4.3.98-plasma-konsole.patch	1 Feb 2010 01:27:56 -0000	1.1
+++ kdebase-workspace-4.3.98-plasma-konsole.patch	7 Apr 2010 23:06:37 -0000	1.2
@@ -33,7 +33,7 @@ diff -up kdebase-workspace-4.3.98/plasma
          //can I do something with configureRequested? damn privateslot...
      } else {
 +        m_runKonsoleAction = new QAction(i18n("Konsole"), this);
-+        m_runKonsoleAction->setIcon(KIcon("terminal"));
++        m_runKonsoleAction->setIcon(KIcon("utilities-terminal"));
 +        connect(m_runKonsoleAction, SIGNAL(triggered(bool)), this, SLOT(runKonsole()));
 +
          m_runCommandAction = new QAction(i18n("Run Command..."), this);


Index: kdebase-workspace.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase-workspace/F-13/kdebase-workspace.spec,v
retrieving revision 1.378
retrieving revision 1.379
diff -u -p -r1.378 -r1.379
--- kdebase-workspace.spec	6 Apr 2010 17:25:27 -0000	1.378
+++ kdebase-workspace.spec	7 Apr 2010 23:06:37 -0000	1.379
@@ -8,7 +8,6 @@
 %define _default_patch_fuzz 2
 
 %if 0%{?fedora} > 12
-# TODO/FIXME: handle the new plymouth --ping style/case
 %define plymouth_hack_ping 1
 %else
 %define plymouth_hack_spool 1
@@ -22,7 +21,7 @@
 Summary: KDE Workspace
 Name:    kdebase-workspace
 Version: 4.4.2
-Release: 2%{?dist}
+Release: 3%{?dist}
 
 License: GPLv2
 Group:   User Interface/Desktops
@@ -55,7 +54,9 @@ Patch16: kdebase-workspace-4.3.98-batter
 # to the classic menu (as in KDE <= 4.2.x); the default is still the upstream
 # default Leave submenu
 Patch17: kdebase-workspace-4.4.0-classicmenu-logout.patch
-Patch19: kdebase-workspace-4.3.4-kdm_plymouth.patch
+Patch18: kdebase-workspace-4.3.4-kdm_plymouth.patch
+# kubuntu kudos! bulletproof-X bits ripped out
+Patch19: kdebase-workspace-4.4.2-kdm_plymouth081.patch
 Patch20: kdebase-workspace-4.3.80-xsession_errors_O_APPEND.patch
 # support the widgetStyle4 hack in the Qt KDE platform plugin
 Patch21: kdebase-workspace-4.3.98-platformplugin-widgetstyle4.patch
@@ -69,10 +70,6 @@ Patch50: kdebase-workspace-4.3.3-kde#171
 # FIXME: Not upstreamed yet --Ben (4.3.80)
 #Patch51: http://bazaar.launchpad.net/~kubuntu-members/kdebase-workspace/ubuntu/annotate/head%3A/debian/patches/kubuntu_101_brightness_fn_keys_and_osd.diff
 Patch51: kdebase-workspace-4.3.95-brightness_keys.patch
-# HACK/FIXME, drop vt handling from kdm, let X choose itself 
-Patch52: kdebase-workspace-4.4.2-novt.patch
-# kubuntu kudos! , slightly modified to comment-out bulletproof-X bits
-Patch53: kubuntu_34_kdm_plymouth_transition.diff
 
 # 4.4 patches
 Patch100: kdebase-workspace-4.4.2-qt47.patch
@@ -324,6 +321,9 @@ Requires: akonadi
 %patch16 -p1 -b .showremainingtime
 %patch17 -p1 -b .classicmenu-logout
 %if 0%{?plymouth_hack_spool}
+%patch18 -p1 -b .kdm_plymouth
+%endif
+%if 0%{?plymouth_hack_ping}
 %patch19 -p1 -b .kdm_plymouth
 %endif
 %patch20 -p1 -b .xsession_errors_O_APPEND
@@ -334,12 +334,6 @@ Requires: akonadi
 %patch50 -p1 -b .kde#171685
 # kubuntu patches
 %patch51 -p1 -b .brightness_keys
-%if 0%{?fedora} > 12
-%patch52 -p1 -b .novt
-%endif
-%if 0%{?plymouth_hack_ping}
-%patch53 -p1 -b .kdm_plymouth
-%endif
 # 4.4 patches
 %patch100 -p1 -b .qt47
 
@@ -694,6 +688,13 @@ fi
 
 
 %changelog
+* Wed Apr 07 2010 Kevin Kofler <Kevin at tigcc.ticalc.org> - 4.4.2-3
+- rip out bulletproof X changes (cf. kubuntu_33_kdm_bulletproof_x.diff) from
+  our copy of kubuntu_34_kdm_plymouth_transition.diff
+- drop experimental novt patch, should not be needed with the working Plymouth
+  integration and may have side effects (can readd it later if really needed)
+- fix icon name in plasma-konsole patch: use XDG icon instead of kappfinder one
+
 * Tue Apr 06 2010 Rex Dieter <rdieter at fedoraproject.org> - 4.4.2-2
 - try to workaround "X server hogs the CPU (#577482)" by letting X
   choose vt itself


--- kdebase-workspace-4.4.2-novt.patch DELETED ---


--- kubuntu_34_kdm_plymouth_transition.diff DELETED ---



More information about the scm-commits mailing list