diff options
Diffstat (limited to 'source/l/hal')
-rwxr-xr-x | source/l/hal/hal.SlackBuild | 15 | ||||
-rw-r--r-- | source/l/hal/patches/fix-build-with-automake-1.11.1.patch | 27 | ||||
-rw-r--r-- | source/l/hal/patches/fix-hal-segfault.patch | 33 | ||||
-rw-r--r-- | source/l/hal/patches/ignore_internal_dm_devices.diff | 47 |
4 files changed, 120 insertions, 2 deletions
diff --git a/source/l/hal/hal.SlackBuild b/source/l/hal/hal.SlackBuild index 96713686..57d9e3bc 100755 --- a/source/l/hal/hal.SlackBuild +++ b/source/l/hal/hal.SlackBuild @@ -23,7 +23,7 @@ PKGNAM=hal VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} NUMJOBS=${NUMJOBS:--j7} @@ -90,6 +90,17 @@ zcat $CWD/patches/fix_ioperm_arguments.patch.gz | patch -p1 --verbose || exit 1 # Fix segfaults from not calling dbus_error_init() early enough zcat $CWD/patches/fix_segfault-dbus_error_init.patch.gz | patch -p1 --verbose || exit 1 +# Ignore internal DM devices with new DM udev rules +# https://bugzilla.redhat.com/show_bug.cgi?id=613909 +# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=586286 +zcat $CWD/patches/ignore_internal_dm_devices.diff.gz | patch -p1 --verbose || exit 1 + +# Fix build with automake 1.11.1 +zcat $CWD/patches/fix-build-with-automake-1.11.1.patch | patch -p1 --verbose || exit 1 + +# Fix segfault in hald/linux/device.c +zcat $CWD/patches/fix-hal-segfault.patch | patch -p1 --verbose || exit 1 + autoconf CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ @@ -107,7 +118,7 @@ CXXFLAGS="$SLKCFLAGS" \ --with-pid-file=/var/run/hald/pid \ --enable-parted \ --disable-policy-kit \ - --disable-console-kit \ + --enable-console-kit \ --disable-acl-management \ --enable-umount-helper \ --enable-sonypic \ diff --git a/source/l/hal/patches/fix-build-with-automake-1.11.1.patch b/source/l/hal/patches/fix-build-with-automake-1.11.1.patch new file mode 100644 index 00000000..13d1817c --- /dev/null +++ b/source/l/hal/patches/fix-build-with-automake-1.11.1.patch @@ -0,0 +1,27 @@ +From ce8422fc8ec4881c5e54b651af3ef4ce2ca96847 Mon Sep 17 00:00:00 2001 +From: Bernhard Rosenkraenzer <bero@arklinux.org> +Date: Mon, 23 Aug 2010 14:50:40 +0200 +Subject: [PATCH] fix build with automake 1.11.1 + +Fixed build with automake 1.11.1: whitespace following trailing backslash. +fd.o#29085 +--- + policy/Makefile.am | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/policy/Makefile.am b/policy/Makefile.am +index b506a08..503e9f3 100644 +--- a/policy/Makefile.am ++++ b/policy/Makefile.am +@@ -24,7 +24,7 @@ check: + then \ + echo ok; \ + else \ +- echo failed; \ ++ echo failed; \ + exit 1; \ + fi; \ + done; +-- +1.7.3.2 + diff --git a/source/l/hal/patches/fix-hal-segfault.patch b/source/l/hal/patches/fix-hal-segfault.patch new file mode 100644 index 00000000..4e409e31 --- /dev/null +++ b/source/l/hal/patches/fix-hal-segfault.patch @@ -0,0 +1,33 @@ +From fc9571c07a81aba8a8fdaa8014d4034b6456d203 Mon Sep 17 00:00:00 2001 +From: Michael Schroeder <mls@novell.com> +Date: Mon, 23 Aug 2010 16:13:13 +0200 +Subject: [PATCH] fix hal segfault + +Fixed hal segfault. It crashes because strlen() gets called with a +NULL pointer (ppdev_compute_udi calls hal_util_get_last_element +with a NULL pointer). + +bnc#556485 +--- + hald/linux/device.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/hald/linux/device.c b/hald/linux/device.c +index 8570d46..401dc44 100644 +--- a/hald/linux/device.c ++++ b/hald/linux/device.c +@@ -2287,9 +2287,10 @@ ppdev_compute_udi (HalDevice *d) + gchar udi[256]; + const char *name; + +- name = hal_util_get_last_element( hal_device_property_get_string(d, "linux.device_file")); ++ name = hal_device_property_get_string (d, "linux.device_file"); + + if (name) { ++ name = hal_util_get_last_element (name); + hald_compute_udi (udi, sizeof (udi), "/org/freedesktop/Hal/devices/ppdev_%s", name); + } else { + hald_compute_udi (udi, sizeof (udi), "/org/freedesktop/Hal/devices/ppdev"); +-- +1.7.3.2 + diff --git a/source/l/hal/patches/ignore_internal_dm_devices.diff b/source/l/hal/patches/ignore_internal_dm_devices.diff new file mode 100644 index 00000000..735a45f3 --- /dev/null +++ b/source/l/hal/patches/ignore_internal_dm_devices.diff @@ -0,0 +1,47 @@ +From 6f16321da13f6a7cbd9c424ddba2e727e434fa25 Mon Sep 17 00:00:00 2001 +From: Milan Broz <mbroz@redhat.com> +Date: Tue, 13 Jul 2010 16:07:32 +0200 +Subject: [PATCH] HAL: Ignore internal DM devices with new DM udev rules + +With new device-mapper udev rules are /dev/mapper/* symlinks +to basic device name /dev/dm-X. +(Change requested by udev upstream.) + +This change breaks temporary-cryptsetup workaround inside hal. + +With new dm-udev rules (uncluded since device-mapper 1.02.39) +there is DM_UDEV_DISABLE_OTHER_RULES_FLAG variable +which controls that scan should be ignored for this device +(it is set for all internal devices, including temporary cryptsetup, +internal parts of lvm devices etc.) + +Ignore device if this flag is set. + +See bugs +https://bugzilla.redhat.com/show_bug.cgi?id=613909 +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=586286 + +Signed-off-by: Milan Broz <mbroz@redhat.com> +--- + hald/linux/osspec.c | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) + +diff --git a/hald/linux/osspec.c b/hald/linux/osspec.c +index a8233fd..6d616bc 100644 +--- a/hald/linux/osspec.c ++++ b/hald/linux/osspec.c +@@ -215,6 +215,11 @@ hald_udev_data (GIOChannel *source, GIOCondition condition, gpointer user_data) + 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; ++ } + } + } + +-- +1.7.3.2 + |