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

Jan de Groot jgc at archlinux.org
Fri Apr 10 13:38:30 UTC 2009


    Date: Friday, April 10, 2009 @ 09:38:29
  Author: jgc
Revision: 34616

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

........
  r32217 | jgc | 2009-03-29 16:22:53 +0000 (Sun, 29 Mar 2009) | 1 line
  
  Delete obsolete patch
........
  r34615 | jgc | 2009-04-10 13:38:16 +0000 (Fri, 10 Apr 2009) | 3 lines
  
  upgpkg: xorg-server 1.6.0-3
      Add a commit from upstream server-1.6 branch
  Revert the commit that makes X wait for hal. This results in loss of input hotplugging when hal is not available on startup
........

Added:
  xorg-server/repos/testing-x86_64/hal-wait.patch
    (from rev 34615, xorg-server/trunk/hal-wait.patch)
Modified:
  xorg-server/repos/testing-x86_64/	(properties)
  xorg-server/repos/testing-x86_64/PKGBUILD
  xorg-server/repos/testing-x86_64/server-1.6.patch
Deleted:
  xorg-server/repos/testing-x86_64/001_fedora_extramodes.patch

-----------------------------+
 001_fedora_extramodes.patch |   85 ----------------------
 PKGBUILD                    |   11 ++
 hal-wait.patch              |  162 ++++++++++++++++++++++++++++++++++++++++++
 server-1.6.patch            |   23 +++++
 4 files changed, 193 insertions(+), 88 deletions(-)


Property changes on: xorg-server/repos/testing-x86_64
___________________________________________________________________
Modified: svnmerge-integrated
   - /xorg-server/trunk:1-32215
   + /xorg-server/trunk:1-34615

