diff -Nru hal-0.5.14/debian/changelog hal-0.5.14/debian/changelog --- hal-0.5.14/debian/changelog 2013-10-21 14:23:30.000000000 +0000 +++ hal-0.5.14/debian/changelog 2013-07-01 11:32:48.000000000 +0000 @@ -1,9 +1,33 @@ -hal (0.5.14-8ubuntu2.1) trusty; urgency=low +hal (0.5.14-8ubuntu2ppa5) saucy; urgency=low - * Non-maintainer upload. - * Build for trusty. + * As a hack, install preferences.fdi into /etc/hal/fdi/{preprobe,information} + so that fdi cache generation works (lp: #1192171) - -- Mateusz Łukasik Mon, 21 Oct 2013 16:23:08 +0200 + -- Michael Blennerhassett Mon, 01 Jul 2013 21:26:46 +1000 + +hal (0.5.14-8ubuntu2ppa4) saucy; urgency=low + + * Don't install /lib/udev/rules.d/90-hal.rules + + -- Michael Blennerhassett Mon, 01 Jul 2013 19:19:11 +1000 + +hal (0.5.14-8ubuntu2ppa3) saucy; urgency=low + + * Hardcode /dev, rather than using udevadm + + -- Michael Blennerhassett Mon, 01 Jul 2013 18:33:00 +1000 + +hal (0.5.14-8ubuntu2ppa2) saucy; urgency=low + + * Add libudev-dev dep. + + -- Michael Blennerhassett Sun, 30 Jun 2013 21:23:23 +1000 + +hal (0.5.14-8ubuntu2ppa1) saucy; urgency=low + + * Get the events directly from libudev. + + -- Michael Blennerhassett Sun, 30 Jun 2013 20:05:27 +1000 hal (0.5.14-8ubuntu2) saucy; urgency=low diff -Nru hal-0.5.14/debian/control hal-0.5.14/debian/control --- hal-0.5.14/debian/control 2013-04-30 23:39:03.000000000 +0000 +++ hal-0.5.14/debian/control 2013-06-30 11:23:15.000000000 +0000 @@ -21,6 +21,7 @@ libusbhid-dev [kfreebsd-any], libcam-dev [kfreebsd-any], libblkid-dev (>= 2.15), + libudev-dev (>= 185), xmlto, libxml2-utils, gtk-doc-tools, diff -Nru hal-0.5.14/debian/hal.install hal-0.5.14/debian/hal.install --- hal-0.5.14/debian/hal.install 2011-02-07 21:47:54.000000000 +0000 +++ hal-0.5.14/debian/hal.install 2013-07-01 11:26:37.000000000 +0000 @@ -7,6 +7,8 @@ # Now conditionally installed from debian/rules: # debian/tmp/lib/udev/rules.d/ debian/preferences.fdi etc/hal/fdi/policy +debian/preferences.fdi etc/hal/fdi/preprobe +debian/preferences.fdi etc/hal/fdi/information debian/debian-storage-policy-ignore-fixed-crypto-drives.fdi usr/share/hal/fdi/policy/10osvendor # D-Bus activation debian/org.freedesktop.Hal.service usr/share/dbus-1/system-services/ diff -Nru hal-0.5.14/debian/patches/66-hal-libudev-events.patch hal-0.5.14/debian/patches/66-hal-libudev-events.patch --- hal-0.5.14/debian/patches/66-hal-libudev-events.patch 1970-01-01 00:00:00.000000000 +0000 +++ hal-0.5.14/debian/patches/66-hal-libudev-events.patch 2013-06-30 10:01:05.000000000 +0000 @@ -0,0 +1,345 @@ +Description: Get the events directly from libudev. + +--- hal-0.5.14.orig/configure.in ++++ hal-0.5.14/configure.in +@@ -14,6 +14,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_R + + glib_module="glib-2.0 >= 2.10.0 gobject-2.0 > 2.10.0 dbus-glib-1 >= 0.61" + dbus_module="dbus-1 >= 0.61" ++udev_module="libudev >= 185" + blkid_module="blkid >= 2.15" + volume_id_module="libvolume_id >= 0.77" + polkit_module="polkit >= 0.5" +@@ -705,6 +706,11 @@ PKG_CHECK_MODULES(DBUS, [$dbus_module]) + AC_SUBST(DBUS_CFLAGS) + AC_SUBST(DBUS_LIBS) + ++# D-Bus libs ++PKG_CHECK_MODULES(UDEV, [$udev_module]) ++AC_SUBST(UDEV_CFLAGS) ++AC_SUBST(UDEV_LIBS) ++ + # glib libs + PKG_CHECK_MODULES(GLIB, [$glib_module]) + AC_SUBST(GLIB_CFLAGS) +--- hal-0.5.14.orig/hald/Makefile.am ++++ hal-0.5.14/hald/Makefile.am +@@ -74,7 +74,7 @@ if HAVE_CONKIT + hald_SOURCES += ck-tracker.h ck-tracker.c + endif + +-hald_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ @POLKIT_LIBS@ -lm @HALD_OS_LIBS@ $(top_builddir)/hald/$(HALD_BACKEND)/libhald_$(HALD_BACKEND).la ++hald_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ @POLKIT_LIBS@ -lm @HALD_OS_LIBS@ $(top_builddir)/hald/$(HALD_BACKEND)/libhald_$(HALD_BACKEND).la @UDEV_LIBS@ + + #### Init scripts fun + SCRIPT_IN_FILES=haldaemon.in +--- hal-0.5.14.orig/hald/linux/osspec.c ++++ hal-0.5.14/hald/linux/osspec.c +@@ -44,6 +44,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -69,158 +70,97 @@ + + static gboolean hald_done_synthesizing_coldplug = FALSE; + +-static gboolean +-hald_udev_data (GIOChannel *source, GIOCondition condition, gpointer user_data) ++static long long get_ll_dev_prop(struct udev_device *device, const char *property) + { +- int fd; +- int retval; +- struct msghdr smsg; +- struct cmsghdr *cmsg; +- struct iovec iov; +- struct ucred *cred; +- char cred_msg[CMSG_SPACE(sizeof(struct ucred))]; ++ long long result = 0; ++ const char * propVal = udev_device_get_property_value(device, property); + +- char buf[4096]; +- size_t bufpos = 0; +- const char *action = NULL; +- HotplugEvent *hotplug_event; ++ if(propVal != NULL) { ++ result = strtoull(propVal, NULL, 10); ++ HAL_INFO(("Property: %s Value: %lli", property, result)); ++ } ++ return result; ++} + +- memset(buf, 0x00, sizeof (buf)); ++static void copy_dev_prop(struct udev_device *device, char * dst, size_t dst_size, const char *property) ++{ ++ const char * propVal = udev_device_get_property_value(device, property); + +- fd = g_io_channel_unix_get_fd (source); ++ if(propVal != NULL) { ++ g_strlcpy (dst, propVal, dst_size); ++ HAL_INFO(("Property: %s Value: %s", property, dst)); ++ } ++} + +- iov.iov_base = &buf; +- iov.iov_len = sizeof (buf); ++static void copy_dev_prop_formatted(struct udev_device *device, char * format, char * dst, size_t dst_size, const char *property) ++{ ++ const char * propVal = udev_device_get_property_value(device, property); + +- memset(&smsg, 0x00, sizeof (struct msghdr)); +- smsg.msg_iov = &iov; +- smsg.msg_iovlen = 1; +- smsg.msg_control = cred_msg; +- smsg.msg_controllen = sizeof (cred_msg); +- +- retval = recvmsg (fd, &smsg, 0); +- if (retval < 0) { +- if (errno != EINTR) +- HAL_INFO (("Unable to receive message, errno=%d", errno)); +- goto out; ++ if(propVal != NULL) { ++ g_snprintf (dst, dst_size, format, propVal); ++ HAL_INFO(("Property: %s Value: %s", property, dst)); + } +- cmsg = CMSG_FIRSTHDR (&smsg); +- cred = (struct ucred *) CMSG_DATA (cmsg); ++} + +- if (cmsg == NULL || cmsg->cmsg_type != SCM_CREDENTIALS) { +- HAL_INFO (("No sender credentials received, message ignored")); +- goto out; +- } ++static gboolean ++hald_udev_data (GIOChannel *source, GIOCondition condition, gpointer user_data) ++{ ++ struct udev_monitor *udev_monitor = (struct udev_monitor *) user_data; ++ struct udev_device *device; + +- if (cred->uid != 0) { +- HAL_INFO (("Sender uid=%i, message ignored", cred->uid)); +- goto out; +- } ++ char *tmp, *tmp1; ++ ++ const char *action = NULL; ++ HotplugEvent *hotplug_event; + +- if (!strstr(buf, "@/")) { +- HAL_INFO (("invalid message format")); ++ device = udev_monitor_receive_device(udev_monitor); ++ ++ if (!device) { ++ HAL_ERROR (("Unable to receive message from udev device")); + goto out; + } + + hotplug_event = g_slice_new0 (HotplugEvent); + hotplug_event->type = HOTPLUG_EVENT_SYSFS; + +- while (bufpos < sizeof (buf)) { +- size_t keylen; +- char *key; +- char *str, *dstr; +- +- key = &buf[bufpos]; +- keylen = strlen(key); +- if (keylen == 0) +- break; +- bufpos += keylen + 1; +- +- if (strncmp(key, "ACTION=", 7) == 0) +- action = &key[7]; +- else if (strncmp(key, "DEVPATH=", 8) == 0) { +- +- /* md devices are handled via looking at /proc/mdstat */ +- if (g_str_has_prefix (key + 8, "/block/md")) { +- HAL_INFO (("skipping md event for %s", key + 8)); +- goto invalid; +- } +- +- g_snprintf (hotplug_event->sysfs.sysfs_path, sizeof (hotplug_event->sysfs.sysfs_path), +- "/sys%s", &key[8]); +- } else if (strncmp(key, "DEVPATH_OLD=", 12) == 0) { +- +- /* md devices are handled via looking at /proc/mdstat */ +- if (g_str_has_prefix (key + 12, "/block/md")) { +- HAL_INFO (("skipping md event for %s", key + 8)); +- goto invalid; +- } +- +- g_snprintf (hotplug_event->sysfs.sysfs_path_old, sizeof (hotplug_event->sysfs.sysfs_path_old), +- "/sys%s", &key[12]); +- } else if (strncmp(key, "SUBSYSTEM=", 10) == 0) +- g_strlcpy (hotplug_event->sysfs.subsystem, &key[10], sizeof (hotplug_event->sysfs.subsystem)); +- else if (strncmp(key, "DEVNAME=", 8) == 0) +- g_strlcpy (hotplug_event->sysfs.device_file, &key[8], sizeof (hotplug_event->sysfs.device_file)); +- else if (strncmp(key, "SEQNUM=", 7) == 0) +- hotplug_event->sysfs.seqnum = strtoull(&key[7], NULL, 10); +- else if (strncmp(key, "IFINDEX=", 8) == 0) +- hotplug_event->sysfs.net_ifindex = strtoul(&key[8], NULL, 10); +- else if (strncmp(key, "ID_VENDOR=", 10) == 0) { +- if ((str = hal_util_strdup_valid_utf8(&key[10])) != NULL ) { +- g_strlcpy (hotplug_event->sysfs.vendor, str, sizeof(hotplug_event->sysfs.vendor)); +- g_free (str); +- } +- } else if (strncmp(key, "ID_MODEL=", 9) == 0) { +- if ((str = hal_util_strdup_valid_utf8(&key[9])) != NULL ) { +- g_strlcpy (hotplug_event->sysfs.model, str, sizeof(hotplug_event->sysfs.model)); +- g_free (str); +- } +- } else if (strncmp(key, "ID_REVISION=", 12) == 0) { +- if ((str = hal_util_strdup_valid_utf8(&key[12])) != NULL ) { +- g_strlcpy (hotplug_event->sysfs.revision, str, sizeof(hotplug_event->sysfs.revision)); +- g_free (str); +- } +- } else if (strncmp(key, "ID_SERIAL=", 10) == 0) { +- if ((str = hal_util_strdup_valid_utf8(&key[10])) != NULL ) { +- g_strlcpy (hotplug_event->sysfs.serial, str, sizeof(hotplug_event->sysfs.serial)); +- g_free (str); +- } +- } else if (strncmp(key, "ID_FS_USAGE=", 12) == 0) { +- if ((str = hal_util_strdup_valid_utf8(&key[12])) != NULL ) { +- g_strlcpy (hotplug_event->sysfs.fsusage, str, sizeof(hotplug_event->sysfs.fsusage)); +- g_free (str); +- } +- } else if (strncmp(key, "ID_FS_TYPE=", 11) == 0) { +- if ((str = hal_util_strdup_valid_utf8(&key[11])) != NULL ) { +- g_strlcpy (hotplug_event->sysfs.fstype, str, sizeof(hotplug_event->sysfs.fstype)); +- g_free (str); +- } +- } else if (strncmp(key, "ID_FS_VERSION=", 14) == 0) { +- if ((str = hal_util_strdup_valid_utf8(&key[14])) != NULL ) { +- g_strlcpy (hotplug_event->sysfs.fsversion, str, sizeof(hotplug_event->sysfs.fsversion)); +- g_free (str); +- } +- } else if (strncmp(key, "ID_FS_UUID=", 11) == 0) { +- if ((str = hal_util_strdup_valid_utf8(&key[11])) != NULL ) { +- g_strlcpy (hotplug_event->sysfs.fsuuid, str, sizeof(hotplug_event->sysfs.fsuuid)); +- g_free (str); +- } +- } else if (strncmp(key, "ID_FS_LABEL_ENC=", 16) == 0) { +- dstr = g_malloc0 (keylen - 15); +- hal_util_decode_escape (&key[16], dstr, sizeof(hotplug_event->sysfs.fslabel)); +- +- if ((str = hal_util_strdup_valid_utf8(dstr)) != NULL ) { +- g_strlcpy (hotplug_event->sysfs.fslabel, str, sizeof(hotplug_event->sysfs.fslabel)); +- g_free (str); +- } +- g_free (dstr); +- } else if (strncmp(key, "DM_UDEV_DISABLE_OTHER_RULES_FLAG=", 33) == 0) { +- if (strtoul(&key[33], NULL, 10) == 1) { +- HAL_INFO (("ignoring device requested by DM udev rules")); +- goto invalid; +- } ++ action = udev_device_get_action(device); ++ ++ copy_dev_prop_formatted(device, "/sys%s", hotplug_event->sysfs.sysfs_path, sizeof(hotplug_event->sysfs.sysfs_path), "DEVPATH"); ++ copy_dev_prop(device, hotplug_event->sysfs.subsystem, sizeof(hotplug_event->sysfs.subsystem), "SUBSYSTEM"); ++ copy_dev_prop(device, hotplug_event->sysfs.device_file, sizeof(hotplug_event->sysfs.device_file), "DEVNAME"); ++ ++ hotplug_event->sysfs.seqnum = get_ll_dev_prop(device, "SEQNUM"); ++ hotplug_event->sysfs.net_ifindex = get_ll_dev_prop(device, "IFINDEX"); ++ ++ copy_dev_prop_formatted(device, "/sys%s", hotplug_event->sysfs.sysfs_path_old, sizeof(hotplug_event->sysfs.sysfs_path_old), "DEVPATH_OLD"); ++ copy_dev_prop(device, hotplug_event->sysfs.vendor, sizeof(hotplug_event->sysfs.vendor), "ID_VENDOR"); ++ copy_dev_prop(device, hotplug_event->sysfs.model, sizeof(hotplug_event->sysfs.model), "ID_MODEL"); ++ copy_dev_prop(device, hotplug_event->sysfs.revision, sizeof(hotplug_event->sysfs.revision), "ID_REVISION"); ++ copy_dev_prop(device, hotplug_event->sysfs.serial, sizeof(hotplug_event->sysfs.serial), "ID_SERIAL"); ++ copy_dev_prop(device, hotplug_event->sysfs.fsusage, sizeof(hotplug_event->sysfs.fsusage), "ID_FS_USAGE"); ++ copy_dev_prop(device, hotplug_event->sysfs.fstype, sizeof(hotplug_event->sysfs.fstype), "ID_FS_TYPE"); ++ copy_dev_prop(device, hotplug_event->sysfs.fsversion, sizeof(hotplug_event->sysfs.fsversion), "ID_FS_VERSION"); ++ copy_dev_prop(device, hotplug_event->sysfs.fsuuid, sizeof(hotplug_event->sysfs.fsuuid), "ID_FS_UUID"); ++ copy_dev_prop(device, hotplug_event->sysfs.fslabel, sizeof(hotplug_event->sysfs.fslabel), "ID_FS_LABEL_ENC"); ++ ++ /* md devices are handled via looking at /proc/mdstat */ ++ if (g_str_has_prefix (hotplug_event->sysfs.sysfs_path, "/sys/block/md")) { ++ HAL_INFO (("skipping md event for %s", hotplug_event->sysfs.sysfs_path)); ++ goto invalid; ++ } ++ if (g_str_has_prefix (hotplug_event->sysfs.sysfs_path_old, "/sys/block/md")) { ++ HAL_INFO (("skipping md event for %s", hotplug_event->sysfs.sysfs_path_old)); ++ goto invalid; ++ } ++ ++ if(hotplug_event->sysfs.fslabel != NULL) { ++ tmp = g_malloc(sizeof(hotplug_event->sysfs.fslabel)); ++ hal_util_decode_escape (hotplug_event->sysfs.fslabel, tmp, sizeof(hotplug_event->sysfs.fslabel)); ++ if ((tmp1 = hal_util_strdup_valid_utf8(tmp)) != NULL ) { ++ g_strlcpy (hotplug_event->sysfs.fslabel, tmp1, sizeof(hotplug_event->sysfs.fslabel)); ++ g_free (tmp1); + } ++ g_free(tmp); + } + + if (!action) { +@@ -291,6 +231,7 @@ invalid: + g_slice_free (HotplugEvent, hotplug_event); + + out: ++ udev_device_unref(device); + return TRUE; + } + +@@ -406,9 +347,9 @@ osspec_privileged_init (void) + void + osspec_init (void) + { ++ struct udev * udev; ++ struct udev_monitor * udev_monitor; + int udev_socket; +- struct sockaddr_un saddr; +- socklen_t addrlen; + const int on = 1; + GIOChannel *udev_channel; + GIOChannel *mounts_channel; +@@ -419,28 +360,35 @@ osspec_init (void) + + hal_device_store_index_property (hald_get_gdl (), "linux.sysfs_path"); + +- memset(&saddr, 0x00, sizeof(saddr)); +- saddr.sun_family = AF_LOCAL; +- /* use abstract namespace for socket path */ +- strcpy(&saddr.sun_path[1], "/org/freedesktop/hal/udev_event"); +- addrlen = offsetof(struct sockaddr_un, sun_path) + strlen(saddr.sun_path+1) + 1; ++ udev = udev_new(); ++ ++ if(!udev) { ++ DIE (("Could not create udev")); ++ } ++ ++ udev_monitor = udev_monitor_new_from_netlink(udev, "udev"); ++ ++ if(!udev_monitor || udev_monitor_enable_receiving(udev_monitor)) { ++ DIE (("Could not create udev monitor")); ++ } ++ ++ udev_socket = udev_monitor_get_fd(udev_monitor); + +- udev_socket = socket(AF_LOCAL, SOCK_DGRAM, 0); + if (udev_socket == -1) { + DIE (("Couldn't open socket")); + } + +- if (bind(udev_socket, (struct sockaddr *) &saddr, addrlen) < 0) { +- fprintf (stderr, "Error binding udev_event socket: %s\n", strerror(errno)); +- exit (1); +- } + /* enable receiving of the sender credentials */ + setsockopt(udev_socket, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)); + + udev_channel = g_io_channel_unix_new (udev_socket); +- g_io_add_watch (udev_channel, G_IO_IN, hald_udev_data, NULL); ++ g_io_add_watch (udev_channel, G_IO_IN, hald_udev_data, udev_monitor); + g_io_channel_unref (udev_channel); + ++ /*udev_monitor_unref(udev_monitor); ++ udev_unref(udev);*/ ++ ++ + /* watch /proc/mounts for mount tree changes + * kernel 2.6.15 vfs throws a POLLERR event for every change + */ diff -Nru hal-0.5.14/debian/patches/68-udevadm-update.patch hal-0.5.14/debian/patches/68-udevadm-update.patch --- hal-0.5.14/debian/patches/68-udevadm-update.patch 1970-01-01 00:00:00.000000000 +0000 +++ hal-0.5.14/debian/patches/68-udevadm-update.patch 2013-07-01 08:32:53.000000000 +0000 @@ -0,0 +1,34 @@ +Description: Hardcode /dev, rather than using udevadm + +--- hal-0.5.14.orig/hald/linux/coldplug.c ++++ hal-0.5.14/hald/linux/coldplug.c +@@ -163,26 +163,9 @@ hal_util_init_sysfs_to_udev_map (void) + + sysfs_to_udev_map = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, udev_info_free); + +- /* get udevroot */ +- if (g_spawn_sync ("/", udevroot_argv, NULL, G_SPAWN_LEAVE_DESCRIPTORS_OPEN, NULL, NULL, +- &udevinfo_stdout, +- NULL, +- &udevinfo_exitcode, +- NULL) != TRUE) { +- HAL_ERROR (("Couldn't invoke %s", udevroot_argv[0])); +- goto error; +- } +- if (udevinfo_exitcode != 0) { +- HAL_ERROR (("%s returned %d", udevroot_argv[0], udevinfo_exitcode)); +- goto error; +- } +- +- g_strlcpy(dev_root, udevinfo_stdout, sizeof(dev_root)); +- p = strchr(dev_root, '\n'); +- if (p != NULL) +- p[0] = '\0'; +- g_free(udevinfo_stdout); +- HAL_INFO (("dev_root is %s", dev_root)); ++ /* get udevroot - hardcode to /dev to fix udevadm commit ++ * http://cgit.freedesktop.org/systemd/systemd/commit/?id=4f5d327a49e1a40ae0a3b8f1855dc90f3c0d953f */ ++ g_strlcpy(dev_root, "/dev", sizeof(dev_root)); + + /* get udevdb export */ + if (g_spawn_sync ("/", udevdb_export_argv, NULL, G_SPAWN_LEAVE_DESCRIPTORS_OPEN, NULL, NULL, diff -Nru hal-0.5.14/debian/patches/70-addon-storage-size_t.patch hal-0.5.14/debian/patches/70-addon-storage-size_t.patch --- hal-0.5.14/debian/patches/70-addon-storage-size_t.patch 2013-10-21 14:01:42.000000000 +0000 +++ hal-0.5.14/debian/patches/70-addon-storage-size_t.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -Index: b/hald/linux/addons/addon-storage.c -=================================================================== ---- a/hald/linux/addons/addon-storage.c 2013-03-30 03:51:29.000000000 +0100 -+++ b/hald/linux/addons/addon-storage.c 2013-03-30 03:51:56.000000000 +0100 -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff -Nru hal-0.5.14/debian/patches/70-core-fix.patch hal-0.5.14/debian/patches/70-core-fix.patch --- hal-0.5.14/debian/patches/70-core-fix.patch 2013-10-21 14:01:42.000000000 +0000 +++ hal-0.5.14/debian/patches/70-core-fix.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ ---- hal-0.5.14/hald/device_info.c 2009-08-24 16:42:29.000000000 +0400 -+++ hal-0.5.14-patched/hald/device_info.c 2013-05-13 14:14:37.920489034 +0400 -@@ -1111,7 +1111,7 @@ rules_match_and_merge_device (void *fdi_ - rule = di_jump(rule); - - if(rule == NULL) -- DIE(("Rule is NULL on jump")); -+ DIE(("fdi cache is broken, please try to rebuild!")); - - continue; - } -@@ -1135,6 +1135,8 @@ rules_match_and_merge_device (void *fdi_ - default: - HAL_WARNING(("Unhandled rule (%i)!", rule->rtype)); - rule = di_jump(rule); -+ if(rule == NULL) -+ DIE(("fdi cache is broken, please try to rebuild!")); - break; - } - rule = di_next(rule); diff -Nru hal-0.5.14/debian/patches/series hal-0.5.14/debian/patches/series --- hal-0.5.14/debian/patches/series 2013-10-21 14:23:53.000000000 +0000 +++ hal-0.5.14/debian/patches/series 2013-07-01 08:31:57.000000000 +0000 @@ -17,5 +17,5 @@ 60-create-run-hald-directory.patch 65-glib-single-include.patch 66-missing-types_h.patch -#70-addon-storage-size_t.patch -70-core-fix.patch +66-hal-libudev-events.patch +68-udevadm-update.patch diff -Nru hal-0.5.14/debian/rules hal-0.5.14/debian/rules --- hal-0.5.14/debian/rules 2011-04-10 05:08:50.000000000 +0000 +++ hal-0.5.14/debian/rules 2013-07-01 09:18:59.000000000 +0000 @@ -35,6 +35,7 @@ binary-install/hal:: # Only install udev rules on Linux architectures. The # directory doesn't even exist on e.g. GNU/kFreeBSD -ifeq ($(DEB_HOST_ARCH_OS),linux) - dh_install -phal debian/tmp/lib/udev/rules.d/ -endif + # (disabled for everything now, the udev format has changed). + #ifeq ($(DEB_HOST_ARCH_OS),linux) + #dh_install -phal debian/tmp/lib/udev/rules.d/ + #endif