[arch-commits] Commit in gdm/repos (3 files)

Jan de Groot jgc at archlinux.org
Fri Nov 13 16:33:14 EST 2009


    Date: Friday, November 13, 2009 @ 16:33:14
  Author: jgc
Revision: 58752

Merged revisions 58751 via svnmerge from 
svn+ssh://gerolde.archlinux.org/srv/svn-packages/gdm/trunk

........
  r58751 | jgc | 2009-11-13 22:32:49 +0100 (Fri, 13 Nov 2009) | 2 lines
  
  upgpkg: gdm 2.28.1-2
      Read current keyboard layout using xklavier instead of resetting it to US (FS#16697)
........

Added:
  gdm/repos/extra-i686/keyboard-use-xklavier.patch
    (from rev 58751, gdm/trunk/keyboard-use-xklavier.patch)
Modified:
  gdm/repos/extra-i686/	(properties)
  gdm/repos/extra-i686/PKGBUILD

-----------------------------+
 PKGBUILD                    |    9 +++-
 keyboard-use-xklavier.patch |   85 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 93 insertions(+), 1 deletion(-)


Property changes on: gdm/repos/extra-i686
___________________________________________________________________
Modified: svnmerge-integrated
   - /gdm/trunk:1-56610
   + /gdm/trunk:1-58751

Modified: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD	2009-11-13 21:32:49 UTC (rev 58751)
+++ extra-i686/PKGBUILD	2009-11-13 21:33:14 UTC (rev 58752)
@@ -2,7 +2,7 @@
 # Maintainer: Jan de Groot <jgc at archlinux.org>
 pkgname=gdm
 pkgver=2.28.1
-pkgrel=1
+pkgrel=2
 pkgdesc="Gnome Display Manager (a reimplementation of xdm)"
 arch=(i686 x86_64)
 license=('GPL')
@@ -17,11 +17,13 @@
 install=gdm.install
 source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.28/${pkgname}-${pkgver}.tar.bz2
         04_fix_external_program_directories.patch
+        keyboard-use-xklavier.patch
         gdm.pam
         gdm-autologin.pam
         gdm)
 sha256sums=('da77a6fd9d4cc76b68dd4354839f953f8df5fb7921c7777b80256916533a3e7a'
             'd41b0945a3db78a06b5aa4101f5515f7ea5d57e70974681c23e5def1df1834bb'
+            '43da7afea3997939f8f804274a75c2b4dc1e5a9a4987e9e3c58be5f3383332dc'
             'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19'
             '3daff680ff6b7ea56f84f40843e46e72477c81e9e405028203c942af04d07ae5'
             '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550')
@@ -30,6 +32,11 @@
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   patch -Np1 -i "${srcdir}/04_fix_external_program_directories.patch" || return 1
+  patch -Np1 -i "${srcdir}/keyboard-use-xklavier.patch" || return 1
+  libtoolize --force || return 1
+  aclocal || return 1
+  autoconf || return 1
+  automake || return 1
   ./configure --prefix=/usr --sysconfdir=/etc \
       --libexecdir=/usr/lib/gdm --localstatedir=/var --disable-static \
       --disable-scrollkeeper || return 1

Copied: gdm/repos/extra-i686/keyboard-use-xklavier.patch (from rev 58751, gdm/trunk/keyboard-use-xklavier.patch)
===================================================================
--- extra-i686/keyboard-use-xklavier.patch	                        (rev 0)
+++ extra-i686/keyboard-use-xklavier.patch	2009-11-13 21:33:14 UTC (rev 58752)
@@ -0,0 +1,85 @@
+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 = 		\



More information about the arch-commits mailing list