Deleted: testing-x86_64/001_fedora_extramodes.patch
===================================================================
--- testing-x86_64/001_fedora_extramodes.patch	2009-04-10 13:38:16 UTC (rev 34615)
+++ testing-x86_64/001_fedora_extramodes.patch	2009-04-10 13:38:29 UTC (rev 34616)
@@ -1,85 +0,0 @@
-From: Adam Jackson <ajax at redhat.com>
-Date: Sun, 28 Oct 2007 09:37:52 +0100
-Subject: [PATCH] Fedora extra modes list
-
----
-Index: xorg-server/hw/xfree86/common/extramodes
-===================================================================
---- xorg-server.orig/hw/xfree86/common/extramodes
-+++ xorg-server/hw/xfree86/common/extramodes
-@@ -3,16 +3,75 @@
- //
- // $XFree86: xc/programs/Xserver/hw/xfree86/etc/extramodes,v 1.5 2002/06/05 19:43:05 dawes Exp $
- //
-+// NOTE:  Please keep all video modes sorted in order of X res, then Y res for
-+//        ease of maintenance and readability.
- 
- # 832x624 @ 75Hz (74.55Hz) (fix if the official/Apple spec is different) hsync: 49.725kHz
- ModeLine "832x624" 57.284 832  864  928 1152  624  625  628  667 -Hsync -Vsync
- 
-+# 1152x864 @ 60.00 Hz (GTF) hsync: 53.70 kHz; pclk: 81.62 MHz
-+Modeline "1152x864"  81.62  1152 1216 1336 1520  864 865 868 895  -HSync +Vsync
-+
-+# 1152x864 @ 70.00 Hz (GTF) hsync: 63.00 kHz; pclk: 96.77 MHz
-+Modeline "1152x864"  96.77  1152 1224 1344 1536  864 865 868 900  -HSync +Vsync
-+
-+# 1152x864 @ 75.00 Hz (GTF) hsync: 67.65 kHz; pclk: 104.99 MHz
-+Modeline "1152x864"  104.99  1152 1224 1352 1552  864 865 868 902  -HSync +Vsync
-+
-+# 1152x864 @ 85.00 Hz (GTF) hsync: 77.10 kHz; pclk: 119.65 MHz
-+Modeline "1152x864"  119.65  1152 1224 1352 1552  864 865 868 907  -HSync +Vsync
-+
-+# 1152x864 @ 85Hz (Red Hat custom modeline)
-+ModeLine "1152x864"  121.5 1152 1216 1344 1568    864  865  868  911 +hsync -vsync
-+
-+# 1152x864 @ 100.00 Hz (GTF) hsync: 91.50 kHz; pclk: 143.47 MHz
-+Modeline "1152x864"  143.47  1152 1232 1360 1568  864 865 868 915  -HSync +Vsync
-+
-+# 1360x768 59.96 Hz (CVT) hsync: 47.37 kHz; pclk: 72.00 MHz
-+Modeline "1360x768"   72.00  1360 1408 1440 1520  768 771 781 790 +hsync -vsync
-+
-+# 1360x768 59.80 Hz (CVT) hsync: 47.72 kHz; pclk: 84.75 MHz
-+Modeline "1360x768"   84.75  1360 1432 1568 1776  768 771 781 798 -hsync +vsync
-+
- # 1400x1050 @ 60Hz (VESA GTF) hsync: 65.5kHz
- ModeLine "1400x1050" 122.0 1400 1488 1640 1880   1050 1052 1064 1082 +hsync +vsync
- 
-+# 1400x1050 @ 70.00 Hz (GTF) hsync: 76.51 kHz; pclk: 145.06 MHz
-+Modeline "1400x1050"  145.06  1400 1496 1648 1896  1050 1051 1054 1093  -HSync +Vsync
-+
- # 1400x1050 @ 75Hz (VESA GTF) hsync: 82.2kHz
- ModeLine "1400x1050" 155.8 1400 1464 1784 1912   1050 1052 1064 1090 +hsync +vsync
- 
-+# 1400x1050 @ 85.00 Hz (GTF) hsync: 93.76 kHz; pclk: 179.26 MHz
-+Modeline "1400x1050"  179.26  1400 1504 1656 1912  1050 1051 1054 1103  -HSync +Vsync
-+
-+# 1440x900 @ 60.00 Hz (CVT) field rate 59.89 Hz; hsync: 55.93 kHz; pclk: 106.50 MHz
-+Modeline "1440x900"  106.50  1440 1520 1672 1904  900 903 909 934  -HSync +Vsync
-+
-+# 1600x1024 for SGI 1600 SW
-+ModeLine "1600x1024" 103.125 1600 1600 1656 1664 1024 1024 1029 1030 +Hsync +Vsync
-+
-+# 1680x1050 59.88 Hz (CVT 1.76MA-R) hsync: 64.67 kHz; pclk: 119.00 MHz
-+Modeline "1680x1050"  119.00  1680 1728 1760 1840  1050 1053 1059 1080 +hsync -vsync
-+
-+# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
-+Modeline "1680x1050"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
-+
-+# 1680x1050 69.88 Hz (CVT) hsync: 76.58 kHz; pclk: 174.00 MHz
-+Modeline "1680x1050"  174.00  1680 1800 1976 2272  1050 1053 1059 1096 -hsync +vsync
-+
-+# 1680x1050 74.89 Hz (CVT 1.76MA) hsync: 82.31 kHz; pclk: 187.00 MHz
-+Modeline "1680x1050"  187.00  1680 1800 1976 2272  1050 1053 1059 1099 -hsync +vsync
-+
-+# 1680x1050 84.94 Hz (CVT 1.76MA) hsync: 93.86 kHz; pclk: 214.75 MHz
-+Modeline "1680x1050"  214.75  1680 1808 1984 2288  1050 1053 1059 1105 -hsync +vsync
-+
-+# 1920x1080 59.93 Hz (CVT 2.07M9-R) hsync: 66.59 kHz; pclk: 138.50 MHz
-+Modeline "1920x1080"  138.50  1920 1968 2000 2080  1080 1083 1088 1111 +hsync -vsync
-+
-+# 1920x1200 59.95 Hz (CVT 2.30MA-R) hsync: 74.04 kHz; pclk: 154.00 MHz
-+Modeline "1920x1200"  154.00  1920 1968 2000 2080  1200 1203 1209 1235 +hsync -vsync
-+
- # 1920x1440 @ 85Hz (VESA GTF) hsync: 128.5kHz
- Modeline "1920x1440" 341.35  1920 2072 2288 2656  1440 1441 1444 1512 -hsync +vsync
- 

Modified: testing-x86_64/PKGBUILD
===================================================================
--- testing-x86_64/PKGBUILD	2009-04-10 13:38:16 UTC (rev 34615)
+++ testing-x86_64/PKGBUILD	2009-04-10 13:38:29 UTC (rev 34616)
@@ -4,7 +4,7 @@
 
 pkgname=xorg-server
 pkgver=1.6.0
