Date: Tuesday, August 10, 2010 @ 14:27:07 Author: jgc Revision: 87084
Remove old patch, add patch to utilize the --since option from consolekit to fix issues with ck-history taking a long time Added: gdm/trunk/ck-since.patch Modified: gdm/trunk/PKGBUILD Deleted: gdm/trunk/keyboard-use-xklavier.patch -----------------------------+ PKGBUILD | 7 ++- ck-since.patch | 45 ++++++++++++++++++++++ keyboard-use-xklavier.patch | 85 ------------------------------------------ 3 files changed, 50 insertions(+), 87 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2010-08-10 18:06:13 UTC (rev 87083) +++ PKGBUILD 2010-08-10 18:27:07 UTC (rev 87084) @@ -2,7 +2,7 @@ # Maintainer: Jan de Groot <[email protected]> pkgname=gdm pkgver=2.30.4 -pkgrel=1 +pkgrel=2 pkgdesc="Gnome Display Manager (a reimplementation of xdm)" arch=('i686' 'x86_64') license=('GPL') @@ -10,7 +10,7 @@ backup=('etc/pam.d/gdm' 'etc/pam.d/gdm-autologin' 'etc/gdm/custom.conf') groups=('gnome-extra') options=('!libtool') -depends=('libcanberra>=0.23' 'libxklavier>=5.0' 'tcp_wrappers' 'gnome-session>=2.30.2' 'upower>=0.9.4') +depends=('libcanberra>=0.23' 'libxklavier>=5.0' 'tcp_wrappers' 'gnome-session>=2.30.2' 'upower>=0.9.4' 'consolekit>=0.4.1-4') makedepends=('intltool' 'gnome-doc-utils>=0.20.1' 'xorg-server' 'gnome-panel>=2.30.2') optdepends=('gnome-panel: needed for user switch applet') conflicts=('fast-user-switch-applet') @@ -18,11 +18,13 @@ install=gdm.install source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.30/${pkgname}-${pkgver}.tar.bz2 04_fix_external_program_directories.patch + ck-since.patch gdm.pam gdm-autologin.pam gdm) sha256sums=('3a1c7fd590622d5291584d98ce5cf3e7888adf949655041549561f3a5983b5a9' 'cb585c39c6671387b5a25f21a99c97e3a20eaf4188fea1b62871681a1ebf8bff' + 'bbe7dcfa162fd4eb362e15d5742beef6881535bd449524097a14c54afec99bff' 'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19' '3daff680ff6b7ea56f84f40843e46e72477c81e9e405028203c942af04d07ae5' '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550') @@ -30,6 +32,7 @@ build() { cd "${srcdir}/${pkgname}-${pkgver}" patch -Np1 -i "${srcdir}/04_fix_external_program_directories.patch" + patch -Np1 -i "${srcdir}/ck-since.patch" ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/gdm --localstatedir=/var --disable-static \ --with-at-spi-registryd-directory=/usr/lib/at-spi \ Added: ck-since.patch =================================================================== --- ck-since.patch (rev 0) +++ ck-since.patch 2010-08-10 18:27:07 UTC (rev 87084) @@ -0,0 +1,45 @@ +diff -ruN gdm-2.30.4/gui/simple-greeter/gdm-user-manager.c gdm-2.30.4.since//gui/simple-greeter/gdm-user-manager.c +--- gdm-2.30.4/gui/simple-greeter/gdm-user-manager.c 2010-06-26 00:09:31.000000000 +0200 ++++ gdm-2.30.4.since//gui/simple-greeter/gdm-user-manager.c 2010-08-10 20:11:21.080000061 +0200 +@@ -75,6 +75,10 @@ + #define GDM_USERNAME "gdm" + #endif + ++/* approximately two months */ ++#define LOGIN_FREQUENCY_TIME_WINDOW_SECS (60 * 24 * 60 * 60) ++ ++ + #define RELOAD_PASSWD_THROTTLE_SECS 5 + + typedef enum { +@@ -1579,12 +1583,14 @@ + load_ck_history (GdmUserManager *manager) + { + char *command; ++ char *since; + const char *seat_id; + GError *error; + gboolean res; + char **argv; + int standard_out; + GIOChannel *channel; ++ GTimeVal tv; + + g_assert (manager->priv->ck_history_id == 0); + +@@ -1602,8 +1608,14 @@ + goto out; + } + +- command = g_strdup_printf ("ck-history --frequent --seat='%s' --session-type=''", ++ g_get_current_time (&tv); ++ tv.tv_sec -= LOGIN_FREQUENCY_TIME_WINDOW_SECS; ++ since = g_time_val_to_iso8601 (&tv); ++ ++ command = g_strdup_printf ("ck-history --frequent --since='%s' --seat='%s' --session-type=''", ++ since, + seat_id); ++ g_free (since); + g_debug ("GdmUserManager: running '%s'", command); + error = NULL; + if (! g_shell_parse_argv (command, NULL, &argv, &error)) { Deleted: keyboard-use-xklavier.patch =================================================================== --- keyboard-use-xklavier.patch 2010-08-10 18:06:13 UTC (rev 87083) +++ keyboard-use-xklavier.patch 2010-08-10 18:27:07 UTC (rev 87084) @@ -1,85 +0,0 @@ -Ubuntu hal patch translated to libxklavier. -Always overrides keyboard layout variants: https://bugzilla.gnome.org/show_bug.cgi?id=572765 ---- gdm-2.28.1.orig/daemon/gdm-session-direct.c 2009-10-20 00:12:45.000000000 +0200 -+++ gdm-2.28.1/daemon/gdm-session-direct.c 2009-11-07 14:58:54.000000000 +0100 -@@ -42,6 +42,9 @@ - #include <glib/gstdio.h> - #include <glib-object.h> - -+#include <libxklavier/xklavier.h> -+#include <X11/Xlib.h> /* for Display */ -+ - #include <dbus/dbus-glib.h> - #include <dbus/dbus-glib-lowlevel.h> - -@@ -598,14 +601,41 @@ - return setlocale (LC_MESSAGES, NULL); - } - -+static char * -+get_system_default_layout (GdmSessionDirect *session) -+{ -+ char *result; -+ Display *display; -+ -+ result = NULL; -+ display = XOpenDisplay (session->priv->display_id); -+ if (display) { -+ XklConfigRec *config; -+ XklEngine *engine = xkl_engine_get_instance (display); -+ if (engine) -+ { -+ XklConfigRec *config = xkl_config_rec_new (); -+ if (xkl_config_rec_get_from_server (config, engine) && config->layouts && config->layouts[0]) { -+ result = g_strdup (config->layouts[0]); -+ } -+ g_object_unref (config); -+ } -+ XCloseDisplay (display); -+ } -+ -+ if (!result) -+ result = g_strdup ("us"); -+ return result; -+} -+ - static const char * - get_default_layout_name (GdmSessionDirect *session) - { -- if (session->priv->saved_layout != NULL) { -- return session->priv->saved_layout; -+ if (!session->priv->saved_layout) { -+ session->priv->saved_layout = get_system_default_layout (session); - } - -- return "us"; -+ return session->priv->saved_layout; - } - - static char * ---- gdm-2.28.1.orig/daemon/Makefile.am 2009-10-20 00:12:45.000000000 +0200 -+++ gdm-2.28.1/daemon/Makefile.am 2009-11-08 11:25:30.000000000 +0100 -@@ -105,6 +105,7 @@ - $(EXTRA_DAEMON_LIBS) \ - $(DAEMON_LIBS) \ - $(PAM_LIBS) \ -+ $(LIBXKLAVIER_LIBS) \ - $(NULL) - - libexec_PROGRAMS = \ -@@ -151,6 +152,7 @@ - $(XLIB_LIBS) \ - $(DAEMON_LIBS) \ - $(EXTRA_DAEMON_LIBS) \ -+ $(LIBXKLAVIER_LIBS) \ - $(NULL) - - gdm_factory_slave_SOURCES = \ -@@ -214,6 +216,7 @@ - $(XLIB_LIBS) \ - $(DAEMON_LIBS) \ - $(EXTRA_DAEMON_LIBS) \ -+ $(LIBXKLAVIER_LIBS) \ - $(NULL) - - gdm_xdmcp_chooser_slave_SOURCES = \
