Add upstream patch to build on fbsd; bug #309263
authorDaniel Gryniewicz <dang@gentoo.org>
Wed, 17 Mar 2010 13:01:02 +0000 (13:01 +0000)
committerDaniel Gryniewicz <dang@gentoo.org>
Wed, 17 Mar 2010 13:01:02 +0000 (13:01 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

sys-apps/hal/ChangeLog
sys-apps/hal/Manifest
sys-apps/hal/files/hal-0.5.14-r2-fbsd.patch [new file with mode: 0644]
sys-apps/hal/hal-0.5.14-r2.ebuild

index 5fd7e833656c09636e9baa1cc9f9083607f5df41..972544decee822ed76042b11cff90d78ab0f5668 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for sys-apps/hal
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/ChangeLog,v 1.314 2010/03/10 21:47:55 dang Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/ChangeLog,v 1.315 2010/03/17 13:01:01 dang Exp $
+
+  17 Mar 2010; Daniel Gryniewicz <dang@gentoo.org> hal-0.5.14-r2.ebuild,
+  +files/hal-0.5.14-r2-fbsd.patch:
+  Add upstream patch to build on fbsd; bug #309263
 
   10 Mar 2010; Daniel Gryniewicz <dang@gentoo.org> -hal-0.5.11-r9.ebuild,
   -hal-0.5.12_rc1-r6.ebuild, -hal-0.5.12_rc1-r7.ebuild,
index 47cc68edd7552a939748a3a5de61623f017ba7d0..6fc62234966ad7677eadbb5cf5995705a1802813 100644 (file)
@@ -1,10 +1,8 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
 AUX 0.5.10-hald.conf 119 RMD160 06e205ba7fa8acfb6f68e84a247845a3ad028351 SHA1 c8a62a808c7f632154dda1686fe344a4a136e28f SHA256 b19e6df9c78b6f813405a7cbff20e049714db1a000e6b71ab2eca02d372d58af
 AUX 0.5.10-hald.rc 1187 RMD160 b640dcca1b4c467eb678dfbdc903f26912096ac2 SHA1 a6336ced0ed7af6458ff6d09cfb1a9c411f12a61 SHA256 fc031eb3eb527378dc9fe99c2cab75e229d451093ef89e5f623626c4cd0e1b61
 AUX 0.5.14-hald.conf 119 RMD160 06e205ba7fa8acfb6f68e84a247845a3ad028351 SHA1 c8a62a808c7f632154dda1686fe344a4a136e28f SHA256 b19e6df9c78b6f813405a7cbff20e049714db1a000e6b71ab2eca02d372d58af
 AUX 0.5.14-hald.rc 1174 RMD160 e9371f69f6594cf53de234e443a204c2b2127d31 SHA1 35ff148aec2d457cdeaed7e2032a414315a7236b SHA256 0ba01941ed8b7946524fb7ba4253c3ae57c6bdf9ddb4eaa01bd9bd89d1d4ef21
+AUX hal-0.5.14-r2-fbsd.patch 4380 RMD160 9a3483cf3a7eee5f43b582b9ca531da7487221f9 SHA1 67d41b9b74d89ab7645ac3750780895a70856e50 SHA256 8299068a7d0276e2e08785a56e3285d4232435a427c3059cc9f88ebe87e97ee2
 AUX hal-unmount.dev 397 RMD160 78286dd9527bbb421082e73b0d08e06cd514d275 SHA1 31169a28448fb1eb1dfee5d1699de9a02449a6b7 SHA256 747a4c483f8a558f2c75666e9547e539475f112363f1dbfc6ea19ca393c8e89b
 DIST hal-0.5.12rc1-gentoo-patches-8.tar.bz2 4196 RMD160 d503c42a03cca62fab12f3dc15897b20ce8fe37d SHA1 c3782090d2b8a1f0c69e58454a868896618e58a1 SHA256 6e5b3121ebaed2208ad30cd5778ead921e6480c06270da0aac78522a204cdc86
 DIST hal-0.5.12rc1.tar.bz2 1160384 RMD160 dce660d600c18bfd910814516b675f141d369824 SHA1 1dc809e98cea0fc2f183958da24921c2eaf55edc SHA256 eeeb438dcc2a58288ed3def8c1d0076ca16f35b54d501c46f96e89da24fe38f4
@@ -17,14 +15,7 @@ DIST hal-0.5.14.tar.bz2 942954 RMD160 0314dace9512bf49a62bd1556963fc60a6c9caf9 S
 EBUILD hal-0.5.12_rc1-r8.ebuild 9605 RMD160 f6d09e5620ac7d28b7c5953ba4b062450da90817 SHA1 a4dadfc565aa8fe6bbf3348779db4cf93b1cd83b SHA256 18f541b86587b98102086c06d50c0eaa324bddeb64e6c72486ea567516a30836
 EBUILD hal-0.5.13-r2.ebuild 9793 RMD160 dcd8f938dccd0decc0134a06be9a628ea5c0954e SHA1 c3f8d1beb9ed79d885da59bd97294d4795e42775 SHA256 a35466fa8b1cfee9963fe72aef729a28c3528ee10dd59bf87d3175e033c09757
 EBUILD hal-0.5.14-r1.ebuild 9864 RMD160 1240479f004973aeef8c23677563e618b1f1a56a SHA1 b0b89e2a47593047eb979dafa77b1d1a5b3c4fa3 SHA256 12d35778c646e50ef617864cc77c404b26bf688aa099abcc3bfe307827824851
-EBUILD hal-0.5.14-r2.ebuild 10107 RMD160 03998033552a0a216f3a26bfa5ceb2e69eee6630 SHA1 184cc0295b2823600566c57973c8034a199fa54d SHA256 fcf9b44a37d8d4485b7e553e329980d59cb40c65b08ad02da0d93dfedde8e6a3
+EBUILD hal-0.5.14-r2.ebuild 10214 RMD160 054db1818c0c5d14ca4beb418c0ffdb0cce6e510 SHA1 ab1ee9b04ad78e0956d8509aeefdf7e65003c0c0 SHA256 135146d7112932cf900e314347d570bf08eea723897db4c5e796b5cdb9d3c6c4
 EBUILD hal-0.5.14.ebuild 9865 RMD160 5f2c448e12431680ef3691fc0df49889f45fef1b SHA1 64dcc78ddda9c8a455fa5910203ce8bbfd5a5554 SHA256 9af3aa58cbad6ae47ee67b3da8e205c13c0a0c1113f85c7d0db181f5a587c5a4
-MISC ChangeLog 55921 RMD160 f73126f2bf67102cf9670a2c5eabc8d81bb43563 SHA1 bdab60659f6f9da6fcc35d450f5173f0bd37ee00 SHA256 922f4cd19bde73cf52c6c2ca21fa34254c37ad7a9366e4cdc5c437088cdcaf09
+MISC ChangeLog 56081 RMD160 184abd342b842dbc814a069b1e5582d4375938eb SHA1 476eb52c31c034ff89c729b0e227fb82977bde68 SHA256 eb7017d91f962c960b69f68d45d0d107cf98baa1bee4bc313526efc9a7bf7797
 MISC metadata.xml 2017 RMD160 90b6fed11f5582fce64fe36354e94b811478d21e SHA1 2b2693c7d677adf363e41e16cc71787fbe01d383 SHA256 910ab10f73ca0bccdea716f39dd3d3cc3d594bd25f6bbb7e25b70082be194048
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.14 (GNU/Linux)
-
-iEYEARECAAYFAkuYE4gACgkQomPajV0RnrEp+gCeI8eK4E6Q8JDn7TtFZMQq6Svr
-0TMAmwRghYYU4QscDto3mRj22mJyrZvp
-=XSGt
------END PGP SIGNATURE-----
diff --git a/sys-apps/hal/files/hal-0.5.14-r2-fbsd.patch b/sys-apps/hal/files/hal-0.5.14-r2-fbsd.patch
new file mode 100644 (file)
index 0000000..59be26d
--- /dev/null
@@ -0,0 +1,121 @@
+commit a3ea9ecc75a414e35ae763a92a2c3fa05a7ca0b3
+Author: Joe Marcus Clarke <marcus@FreeBSD.org>
+Date:   Fri Dec 25 11:21:23 2009 -0500
+
+    Fix (or workaround) quite a few bugs with newusb interaction
+    
+    * Allow the newusb module to compile with the recent input changes from
+      kFreeBSD.
+    * Make sure usb2 devices attach properly to the device tree with the correct
+      parent.
+    * Properly detect when newusb devices are added and removed.
+
+diff --git a/hald/freebsd/hf-usb2.c b/hald/freebsd/hf-usb2.c
+index fff49e0..f1a02e2 100644
+--- a/hald/freebsd/hf-usb2.c
++++ b/hald/freebsd/hf-usb2.c
+@@ -98,10 +98,10 @@ hf_usb2_probe_interfaces(HalDevice *parent)
+         if (driver)
+             {
+             if (! strcmp(driver, "ukbd"))
+-                hf_device_set_input(device, "keyboard", NULL);
+-            else if (! strcmp(driver, "ums"))
++                hf_device_set_input(device, "keyboard", "keys", devname);
++            else if (! strcmp(driver, "ums") || ! strcmp(driver, "atp"))
+                 {
+-                  hf_device_set_input(device, "mouse", devname);
++                  hf_device_set_input(device, "mouse", NULL, devname);
+                 hf_runner_run_sync(device, 0, "hald-probe-mouse", NULL);
+               }
+             else if (! strcmp(driver, "uhid"))
+@@ -192,11 +192,12 @@ hf_usb2_probe (void)
+       addr = libusb20_dev_get_address(pdev);
+ 
+       if (addr == 1)
+-        parent = hf_devtree_find_parent_from_info(hald_get_gdl(), "usbus", bus);
++        parent = hf_devtree_find_from_info(hald_get_gdl(), "usbus", bus);
+       else
+         parent = hf_device_store_match(hald_get_gdl(), "usb_device.bus_number",
+           HAL_PROPERTY_TYPE_INT32, bus, "usb_device.port_number",
+-        HAL_PROPERTY_TYPE_INT32, addr - 1, NULL);
++        HAL_PROPERTY_TYPE_INT32, addr - 1, "info.bus",
++        HAL_PROPERTY_TYPE_STRING, "usb_device", NULL);
+       if (! parent || hal_device_property_get_bool(parent, "info.ignore"))
+         continue;
+ 
+@@ -216,7 +217,13 @@ hf_usb2_devd_add (const char *name,
+   HalDevice *parent_device;
+   int bus, addr, pbus, paddr;
+ 
+-  if (strncmp(name, "ugen", strlen("ugen")))
++  if (! parent)
++    return FALSE;
++
++  if (strncmp(name, "ugen", strlen("ugen")) &&
++      ! strncmp(parent, "uhub", strlen("uhub")))
++    return TRUE;
++  else if (strncmp(name, "ugen", strlen("ugen")))
+     return FALSE;
+   else if (strncmp(parent, "ugen", strlen("ugen")))
+     return TRUE;
+@@ -232,7 +239,8 @@ hf_usb2_devd_add (const char *name,
+ 
+   parent_device = hf_device_store_match(hald_get_gdl(),
+     "usb_device.bus_number", HAL_PROPERTY_TYPE_INT32, pbus,
+-    "usb_device.port_number", HAL_PROPERTY_TYPE_INT32, paddr, NULL);
++    "usb_device.port_number", HAL_PROPERTY_TYPE_INT32, paddr, "info.bus",
++    HAL_PROPERTY_TYPE_STRING, "usb_device", NULL);
+ 
+   if (parent_device && ! hal_device_property_get_bool(parent_device,
+       "info.ignore"))
+@@ -255,8 +263,6 @@ hf_usb2_devd_remove (const char *name,
+ 
+   if (strncmp(name, "ugen", strlen("ugen")))
+     return FALSE;
+-  else if (strncmp(parent, "ugen", strlen("ugen")))
+-    return TRUE;
+ 
+   if (sscanf(name, "ugen%i.%i", &bus, &addr) != 2)
+     return FALSE;
+@@ -265,7 +271,8 @@ hf_usb2_devd_remove (const char *name,
+ 
+   device = hf_device_store_match(hald_get_gdl(), "usb_device.bus_number",
+     HAL_PROPERTY_TYPE_INT32, bus, "usb_device.port_number",
+-    HAL_PROPERTY_TYPE_INT32, addr, NULL);
++    HAL_PROPERTY_TYPE_INT32, addr, "info.bus",
++    HAL_PROPERTY_TYPE_STRING, "usb_device", NULL);
+ 
+   if (device)
+     {
+@@ -276,6 +283,23 @@ hf_usb2_devd_remove (const char *name,
+   return FALSE;
+ }
+ 
++static gboolean
++hf_usb2_devd_notify (const char *system,
++                   const char *subsystem,
++                   const char *type,
++                   const char *data)
++{
++  if (! data || strcmp(system, "DEVFS") || strcmp(subsystem, "CDEV") ||
++      (strcmp(type, "CREATE") && strcmp(type, "DESTROY")))
++    return FALSE;
++
++  if (! strncmp(data, "cdev=ugen", strlen("cdev=ugen")) ||
++      ! strncmp(data, "cdev=usb", strlen("cdev=usb")))
++    return TRUE;
++
++  return FALSE;
++}
++
+ HFHandler hf_usb2_handler = {
+   .privileged_init    = hf_usb2_privileged_init,
+   .probe              = hf_usb2_probe
+@@ -283,5 +307,6 @@ HFHandler hf_usb2_handler = {
+ 
+ HFDevdHandler hf_usb2_devd_handler = {
+   .add =      hf_usb2_devd_add,
+-  .remove =   hf_usb2_devd_remove
++  .remove =   hf_usb2_devd_remove,
++  .notify =     hf_usb2_devd_notify
+ };
index 2244b3e8a3e28073896ec43facf573ae56a6b4f2..fb12ac4264831b39cc31fd2a6676dac56324d465 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/hal-0.5.14-r2.ebuild,v 1.1 2010/01/20 13:42:15 dang Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/hal-0.5.14-r2.ebuild,v 1.2 2010/03/17 13:01:01 dang Exp $
 
 EAPI="2"
 
@@ -132,6 +132,9 @@ pkg_setup() {
 }
 
 src_prepare() {
+       # Patch for fbsd, Bug #309263.  MOVE INTO PATCHSET FOR NEXT BUMP!
+       epatch "${FILESDIR}"/${PF}-fbsd.patch
+
        # Only apply one of the policy patches.  Bug #267042
        if use policykit ; then
                rm "${WORKDIR}/${PATCHNAME}/patches/0001-plugdev-dbus-policy.patch"