-pkgrel=2
+pkgrel=3
 pkgdesc="X.Org X servers"
 arch=('i686' 'x86_64')
 license=('custom')
@@ -18,10 +18,12 @@
 install=xorg-server.install
 source=(${url}/releases/individual/xserver/${pkgname}-${pkgver}.tar.bz2
 	xorg-redhat-die-ugly-pattern-die-die-die.patch
-	server-1.6.patch)
+	server-1.6.patch
+	hal-wait.patch)
 md5sums=('aafe73f5807ce8bb534727ecb72467c7'
          '1a336eb22e27cbf443ec5a2ecddfa93c'
-	 'bf0b1c3dba3d7e470c9701039b0dfc7c')
+         '064559385557ad02432a1e800b92b14e'
+         'f16d2caef84e1a9c4075b6c5e145512d')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
@@ -31,6 +33,9 @@
   # Upstream fixes from server-1.6 branch
   patch -Np1 -i "${srcdir}/server-1.6.patch" || return 1
 
+  # Revert waiting for hal, assume hal won't show up when initial connect fails
+  patch -R -Np1 -i "${srcdir}/hal-wait.patch" || return 1
+
   # Fix dbus config path
   sed -i -e 's/\$(sysconfdir)/\/etc/' config/Makefile.*  || return 1
 

Copied: xorg-server/repos/testing-x86_64/hal-wait.patch (from rev 34615, xorg-server/trunk/hal-wait.patch)
===================================================================
--- testing-x86_64/hal-wait.patch	                        (rev 0)
+++ testing-x86_64/hal-wait.patch	2009-04-10 13:38:29 UTC (rev 34616)
@@ -0,0 +1,162 @@
+From 6b8bbbd21b39181e9dd3175fa73c05008c361ba2 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer at who-t.net>
+Date: Wed, 04 Feb 2009 01:50:18 +0000
+Subject: config: if we can't connect to HAL, listen for a startup notification.
+
+If HAL isn't available when we try to connect, the registered NameOwnerChanged
+signal handler waits until HAL is available. Once we connected to HAL, we
+unregister the signal handler again.
+This allows HAL to be started in parallel or after the server has started.
+
+Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
+(cherry picked from commit 4844bff58f296b2851be4e6b955c3a68d02437a9)
+
+Signed-off-by: Keith Packard <keithp at keithp.com>
+---
+diff --git a/config/hal.c b/config/hal.c
+index 8dfbb07..36fa839 100644
+--- a/config/hal.c
++++ b/config/hal.c
+@@ -467,11 +467,10 @@ disconnect_hook(void *data)
+     info->system_bus = NULL;
+ }
+ 
+-static void
+-connect_hook(DBusConnection *connection, void *data)
++static BOOL
++connect_and_register(DBusConnection *connection, struct config_hal_info *info)
+ {
+     DBusError error;
+-    struct config_hal_info *info = data;
+     char **devices;
+     int num_devices, i;
+ 
+@@ -479,8 +478,10 @@ connect_hook(DBusConnection *connection, void *data)
+ 
+     dbus_error_init(&error);
+ 
+-    if (!info->hal_ctx)
+-        info->hal_ctx = libhal_ctx_new();
++    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");
+         goto out_err;
+@@ -512,7 +513,7 @@ connect_hook(DBusConnection *connection, void *data)
+ 
+     dbus_error_free(&error);
+ 
+-    return;
++    return TRUE;
+ 
+ out_ctx2:
+     if (!libhal_ctx_shutdown(info->hal_ctx, &error))
+@@ -526,6 +527,104 @@ out_err:
+     info->hal_ctx = NULL;
+     info->system_bus = NULL;
+ 
++    return FALSE;
++}
++
++
++/**
++ * Handle NewOwnerChanged signals to deal with HAL startup at X server runtime.
++ *
++ * NewOwnerChanged is send once when HAL shuts down, and once again when it
++ * comes back up. Message has three arguments, first is the name
++ * (org.freedesktop.Hal), the second one is the old owner, third one is new
++ * owner.
++ */
++static DBusHandlerResult
++ownerchanged_handler(DBusConnection *connection, DBusMessage *message, void *data)
++{
++    int ret = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
++
++    if (dbus_message_is_signal(message,
++                               "org.freedesktop.DBus",
++                               "NameOwnerChanged")) {
++        DBusError error;
++        char *name, *old_owner, *new_owner;
++
++        dbus_error_init(&error);
++        dbus_message_get_args(message, &error,
++                              DBUS_TYPE_STRING, &name,
++                              DBUS_TYPE_STRING, &old_owner,
++                              DBUS_TYPE_STRING, &new_owner,
++                              DBUS_TYPE_INVALID);
++
++        if (dbus_error_is_set(&error)) {
++            ErrorF("[config/hal] failed to get NameOwnerChanged args: %s (%s)\n",
++                   error.name, error.message);
++        } else if (name && strcmp(name, "org.freedesktop.Hal") == 0) {
++
++            if (!old_owner || !strlen(old_owner)) {
++                DebugF("[config/hal] HAL startup detected.\n");
++                if (connect_and_register(connection, (struct config_hal_info*)data))
++                    dbus_connection_unregister_object_path(connection,
++                                                     "/org/freedesktop/DBus");
++                else
++                    ErrorF("[config/hal] Failed to connect to HAL bus.\n");
++            }
++
++            ret = DBUS_HANDLER_RESULT_HANDLED;
++        }
++        dbus_error_free(&error);
++    }
++
++    return ret;
++}
++
++/**
++ * Register a handler for the NameOwnerChanged signal.
++ */
++static BOOL
++listen_for_startup(DBusConnection *connection, void *data)
++{
++    DBusObjectPathVTable vtable = { .message_function = ownerchanged_handler, };
++    DBusError error;
++    const char MATCH_RULE[] = "sender='org.freedesktop.DBus',"
++                              "interface='org.freedesktop.DBus',"
++                              "type='signal',"
++                              "path='/org/freedesktop/DBus',"
++                              "member='NameOwnerChanged'";
++    int rc = FALSE;
++
++    dbus_error_init(&error);
++    dbus_bus_add_match(connection, MATCH_RULE, &error);
++    if (!dbus_error_is_set(&error)) {
++        if (dbus_connection_register_object_path(connection,
++                                                  "/org/freedesktop/DBus",
++                                                  &vtable,
++                                                  data))
++            rc = TRUE;
++        else
++            ErrorF("[config/hal] cannot register object path.\n");
++    } else {
++        ErrorF("[config/hal] couldn't add match rule: %s (%s)\n", error.name,
++                error.message);
++        ErrorF("[config/hal] cannot detect a HAL startup.\n");
++    }
++
++    dbus_error_free(&error);
++
++    return rc;
++}
++
++static void
++connect_hook(DBusConnection *connection, void *data)
++{
++    struct config_hal_info *info = data;
++
++    if (listen_for_startup(connection, data) &&
++        connect_and_register(connection, info))
++        dbus_connection_unregister_object_path(connection,
++                                               "/org/freedesktop/DBus");
++
+     return;
+ }
+ 
+--
+cgit v0.8.2

