rpms/kdebase-workspace/F-12 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.333, 1.334
Kevin Kofler
kkofler at fedoraproject.org
Wed Apr 7 23:07:56 UTC 2010
Author: kkofler
Update of /cvs/pkgs/rpms/kdebase-workspace/F-12
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv3601/F-12
Modified Files:
kdebase-workspace-4.3.98-plasma-konsole.patch
kdebase-workspace.spec
Added Files:
kdebase-workspace-4.4.2-kdm_plymouth081.patch
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
* 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
- include (but not yet apply) kubuntu_34_kdm_plymouth_transition.diff
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-12/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 10 Feb 2010 14:00:07 -0000 1.1
+++ kdebase-workspace-4.3.98-plasma-konsole.patch 7 Apr 2010 23:07:56 -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-12/kdebase-workspace.spec,v
retrieving revision 1.333
retrieving revision 1.334
diff -u -p -r1.333 -r1.334
--- kdebase-workspace.spec 3 Apr 2010 11:30:12 -0000 1.333
+++ kdebase-workspace.spec 7 Apr 2010 23:07:56 -0000 1.334
@@ -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: 1%{?dist}
+Release: 3%{?dist}
License: GPLv2
Group: User Interface/Desktops
@@ -55,14 +54,16 @@ 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
# fix the Games menu in the classic menu mixing up Name and Description
Patch22: kdebase-workspace-4.4.0-classicmenu-games.patch
-# upstream patches:
+# upstreamable patches:
# "keyboard stops working", https://bugs.kde.org/show_bug.cgi?id=171685#c135
Patch50: kdebase-workspace-4.3.3-kde#171685.patch
# kubuntu working to upstream this
@@ -320,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
@@ -684,6 +688,18 @@ 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
+- include (but not yet apply) kubuntu_34_kdm_plymouth_transition.diff
+
* Mon Mar 29 2010 Lukas Tinkl <ltinkl at redhat.com> - 4.4.2-1
- 4.4.2
More information about the scm-commits
mailing list