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

Jan de Groot jgc at archlinux.org
Mon Aug 3 20:25:55 UTC 2009


    Date: Monday, August 3, 2009 @ 16:25:54
  Author: jgc
Revision: 48780

Merged revisions 48779 via svnmerge from 
svn+ssh://svn.archlinux.org/srv/svn-packages/xorg-server/trunk

........
  r48779 | jgc | 2009-08-03 22:25:38 +0200 (Mon, 03 Aug 2009) | 2 lines
  
  upgpkg: xorg-server 1.6.3-2
      Revert commit that breaks setups without hal (FS#15762)
........

Added:
  xorg-server/repos/extra-x86_64/revert-hal-checks.patch
    (from rev 48779, xorg-server/trunk/revert-hal-checks.patch)
Modified:
  xorg-server/repos/extra-x86_64/	(properties)
  xorg-server/repos/extra-x86_64/PKGBUILD

-------------------------+
 PKGBUILD                |    9 +++-
 revert-hal-checks.patch |   87 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 94 insertions(+), 2 deletions(-)


Property changes on: xorg-server/repos/extra-x86_64
___________________________________________________________________
Modified: svnmerge-integrated
   - /xorg-server/trunk:1-48403
   + /xorg-server/trunk:1-48779

Modified: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD	2009-08-03 20:25:38 UTC (rev 48779)
+++ extra-x86_64/PKGBUILD	2009-08-03 20:25:54 UTC (rev 48780)
@@ -4,7 +4,7 @@
 
 pkgname=xorg-server
 pkgver=1.6.3
-pkgrel=1
+pkgrel=2
 pkgdesc="X.Org X servers"
 arch=('i686' 'x86_64')
 license=('custom')
@@ -18,18 +18,23 @@
 install=xorg-server.install
 source=(${url}/releases/individual/xserver/${pkgname}-${pkgver}.tar.bz2
         xorg-redhat-die-ugly-pattern-die-die-die.patch
+        revert-hal-checks.patch
         xvfb-run
         xvfb-run.1)
 md5sums=('0af168abeefa6579cab20387f75c0c7a'
          '1a336eb22e27cbf443ec5a2ecddfa93c'
+         'ea12d6b313d021b49da4e3428c6d1f77'
          '52fd3effd80d7bc6c1660d4ecf23d31c'
          '376c70308715cd2643f7bff936d9934b')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   # Get rid of the ugly pattern
-  patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch" || return 1
+  patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch" || return  1
 
+  # Revert extra hal checks to fix FS#15762
+  patch -Np1 -R -i "${srcdir}/revert-hal-checks.patch" || return 1
+
   # Fix dbus config path
   sed -i -e 's/\$(sysconfdir)/\/etc/' config/Makefile.*  || return 1
 

Copied: xorg-server/repos/extra-x86_64/revert-hal-checks.patch (from rev 48779, xorg-server/trunk/revert-hal-checks.patch)
===================================================================
--- extra-x86_64/revert-hal-checks.patch	                        (rev 0)
+++ extra-x86_64/revert-hal-checks.patch	2009-08-03 20:25:54 UTC (rev 48780)
@@ -0,0 +1,87 @@
+From c941479ecc2dead9c3deaee2620c9b9518c3da9a Mon Sep 17 00:00:00 2001
+From: Rémi Cardona <remi at gentoo.org>
+Date: Mon, 27 Jul 2009 10:07:51 +0000
+Subject: config: add HAL error checks
+
+This patch simplifies error handling in the HAL code and fixes a
+segfault if libhal_find_device_by_capability() failed.
+
+Fixes http://bugs.gentoo.org/278760
+
+Based on a patch by Martin von Gagern <Martin.vGagern at gmx.net>
+
+Signed-off-by: Rémi Cardona <remi at gentoo.org>
+Acked-by: Peter Hutterer <peter.hutterer at who-t.net>
+(cherry picked from commit b1c3dc6ae226db178420e3b5f297b94afc87c94c)
+---
+diff --git a/config/hal.c b/config/hal.c
+index 731d9b8..59bff66 100644
+--- a/config/hal.c
++++ b/config/hal.c
+@@ -474,13 +474,13 @@ connect_and_register(DBusConnection *connection, struct config_hal_info *info)
+     char **devices;
+     int num_devices, i;
+ 
++    if (info->hal_ctx)
++        return TRUE; /* already registered, pretend we did something */
++
+     info->system_bus = connection;
+ 
+     dbus_error_init(&error);
+ 
+-    if (info->hal_ctx)
+-        return TRUE; /* already registered, pretend we did something */
+-
+     info->hal_ctx = libhal_ctx_new();
+     if (!info->hal_ctx) {
+         LogMessage(X_ERROR, "config/hal: couldn't create HAL context\n");
+@@ -501,7 +501,7 @@ connect_and_register(DBusConnection *connection, struct config_hal_info *info)
+         LogMessage(X_ERROR, "config/hal: couldn't watch all properties: %s (%s)\n",
+ 		   error.name ? error.name : "unknown error",
+ 		   error.message ? error.message : "null");
+-        goto out_ctx2;
++        goto out_ctx;
+     }
+     libhal_ctx_set_device_added(info->hal_ctx, device_added);
+     libhal_ctx_set_device_removed(info->hal_ctx, device_removed);
+@@ -509,6 +509,12 @@ connect_and_register(DBusConnection *connection, struct config_hal_info *info)
+     devices = libhal_find_device_by_capability(info->hal_ctx, "input",
+                                                &num_devices, &error);
+     /* FIXME: Get default devices if error is set. */
++    if (dbus_error_is_set(&error)) {
++        LogMessage(X_ERROR, "config/hal: couldn't find input device: %s (%s)\n",
++		   error.name ? error.name : "unknown error",
++		   error.message ? error.message : "null");
++        goto out_ctx;
++    }
+     for (i = 0; i < num_devices; i++)
+         device_added(info->hal_ctx, devices[i]);
+     libhal_free_string_array(devices);
+@@ -517,13 +523,19 @@ connect_and_register(DBusConnection *connection, struct config_hal_info *info)
+ 
+     return TRUE;
+ 
+-out_ctx2:
+-    if (!libhal_ctx_shutdown(info->hal_ctx, &error))
+-        LogMessage(X_WARNING, "config/hal: couldn't shut down context: %s (%s)\n",
+-		   error.name ? error.name : "unknown error",
+-		   error.message ? error.message : "null");
+ out_ctx:
+-    libhal_ctx_free(info->hal_ctx);
++    dbus_error_free(&error);
++
++    if (info->hal_ctx) {
++        if (!libhal_ctx_shutdown(info->hal_ctx, &error)) {
++            LogMessage(X_WARNING, "config/hal: couldn't shut down context: %s (%s)\n",
++		       error.name ? error.name : "unknown error",
++		       error.message ? error.message : "null");
++            dbus_error_free(&error);
++        }
++        libhal_ctx_free(info->hal_ctx);
++    }
++
+ out_err:
+     dbus_error_free(&error);
+ 
+--
+cgit v0.8.2




More information about the arch-commits mailing list