Modified: testing-x86_64/server-1.6.patch
===================================================================
--- testing-x86_64/server-1.6.patch	2009-04-10 13:38:16 UTC (rev 34615)
+++ testing-x86_64/server-1.6.patch	2009-04-10 13:38:29 UTC (rev 34616)
@@ -538,3 +538,26 @@
          }
          else {
              if (dst->geom->label_font) {
+From b7dc7374bbcb708eee6eec26ff141619f914d8eb Mon Sep 17 00:00:00 2001
+From: Eamon Walsh <ewalsh at tycho.nsa.gov>
+Date: Mon, 09 Mar 2009 21:28:40 +0000
+Subject: Correct access mode in call to dixLookupWindow() within RRSelectInput.
+
+Reported by Alan Coopersmith.
+(cherry picked from commit 6544490700051b3b5e88ac1890d71b35634c9100)
+---
+diff --git a/randr/rrdispatch.c b/randr/rrdispatch.c
+index 5a2ea71..0925875 100644
+--- a/randr/rrdispatch.c
++++ b/randr/rrdispatch.c
+@@ -76,7 +76,7 @@ ProcRRSelectInput (ClientPtr client)
+     int		rc;
+ 
+     REQUEST_SIZE_MATCH(xRRSelectInputReq);
+-    rc = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess);
++    rc = dixLookupWindow(&pWin, stuff->window, client, DixReceiveAccess);
+     if (rc != Success)
+ 	return rc;
+     pHead = (RREventPtr *)SecurityLookupIDByType(client,
+--
+cgit v0.8.2




More information about the arch-commits mailing list