summaryrefslogtreecommitdiff
path: root/sysutils/hal
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2010-05-10 21:19:08 +0000
committerKoop Mast <kwm@FreeBSD.org>2010-05-10 21:19:08 +0000
commit48e62d9a379cd45a15f6ae89d564f81b3c13d16e (patch)
treeb627baa77f19bb1eab2fa4dee08aab1908131cd0 /sysutils/hal
parentRegister conflict between opal and opal3. (diff)
Presenting GNOME 2.30.1 for FreeBSD. The offical release notes for this
release can be found at http://library.gnome.org/misc/release-notes/2.30/ . This release brings initial PackageKit support, Upower (replaces power management part of hal), cuse4bsd integration with HAL and cheese, and a faster Evolution. Sadly GNOME 2.30.x will be the last release with FreeBSD 6.X support. This will also be the last of the 2.x releases. The next release will be the highly-anticipated GNOME 3.0 which will bring with it a new UI experience. Currently, there are a few bugs with GNOME 2.30 that may be of note for our users. Be sure to consult the UPGRADING note or the 2.30 upgrade FAQ at http://www.freebsd.org/gnome/docs/faq230.html for specific upgrading instructions, and the up-to-date list of known issues. This release features commits by avl, ahze, bland, marcus, mezz, and myself. The FreeBSD GNOME Team would like to thank Anders F Bjorklund for doing the initual packagekit porting. And the following contributors & testers for there help with this release: Eric L. Chen Vladimir Grebenschikov Sergio de Almeida Lenzi DomiX walder crsd Kevin Oberman Michal Varga Pavel Plesov Bapt kevin and ITetcu for two exp-run PR: ports/143852 ports/145347 ports/144980 ports/145830 ports/145511
Notes
Notes: svn path=/head/; revision=254099
Diffstat (limited to 'sysutils/hal')
-rw-r--r--sysutils/hal/Makefile7
-rw-r--r--sysutils/hal/distinfo6
-rw-r--r--sysutils/hal/files/hald.in4
-rw-r--r--sysutils/hal/files/patch-Makefile.in30
-rw-r--r--sysutils/hal/files/patch-config.h.in12
-rw-r--r--sysutils/hal/files/patch-configure398
-rw-r--r--sysutils/hal/files/patch-configure.in64
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_Makefile.am14
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_Makefile.in109
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_addons_Makefile.in93
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_addons_addon-mouse.c374
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_addons_addon-storage.c388
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_clock111
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_hf-acpi.c90
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_hf-computer.c26
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_hf-devd.c56
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_hf-devtree.c77
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_hf-scsi.c11
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_hf-storage.h13
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_hf-usb.c188
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_hf-usb.h10
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_hf-usb2.c396
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_hf-usb2.h40
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_hf-volume.c113
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_osspec.c32
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_probing_Makefile.am74
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_probing_Makefile.in636
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_probing_probe-hiddev.c37
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_probing_probe-mouse.c315
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_probing_probe-storage.c39
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-device.c211
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-interface.c155
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_probing_probe-video4linux.c228
-rw-r--r--sysutils/hal/files/patch-hald_freebsd_probing_probe-volume.c93
-rw-r--r--sysutils/hal/files/patch-hald_hf-storage.c242
-rw-r--r--sysutils/hal/pkg-plist9
36 files changed, 1060 insertions, 3641 deletions
diff --git a/sysutils/hal/Makefile b/sysutils/hal/Makefile
index ee991fead991..882be329be50 100644
--- a/sysutils/hal/Makefile
+++ b/sysutils/hal/Makefile
@@ -3,18 +3,19 @@
# Whom: Joe Marcus Clarke <marcus@FreeBSD.org>
#
# $FreeBSD$
-# $MCom: ports/sysutils/hal/Makefile,v 1.72 2009/11/28 05:59:03 mezz Exp $
+# $MCom: ports/sysutils/hal/Makefile,v 1.81 2010/04/13 02:49:07 mezz Exp $
#
PORTNAME= hal
-DISTVERSION= 0.5.13
-PORTREVISION= 14
+DISTVERSION= 0.5.14
+PORTREVISION= 7
CATEGORIES= sysutils
MASTER_SITES= http://hal.freedesktop.org/releases/
MAINTAINER= gnome@FreeBSD.org
COMMENT= Hardware Abstraction Layer for simplifying device access
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:${PORTSDIR}/multimedia/v4l_compat
LIB_DEPENDS= polkit.2:${PORTSDIR}/sysutils/policykit \
volume_id.0:${PORTSDIR}/devel/libvolume_id \
ck-connector.0:${PORTSDIR}/sysutils/consolekit
diff --git a/sysutils/hal/distinfo b/sysutils/hal/distinfo
index 5885af28aef5..ff1858776cda 100644
--- a/sysutils/hal/distinfo
+++ b/sysutils/hal/distinfo
@@ -1,3 +1,3 @@
-MD5 (hal-0.5.13.tar.gz) = 46ecc5d2e5bd964fb78099688f01bb6a
-SHA256 (hal-0.5.13.tar.gz) = ebcf22a373761530920643add1a791af40954dc7349f027d1c35b0e0f7f9c8af
-SIZE (hal-0.5.13.tar.gz) = 1199224
+MD5 (hal-0.5.14.tar.gz) = e9163df591a6f38f59fdbfe33e73bf20
+SHA256 (hal-0.5.14.tar.gz) = 323aacfa52f12def3b0d1e76456e34f027c345adc344aad19a8cc0c59c1a8d02
+SIZE (hal-0.5.14.tar.gz) = 1238766
diff --git a/sysutils/hal/files/hald.in b/sysutils/hal/files/hald.in
index 82ab1efb1f3b..97dece85c5ff 100644
--- a/sysutils/hal/files/hald.in
+++ b/sysutils/hal/files/hald.in
@@ -1,10 +1,10 @@
#!/bin/sh
#
# $FreeBSD$
-# $MCom: ports/sysutils/hal/files/hald.in,v 1.17 2009/09/26 13:42:01 marcus Exp $
+# $MCom: ports/sysutils/hal/files/hald.in,v 1.22 2010/04/17 19:05:10 marcus Exp $
#
# PROVIDE: hald
-# REQUIRE: DAEMON usbd devd dbus moused
+# REQUIRE: DAEMON usbd devd dbus moused webcamd
#
# Add the following line to /etc/rc.conf to enable the HAL daemon:
#
diff --git a/sysutils/hal/files/patch-Makefile.in b/sysutils/hal/files/patch-Makefile.in
index 17d23980f55c..46b74a5b1a0c 100644
--- a/sysutils/hal/files/patch-Makefile.in
+++ b/sysutils/hal/files/patch-Makefile.in
@@ -1,24 +1,30 @@
---- Makefile.in.orig 2008-01-03 21:28:32.000000000 -0500
-+++ Makefile.in 2008-01-03 21:29:15.000000000 -0500
-@@ -311,14 +311,14 @@ clean-libtool:
+--- Makefile.in.orig 2009-12-23 13:39:15.000000000 -0500
++++ Makefile.in 2009-12-23 13:39:58.000000000 -0500
+@@ -379,17 +379,17 @@ clean-libtool:
distclean-libtool:
- -rm -f libtool
+ -rm -f libtool config.lt
install-dist_dbusDATA: $(dist_dbus_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(dbusdir)" || $(MKDIR_P) "$(DESTDIR)$(dbusdir)"
-- @list='$(dist_dbus_DATA)'; for p in $$list; do \
+- @list='$(dist_dbus_DATA)'; test -n "$(dbusdir)" || list=; \
+- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-- f=$(am__strip_dir) \
-- echo " $(dist_dbusDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(dbusdir)/$$f'"; \
-- $(dist_dbusDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(dbusdir)/$$f"; \
+- echo "$$d$$p"; \
+- done | $(am__base_list) | \
+- while read files; do \
+- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dbusdir)'"; \
+- $(INSTALL_DATA) $$files "$(DESTDIR)$(dbusdir)" || exit $$?; \
- done
+# @$(NORMAL_INSTALL)
+# test -z "$(dbusdir)" || $(MKDIR_P) "$(DESTDIR)$(dbusdir)"
-+# @list='$(dist_dbus_DATA)'; for p in $$list; do \
++# @list='$(dist_dbus_DATA)'; test -n "$(dbusdir)" || list=; \
++# for p in $$list; do \
+# if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-+# f=$(am__strip_dir) \
-+# echo " $(dist_dbusDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(dbusdir)/$$f'"; \
-+# $(dist_dbusDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(dbusdir)/$$f"; \
++# echo "$$d$$p"; \
++# done | $(am__base_list) | \
++# while read files; do \
++# echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dbusdir)'"; \
++# $(INSTALL_DATA) $$files "$(DESTDIR)$(dbusdir)" || exit $$?; \
+# done
uninstall-dist_dbusDATA:
diff --git a/sysutils/hal/files/patch-config.h.in b/sysutils/hal/files/patch-config.h.in
deleted file mode 100644
index e1208c9f9d8e..000000000000
--- a/sysutils/hal/files/patch-config.h.in
+++ /dev/null
@@ -1,12 +0,0 @@
---- config.h.in.orig 2009-02-17 23:52:07.000000000 -0500
-+++ config.h.in 2009-02-17 23:52:41.000000000 -0500
-@@ -61,6 +61,9 @@
- /* Define to 1 if you have the `dl' library (-ldl). */
- #undef HAVE_LIBDL
-
-+/* Set if we need libusb20 */
-+#undef HAVE_LIBUSB20
-+
- /* Define to 1 if you have the `uuid' library (-luuid). */
- #undef HAVE_LIBUUID
-
diff --git a/sysutils/hal/files/patch-configure b/sysutils/hal/files/patch-configure
deleted file mode 100644
index bc4df6d96423..000000000000
--- a/sysutils/hal/files/patch-configure
+++ /dev/null
@@ -1,398 +0,0 @@
---- configure.orig 2009-07-18 21:14:47.000000000 -0400
-+++ configure 2009-07-18 21:14:47.000000000 -0400
-@@ -818,6 +818,8 @@ XMLTO
- HALD_OS_LIBS
- BLKID_LIBS
- BLKID_CFLAGS
-+VOLUME_ID_LIBS
-+VOLUME_ID_CFLAGS
- GLIB_LIBS
- GLIB_CFLAGS
- DBUS_LIBS
-@@ -847,6 +849,9 @@ HAVE_GPERF
- GPERF
- HAVE_CONKIT_FALSE
- HAVE_CONKIT_TRUE
-+LIBUSB20_LIBS
-+HAVE_LIBUSB20_FALSE
-+HAVE_LIBUSB20_TRUE
- HALD_BACKEND
- HALD_COMPILE_SOLARIS_FALSE
- HALD_COMPILE_SOLARIS_TRUE
-@@ -1101,6 +1106,8 @@ DBUS_CFLAGS
- DBUS_LIBS
- GLIB_CFLAGS
- GLIB_LIBS
-+VOLUME_ID_CFLAGS
-+VOLUME_ID_LIBS
- BLKID_CFLAGS
- BLKID_LIBS'
-
-@@ -1825,6 +1832,10 @@ Some influential environment variables:
- DBUS_LIBS linker flags for DBUS, overriding pkg-config
- GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config
- GLIB_LIBS linker flags for GLIB, overriding pkg-config
-+ VOLUME_ID_CFLAGS
-+ C compiler flags for VOLUME_ID, overriding pkg-config
-+ VOLUME_ID_LIBS
-+ linker flags for VOLUME_ID, overriding pkg-config
- BLKID_CFLAGS
- C compiler flags for BLKID, overriding pkg-config
- BLKID_LIBS linker flags for BLKID, overriding pkg-config
-@@ -2794,6 +2805,7 @@ fi
- 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"
- blkid_module="blkid >= 1.43"
-+volume_id_module="libvolume_id >= 0.77"
- polkit_module="polkit >= 0.5"
-
- # libtool versioning - this applies to libhal and libhal-storage
-@@ -19129,6 +19141,9 @@ else
- fi
-
-
-+USE_LIBUSB20=no
-+USE_LIBUSB=no
-+LIBUSB20_LIBS=""
-
- # Check whether --with-backend was given.
- if test "${with_backend+set}" = set; then
-@@ -19186,6 +19201,184 @@ else
- fi
-
-
-+if test "x$HALD_BACKEND" = "xfreebsd"; then
-+ { $as_echo "$as_me:$LINENO: checking for libusb20_dev_get_info in -lusb20" >&5
-+$as_echo_n "checking for libusb20_dev_get_info in -lusb20... " >&6; }
-+if test "${ac_cv_lib_usb20_libusb20_dev_get_info+set}" = set; then
-+ $as_echo_n "(cached) " >&6
-+else
-+ ac_check_lib_save_LIBS=$LIBS
-+LIBS="-lusb20 $LIBS"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+/* Override any GCC internal prototype to avoid an error.
-+ Use char because int might match the return type of a GCC
-+ builtin and then its argument prototype would still apply. */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
-+char libusb20_dev_get_info ();
-+int
-+main ()
-+{
-+return libusb20_dev_get_info ();
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+ (eval "$ac_link") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest$ac_exeext && {
-+ test "$cross_compiling" = yes ||
-+ $as_test_x conftest$ac_exeext
-+ }; then
-+ ac_cv_lib_usb20_libusb20_dev_get_info=yes
-+else
-+ $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_cv_lib_usb20_libusb20_dev_get_info=no
-+fi
-+
-+rm -rf conftest.dSYM
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-+ conftest$ac_exeext conftest.$ac_ext
-+LIBS=$ac_check_lib_save_LIBS
-+fi
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_usb20_libusb20_dev_get_info" >&5
-+$as_echo "$ac_cv_lib_usb20_libusb20_dev_get_info" >&6; }
-+if test "x$ac_cv_lib_usb20_libusb20_dev_get_info" = x""yes; then
-+ USE_LIBUSB20=yes
-+else
-+ USE_LIBUSB20=no
-+fi
-+
-+fi
-+if test "x$USE_LIBUSB20" = "xno"; then
-+ { $as_echo "$as_me:$LINENO: checking for libusb20_dev_get_info in -lusb" >&5
-+$as_echo_n "checking for libusb20_dev_get_info in -lusb... " >&6; }
-+if test "${ac_cv_lib_usb_libusb20_dev_get_info+set}" = set; then
-+ $as_echo_n "(cached) " >&6
-+else
-+ ac_check_lib_save_LIBS=$LIBS
-+LIBS="-lusb $LIBS"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+/* Override any GCC internal prototype to avoid an error.
-+ Use char because int might match the return type of a GCC
-+ builtin and then its argument prototype would still apply. */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
-+char libusb20_dev_get_info ();
-+int
-+main ()
-+{
-+return libusb20_dev_get_info ();
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+ (eval "$ac_link") 2>conftest.er1
-+ ac_status=$?
-+ grep -v '^ *+' conftest.er1 >conftest.err
-+ rm -f conftest.er1
-+ cat conftest.err >&5
-+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } && {
-+ test -z "$ac_c_werror_flag" ||
-+ test ! -s conftest.err
-+ } && test -s conftest$ac_exeext && {
-+ test "$cross_compiling" = yes ||
-+ $as_test_x conftest$ac_exeext
-+ }; then
-+ ac_cv_lib_usb_libusb20_dev_get_info=yes
-+else
-+ $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ ac_cv_lib_usb_libusb20_dev_get_info=no
-+fi
-+
-+rm -rf conftest.dSYM
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-+ conftest$ac_exeext conftest.$ac_ext
-+LIBS=$ac_check_lib_save_LIBS
-+fi
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_usb_libusb20_dev_get_info" >&5
-+$as_echo "$ac_cv_lib_usb_libusb20_dev_get_info" >&6; }
-+if test "x$ac_cv_lib_usb_libusb20_dev_get_info" = x""yes; then
-+ USE_LIBUSB=yes
-+else
-+ USE_LIBUSB=no
-+fi
-+
-+fi
-+ if test "x$USE_LIBUSB20" = "xyes"; then
-+ HAVE_LIBUSB20_TRUE=
-+ HAVE_LIBUSB20_FALSE='#'
-+else
-+ HAVE_LIBUSB20_TRUE='#'
-+ HAVE_LIBUSB20_FALSE=
-+fi
-+
-+ if test "x$USE_LIBUSB" = "xyes"; then
-+ HAVE_LIBUSB20_TRUE=
-+ HAVE_LIBUSB20_FALSE='#'
-+else
-+ HAVE_LIBUSB20_TRUE='#'
-+ HAVE_LIBUSB20_FALSE=
-+fi
-+
-+if test "x$USE_LIBUSB20" = "xyes"; then
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define HAVE_LIBUSB20 1
-+_ACEOF
-+
-+ LIBUSB20_LIBS="-lusb20"
-+elif test "x$USE_LIBUSB" = "xyes"; then
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define HAVE_LIBUSB20 1
-+_ACEOF
-+
-+ LIBUSB20_LIBS="-lusb"
-+fi
-+
-
-
- cat >>confdefs.h <<_ACEOF
-@@ -19943,8 +20136,132 @@ fi
- { $as_echo "$as_me:$LINENO: result: $have_glib_2_14" >&5
- $as_echo "$have_glib_2_14" >&6; }
-
-+case "$host" in
-+*-*-freebsd*)
-+
-+pkg_failed=no
-+{ $as_echo "$as_me:$LINENO: checking for VOLUME_ID" >&5
-+$as_echo_n "checking for VOLUME_ID... " >&6; }
-+
-+if test -n "$PKG_CONFIG"; then
-+ if test -n "$VOLUME_ID_CFLAGS"; then
-+ pkg_cv_VOLUME_ID_CFLAGS="$VOLUME_ID_CFLAGS"
-+ else
-+ if test -n "$PKG_CONFIG" && \
-+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$volume_id_module\"") >&5
-+ ($PKG_CONFIG --exists --print-errors "$volume_id_module") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; then
-+ pkg_cv_VOLUME_ID_CFLAGS=`$PKG_CONFIG --cflags "$volume_id_module" 2>/dev/null`
-+else
-+ pkg_failed=yes
-+fi
-+ fi
-+else
-+ pkg_failed=untried
-+fi
-+if test -n "$PKG_CONFIG"; then
-+ if test -n "$VOLUME_ID_LIBS"; then
-+ pkg_cv_VOLUME_ID_LIBS="$VOLUME_ID_LIBS"
-+ else
-+ if test -n "$PKG_CONFIG" && \
-+ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$volume_id_module\"") >&5
-+ ($PKG_CONFIG --exists --print-errors "$volume_id_module") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; then
-+ pkg_cv_VOLUME_ID_LIBS=`$PKG_CONFIG --libs "$volume_id_module" 2>/dev/null`
-+else
-+ pkg_failed=yes
-+fi
-+ fi
-+else
-+ pkg_failed=untried
-+fi
-+
-+
-+
-+if test $pkg_failed = yes; then
-+
-+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-+ _pkg_short_errors_supported=yes
-+else
-+ _pkg_short_errors_supported=no
-+fi
-+ if test $_pkg_short_errors_supported = yes; then
-+ VOLUME_ID_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$volume_id_module"`
-+ else
-+ VOLUME_ID_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$volume_id_module"`
-+ fi
-+ # Put the nasty error message in config.log where it belongs
-+ echo "$VOLUME_ID_PKG_ERRORS" >&5
-+
-+ { { $as_echo "$as_me:$LINENO: error: Package requirements ($volume_id_module) were not met:
-+
-+$VOLUME_ID_PKG_ERRORS
-+
-+Consider adjusting the PKG_CONFIG_PATH environment variable if you
-+installed software in a non-standard prefix.
-+
-+Alternatively, you may set the environment variables VOLUME_ID_CFLAGS
-+and VOLUME_ID_LIBS to avoid the need to call pkg-config.
-+See the pkg-config man page for more details.
-+" >&5
-+$as_echo "$as_me: error: Package requirements ($volume_id_module) were not met:
-+
-+$VOLUME_ID_PKG_ERRORS
-+
-+Consider adjusting the PKG_CONFIG_PATH environment variable if you
-+installed software in a non-standard prefix.
-+
-+Alternatively, you may set the environment variables VOLUME_ID_CFLAGS
-+and VOLUME_ID_LIBS to avoid the need to call pkg-config.
-+See the pkg-config man page for more details.
-+" >&2;}
-+ { (exit 1); exit 1; }; }
-+elif test $pkg_failed = untried; then
-+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
-+is in your PATH or set the PKG_CONFIG environment variable to the full
-+path to pkg-config.
-+
-+Alternatively, you may set the environment variables VOLUME_ID_CFLAGS
-+and VOLUME_ID_LIBS to avoid the need to call pkg-config.
-+See the pkg-config man page for more details.
-+
-+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-+See \`config.log' for more details." >&5
-+$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
-+is in your PATH or set the PKG_CONFIG environment variable to the full
-+path to pkg-config.
-+
-+Alternatively, you may set the environment variables VOLUME_ID_CFLAGS
-+and VOLUME_ID_LIBS to avoid the need to call pkg-config.
-+See the pkg-config man page for more details.
-+
-+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-+See \`config.log' for more details." >&2;}
-+ { (exit 1); exit 1; }; }; }
-+else
-+ VOLUME_ID_CFLAGS=$pkg_cv_VOLUME_ID_CFLAGS
-+ VOLUME_ID_LIBS=$pkg_cv_VOLUME_ID_LIBS
-+ { $as_echo "$as_me:$LINENO: result: yes" >&5
-+$as_echo "yes" >&6; }
-+ :
-+fi
-+
-+
-+ ;;
-+*)
-+ ;;
-+esac
-+
- # blkid
- case "$host" in
-+*-*-freebsd*)
-+ ;;
- *-*-solaris*)
- ;;
- *)
-@@ -21441,6 +21758,20 @@ $as_echo "$as_me: error: conditional \"H
- Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
- fi
-+if test -z "${HAVE_LIBUSB20_TRUE}" && test -z "${HAVE_LIBUSB20_FALSE}"; then
-+ { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_LIBUSB20\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&5
-+$as_echo "$as_me: error: conditional \"HAVE_LIBUSB20\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+if test -z "${HAVE_LIBUSB20_TRUE}" && test -z "${HAVE_LIBUSB20_FALSE}"; then
-+ { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_LIBUSB20\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&5
-+$as_echo "$as_me: error: conditional \"HAVE_LIBUSB20\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
- if test -z "${HAVE_CONKIT_TRUE}" && test -z "${HAVE_CONKIT_FALSE}"; then
- { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_CONKIT\" was never defined.
- Usually this means the macro was only invoked conditionally." >&5
diff --git a/sysutils/hal/files/patch-configure.in b/sysutils/hal/files/patch-configure.in
deleted file mode 100644
index 84e12d18796b..000000000000
--- a/sysutils/hal/files/patch-configure.in
+++ /dev/null
@@ -1,64 +0,0 @@
---- configure.in.orig 2009-05-10 15:43:52.000000000 -0400
-+++ configure.in 2009-05-17 00:53:29.000000000 -0400
-@@ -14,6 +14,7 @@ AM_MAINTAINER_MODE
- 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"
- blkid_module="blkid >= 1.43"
-+volume_id_module="libvolume_id >= 0.77"
- polkit_module="polkit >= 0.5"
-
- # libtool versioning - this applies to libhal and libhal-storage
-@@ -477,6 +478,9 @@ if test "x$with_libpci" != xno ; then
- fi
- AM_CONDITIONAL([HAVE_LIBPCI], [test "x$USE_LIBPCI" = "xyes"])
-
-+USE_LIBUSB20=no
-+USE_LIBUSB=no
-+LIBUSB20_LIBS=""
- AC_ARG_WITH([backend],
- AS_HELP_STRING([--with-backend=<name>],
- [backend to use (linux/solaris/freebsd/dummy)]),
-@@ -504,6 +508,22 @@ AM_CONDITIONAL(HALD_COMPILE_LINUX, [test
- AM_CONDITIONAL(HALD_COMPILE_FREEBSD, [test x$HALD_BACKEND = xfreebsd], [Compiling for FreeBSD])
- AM_CONDITIONAL(HALD_COMPILE_SOLARIS, [test x$HALD_BACKEND = xsolaris], [Compiling for Solaris])
- AC_SUBST(HALD_BACKEND)
-+if test "x$HALD_BACKEND" = "xfreebsd"; then
-+ AC_CHECK_LIB([usb20], [libusb20_dev_get_info], [USE_LIBUSB20=yes], [USE_LIBUSB20=no])
-+fi
-+if test "x$USE_LIBUSB20" = "xno"; then
-+ AC_CHECK_LIB([usb], [libusb20_dev_get_info], [USE_LIBUSB=yes], [USE_LIBUSB=no])
-+fi
-+AM_CONDITIONAL([HAVE_LIBUSB20],[test "x$USE_LIBUSB20" = "xyes"])
-+AM_CONDITIONAL([HAVE_LIBUSB20],[test "x$USE_LIBUSB" = "xyes"])
-+if test "x$USE_LIBUSB20" = "xyes"; then
-+ AC_DEFINE(HAVE_LIBUSB20, 1, [Set if we need libusb20])
-+ LIBUSB20_LIBS="-lusb20"
-+elif test "x$USE_LIBUSB" = "xyes"; then
-+ AC_DEFINE(HAVE_LIBUSB20, 1, [Set if we need libsub20])
-+ LIBUSB20_LIBS="-lusb"
-+fi
-+AC_SUBST(LIBUSB20_LIBS)
-
- dnl DBUS API is subject to changes
- AC_DEFINE_UNQUOTED(DBUS_API_SUBJECT_TO_CHANGE, [], [DBUS API is subject to change])
-@@ -685,8 +705,20 @@ else
- fi
- AC_MSG_RESULT($have_glib_2_14)
-
-+case "$host" in
-+*-*-freebsd*)
-+ PKG_CHECK_MODULES(VOLUME_ID, [$volume_id_module])
-+ AC_SUBST(VOLUME_ID_CFLAGS)
-+ AC_SUBST(VOLUME_ID_LIBS)
-+ ;;
-+*)
-+ ;;
-+esac
-+
- # blkid
- case "$host" in
-+*-*-freebsd*)
-+ ;;
- *-*-solaris*)
- ;;
- *)
diff --git a/sysutils/hal/files/patch-hald_freebsd_Makefile.am b/sysutils/hal/files/patch-hald_freebsd_Makefile.am
deleted file mode 100644
index 9a6b8c83d336..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_Makefile.am
+++ /dev/null
@@ -1,14 +0,0 @@
---- hald/freebsd/Makefile.am.orig 2009-02-17 18:58:12.000000000 -0500
-+++ hald/freebsd/Makefile.am 2009-02-18 00:16:12.000000000 -0500
-@@ -54,4 +54,11 @@ libhald_freebsd_la_SOURCES = \
-
- libhald_freebsd_la_LDFLAGS = -lcam
-
-+if HAVE_LIBUSB20
-+libhald_freebsd_la_SOURCES += \
-+ hf-usb2.c \
-+ hf-usb2.h
-+libhald_freebsd_la_LDFLAGS += @LIBUSB20_LIBS@
-+endif
-+
- EXTRA_DIST = README TODO
diff --git a/sysutils/hal/files/patch-hald_freebsd_Makefile.in b/sysutils/hal/files/patch-hald_freebsd_Makefile.in
deleted file mode 100644
index 44dbf8adc88a..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_Makefile.in
+++ /dev/null
@@ -1,109 +0,0 @@
---- hald/freebsd/Makefile.in.orig 2009-05-17 00:43:12.000000000 -0400
-+++ hald/freebsd/Makefile.in 2009-05-17 00:43:12.000000000 -0400
-@@ -32,6 +32,11 @@ PRE_UNINSTALL = :
- POST_UNINSTALL = :
- build_triplet = @build@
- host_triplet = @host@
-+@HAVE_LIBUSB20_TRUE@am__append_1 = \
-+@HAVE_LIBUSB20_TRUE@ hf-usb2.c \
-+@HAVE_LIBUSB20_TRUE@ hf-usb2.h
-+
-+@HAVE_LIBUSB20_TRUE@am__append_2 = @LIBUSB20_LIBS@
- subdir = hald/freebsd
- DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in TODO
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-@@ -44,11 +49,20 @@ CONFIG_HEADER = $(top_builddir)/config.h
- CONFIG_CLEAN_FILES =
- LTLIBRARIES = $(noinst_LTLIBRARIES)
- libhald_freebsd_la_LIBADD =
-+am__libhald_freebsd_la_SOURCES_DIST = hf-acpi.c hf-acpi.h hf-ata.c \
-+ hf-ata.h hf-block.c hf-block.h hf-computer.c hf-computer.h \
-+ hf-devd.c hf-devd.h hf-devtree.c hf-devtree.h hf-drm.c \
-+ hf-drm.h hf-net.c hf-net.h hf-osspec.h hf-pci.c hf-pci.h \
-+ hf-pcmcia.c hf-pcmcia.h hf-scsi.c hf-scsi.h hf-serial.c \
-+ hf-serial.h hf-sound.c hf-sound.h hf-storage.c hf-storage.h \
-+ hf-usb.c hf-usb.h hf-util.c hf-util.h hf-volume.c hf-volume.h \
-+ osspec.c hal-file-monitor.c hf-usb2.c hf-usb2.h
-+@HAVE_LIBUSB20_TRUE@am__objects_1 = hf-usb2.lo
- am_libhald_freebsd_la_OBJECTS = hf-acpi.lo hf-ata.lo hf-block.lo \
- hf-computer.lo hf-devd.lo hf-devtree.lo hf-drm.lo hf-net.lo \
- hf-pci.lo hf-pcmcia.lo hf-scsi.lo hf-serial.lo hf-sound.lo \
- hf-storage.lo hf-usb.lo hf-util.lo hf-volume.lo osspec.lo \
-- hal-file-monitor.lo
-+ hal-file-monitor.lo $(am__objects_1)
- libhald_freebsd_la_OBJECTS = $(am_libhald_freebsd_la_OBJECTS)
- libhald_freebsd_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-@@ -67,7 +81,7 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLF
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
- SOURCES = $(libhald_freebsd_la_SOURCES)
--DIST_SOURCES = $(libhald_freebsd_la_SOURCES)
-+DIST_SOURCES = $(am__libhald_freebsd_la_SOURCES_DIST)
- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
-@@ -250,46 +264,15 @@ AM_CPPFLAGS = \
- @GLIB_CFLAGS@ @DBUS_CFLAGS@ @POLKIT_CFLAGS@
-
- @HALD_COMPILE_FREEBSD_TRUE@noinst_LTLIBRARIES = libhald_freebsd.la
--libhald_freebsd_la_SOURCES = \
-- hf-acpi.c \
-- hf-acpi.h \
-- hf-ata.c \
-- hf-ata.h \
-- hf-block.c \
-- hf-block.h \
-- hf-computer.c \
-- hf-computer.h \
-- hf-devd.c \
-- hf-devd.h \
-- hf-devtree.c \
-- hf-devtree.h \
-- hf-drm.c \
-- hf-drm.h \
-- hf-net.c \
-- hf-net.h \
-- hf-osspec.h \
-- hf-pci.c \
-- hf-pci.h \
-- hf-pcmcia.c \
-- hf-pcmcia.h \
-- hf-scsi.c \
-- hf-scsi.h \
-- hf-serial.c \
-- hf-serial.h \
-- hf-sound.c \
-- hf-sound.h \
-- hf-storage.c \
-- hf-storage.h \
-- hf-usb.c \
-- hf-usb.h \
-- hf-util.c \
-- hf-util.h \
-- hf-volume.c \
-- hf-volume.h \
-- osspec.c \
-- hal-file-monitor.c
--
--libhald_freebsd_la_LDFLAGS = -lcam
-+libhald_freebsd_la_SOURCES = hf-acpi.c hf-acpi.h hf-ata.c hf-ata.h \
-+ hf-block.c hf-block.h hf-computer.c hf-computer.h hf-devd.c \
-+ hf-devd.h hf-devtree.c hf-devtree.h hf-drm.c hf-drm.h hf-net.c \
-+ hf-net.h hf-osspec.h hf-pci.c hf-pci.h hf-pcmcia.c hf-pcmcia.h \
-+ hf-scsi.c hf-scsi.h hf-serial.c hf-serial.h hf-sound.c \
-+ hf-sound.h hf-storage.c hf-storage.h hf-usb.c hf-usb.h \
-+ hf-util.c hf-util.h hf-volume.c hf-volume.h osspec.c \
-+ hal-file-monitor.c $(am__append_1)
-+libhald_freebsd_la_LDFLAGS = -lcam $(am__append_2)
- EXTRA_DIST = README TODO
- all: all-recursive
-
-@@ -358,6 +341,7 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf-sound.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf-storage.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf-usb.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf-usb2.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf-util.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hf-volume.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osspec.Plo@am__quote@
diff --git a/sysutils/hal/files/patch-hald_freebsd_addons_Makefile.in b/sysutils/hal/files/patch-hald_freebsd_addons_Makefile.in
deleted file mode 100644
index f554c0650f3e..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_addons_Makefile.in
+++ /dev/null
@@ -1,93 +0,0 @@
---- hald/freebsd/addons/Makefile.in.orig 2008-12-13 12:08:36.000000000 -0500
-+++ hald/freebsd/addons/Makefile.in 2008-12-20 21:16:41.000000000 -0500
-@@ -33,7 +33,8 @@ POST_UNINSTALL = :
- build_triplet = @build@
- host_triplet = @host@
- @HALD_COMPILE_FREEBSD_TRUE@libexec_PROGRAMS = \
--@HALD_COMPILE_FREEBSD_TRUE@ hald-addon-storage$(EXEEXT)
-+@HALD_COMPILE_FREEBSD_TRUE@ hald-addon-storage$(EXEEXT) \
-+@HALD_COMPILE_FREEBSD_TRUE@ hald-addon-mouse-sysmouse$(EXEEXT)
- subdir = hald/freebsd/addons
- DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-@@ -47,6 +48,15 @@ CONFIG_CLEAN_FILES =
- am__installdirs = "$(DESTDIR)$(libexecdir)"
- libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
- PROGRAMS = $(libexec_PROGRAMS)
-+am_hald_addon_mouse_sysmouse_OBJECTS = \
-+ hald_addon_mouse_sysmouse-addon-mouse.$(OBJEXT)
-+hald_addon_mouse_sysmouse_OBJECTS = \
-+ $(am_hald_addon_mouse_sysmouse_OBJECTS)
-+hald_addon_mouse_sysmouse_DEPENDENCIES = $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
-+hald_addon_mouse_sysmouse_LINK = $(LIBTOOL) --tag=CC \
-+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
-+ $(hald_addon_mouse_sysmouse_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-+ $(LDFLAGS) -o $@
- am_hald_addon_storage_OBJECTS = addon-storage.$(OBJEXT)
- hald_addon_storage_OBJECTS = $(am_hald_addon_storage_OBJECTS)
- hald_addon_storage_DEPENDENCIES = $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
-@@ -62,8 +72,10 @@ CCLD = $(CC)
- LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
--SOURCES = $(hald_addon_storage_SOURCES)
--DIST_SOURCES = $(hald_addon_storage_SOURCES)
-+SOURCES = $(hald_addon_mouse_sysmouse_SOURCES) \
-+ $(hald_addon_storage_SOURCES)
-+DIST_SOURCES = $(hald_addon_mouse_sysmouse_SOURCES) \
-+ $(hald_addon_storage_SOURCES)
- ETAGS = etags
- CTAGS = ctags
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-@@ -229,6 +241,12 @@ hald_addon_storage_SOURCES = addon-stora
- hald_addon_storage_LDADD = \
- $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
-
-+hald_addon_mouse_sysmouse_SOURCES = addon-mouse.c
-+hald_addon_mouse_sysmouse_CFLAGS = $(AM_CPPFLAGS) @GLIB_CFLAGS@
-+hald_addon_mouse_sysmouse_LDADD = @GLIB_LIBS@ \
-+ -lutil \
-+ $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
-+
- all: all-am
-
- .SUFFIXES:
-@@ -290,6 +308,9 @@ clean-libexecPROGRAMS:
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-+hald-addon-mouse-sysmouse$(EXEEXT): $(hald_addon_mouse_sysmouse_OBJECTS) $(hald_addon_mouse_sysmouse_DEPENDENCIES)
-+ @rm -f hald-addon-mouse-sysmouse$(EXEEXT)
-+ $(hald_addon_mouse_sysmouse_LINK) $(hald_addon_mouse_sysmouse_OBJECTS) $(hald_addon_mouse_sysmouse_LDADD) $(LIBS)
- hald-addon-storage$(EXEEXT): $(hald_addon_storage_OBJECTS) $(hald_addon_storage_DEPENDENCIES)
- @rm -f hald-addon-storage$(EXEEXT)
- $(LINK) $(hald_addon_storage_OBJECTS) $(hald_addon_storage_LDADD) $(LIBS)
-@@ -301,6 +322,7 @@ distclean-compile:
- -rm -f *.tab.c
-
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addon-storage.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hald_addon_mouse_sysmouse-addon-mouse.Po@am__quote@
-
- .c.o:
- @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@@ -323,6 +345,20 @@ distclean-compile:
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-+hald_addon_mouse_sysmouse-addon-mouse.o: addon-mouse.c
-+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(hald_addon_mouse_sysmouse_CFLAGS) $(CFLAGS) -MT hald_addon_mouse_sysmouse-addon-mouse.o -MD -MP -MF $(DEPDIR)/hald_addon_mouse_sysmouse-addon-mouse.Tpo -c -o hald_addon_mouse_sysmouse-addon-mouse.o `test -f 'addon-mouse.c' || echo '$(srcdir)/'`addon-mouse.c
-+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_addon_mouse_sysmouse-addon-mouse.Tpo $(DEPDIR)/hald_addon_mouse_sysmouse-addon-mouse.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='addon-mouse.c' object='hald_addon_mouse_sysmouse-addon-mouse.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(hald_addon_mouse_sysmouse_CFLAGS) $(CFLAGS) -c -o hald_addon_mouse_sysmouse-addon-mouse.o `test -f 'addon-mouse.c' || echo '$(srcdir)/'`addon-mouse.c
-+
-+hald_addon_mouse_sysmouse-addon-mouse.obj: addon-mouse.c
-+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(hald_addon_mouse_sysmouse_CFLAGS) $(CFLAGS) -MT hald_addon_mouse_sysmouse-addon-mouse.obj -MD -MP -MF $(DEPDIR)/hald_addon_mouse_sysmouse-addon-mouse.Tpo -c -o hald_addon_mouse_sysmouse-addon-mouse.obj `if test -f 'addon-mouse.c'; then $(CYGPATH_W) 'addon-mouse.c'; else $(CYGPATH_W) '$(srcdir)/addon-mouse.c'; fi`
-+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_addon_mouse_sysmouse-addon-mouse.Tpo $(DEPDIR)/hald_addon_mouse_sysmouse-addon-mouse.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='addon-mouse.c' object='hald_addon_mouse_sysmouse-addon-mouse.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(hald_addon_mouse_sysmouse_CFLAGS) $(CFLAGS) -c -o hald_addon_mouse_sysmouse-addon-mouse.obj `if test -f 'addon-mouse.c'; then $(CYGPATH_W) 'addon-mouse.c'; else $(CYGPATH_W) '$(srcdir)/addon-mouse.c'; fi`
-+
- mostlyclean-libtool:
- -rm -f *.lo
-
diff --git a/sysutils/hal/files/patch-hald_freebsd_addons_addon-mouse.c b/sysutils/hal/files/patch-hald_freebsd_addons_addon-mouse.c
deleted file mode 100644
index f3a14ac70051..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_addons_addon-mouse.c
+++ /dev/null
@@ -1,374 +0,0 @@
---- hald/freebsd/addons/addon-mouse.c.orig 2009-01-25 16:54:29.000000000 -0500
-+++ hald/freebsd/addons/addon-mouse.c 2009-01-25 23:00:48.000000000 -0500
-@@ -0,0 +1,371 @@
-+/***************************************************************************
-+ * CVSID: $Id$
-+ *
-+ * addon-mouse.c : poll mice to disable moused(8) owned devices
-+ *
-+ * Copyright (C) 2008 Joe Marcus Clarke
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ **************************************************************************/
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include <sys/param.h>
-+#include <sys/types.h>
-+#include <sys/event.h>
-+#include <sys/time.h>
-+#include <sys/proc.h>
-+#if __FreeBSD_version >= 800058
-+#include <sys/types.h>
-+#include <sys/user.h>
-+#include <sys/sysctl.h>
-+#include <libutil.h>
-+#endif
-+#include <string.h>
-+#include <stdlib.h>
-+#include <assert.h>
-+#include <unistd.h>
-+#include <glib.h>
-+
-+#include "libhal/libhal.h"
-+
-+#include "../libprobe/hfp.h"
-+
-+#if __FreeBSD_version < 800058
-+#define CMD "/usr/bin/fstat %s"
-+#endif
-+
-+#define MOUSED_DEVICE "/dev/sysmouse"
-+#define MOUSED_PROC_NAME "moused"
-+#define XORG_PROC_NAME "Xorg"
-+#define NO_PID -1
-+
-+static struct
-+{
-+ const struct timespec update_interval;
-+ char *device_file;
-+ struct timespec next_update;
-+} addon = { { 2, 0 } };
-+
-+static int kd = -1;
-+
-+#if __FreeBSD_version >= 800058
-+static struct kinfo_proc *
-+hfp_kinfo_getproc (int *cntp)
-+{
-+ int mib[3];
-+ int error;
-+ int cnt;
-+ size_t len;
-+ char *buf, *bp, *eb;
-+ struct kinfo_proc *kip, *kp, *ki;
-+
-+ *cntp = 0;
-+
-+ len = 0;
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PROC;
-+ mib[2] = KERN_PROC_PROC;
-+
-+ error = sysctl(mib, 3, NULL, &len, NULL, 0);
-+ if (error)
-+ return NULL;
-+
-+ len = len * 4 / 3;
-+ buf = (char *) g_malloc(len);
-+ if (buf == NULL)
-+ return NULL;
-+
-+ error = sysctl(mib, 3, buf, &len, NULL, 0);
-+ if (error)
-+ {
-+ g_free(buf);
-+ return NULL;
-+ }
-+
-+ cnt = 0;
-+ bp = buf;
-+ eb = buf + len;
-+ while (bp < eb)
-+ {
-+ ki = (struct kinfo_proc *) (uintptr_t) bp;
-+ bp += ki->ki_structsize;
-+ cnt++;
-+ }
-+
-+ kip = calloc(cnt, sizeof (*kip));
-+ if (kip == NULL)
-+ {
-+ g_free(buf);
-+ return NULL;
-+ }
-+
-+ bp = buf;
-+ eb = buf + len;
-+ kp = kip;
-+ while (bp < eb)
-+ {
-+ ki = (struct kinfo_proc *) (uintptr_t) bp;
-+ memcpy(kp, ki, ki->ki_structsize);
-+ bp += ki->ki_structsize;
-+ kp->ki_structsize = sizeof(*kp);
-+ kp++;
-+ }
-+
-+ g_free(buf);
-+ *cntp = cnt;
-+ return kip;
-+}
-+
-+static gboolean
-+device_opened_by_proc (const char *device, const char *proc, pid_t *pid)
-+{
-+ struct kinfo_proc *kip, *pfreep;
-+ int cnt, i;
-+
-+ *pid = NO_PID;
-+
-+ pfreep = hfp_kinfo_getproc(&cnt);
-+ if (pfreep == NULL)
-+ return FALSE;
-+
-+ for (i = 0; i < cnt; i++)
-+ {
-+ kip = &pfreep[i];
-+
-+ if (! strcmp(kip->ki_comm, proc))
-+ {
-+ struct kinfo_file *kif, *ffreep;
-+ int fcnt, j;
-+
-+ ffreep = kinfo_getfile(kip->ki_pid, &fcnt);
-+ if (ffreep == NULL)
-+ continue;
-+ for (j = 0; j < fcnt; j++)
-+ {
-+ kif = &ffreep[j];
-+
-+ if (kif->kf_type == KF_TYPE_VNODE &&
-+ ! strcmp(kif->kf_path, device))
-+ {
-+ *pid = kip->ki_pid;
-+ g_free(ffreep);
-+ g_free(pfreep);
-+ return TRUE;
-+ }
-+ }
-+ g_free(ffreep);
-+ }
-+ }
-+ g_free(pfreep);
-+
-+ return FALSE;
-+}
-+#else
-+static gboolean
-+device_opened_by_proc (const char *device, const char *proc, pid_t *pid)
-+{
-+ char **lines;
-+ char *output = NULL;
-+ char *cmd;
-+ int i;
-+ gboolean found = FALSE;
-+
-+ cmd = g_strdup_printf(CMD, device);
-+ *pid = NO_PID;
-+
-+ if (! g_spawn_command_line_sync(cmd, &output, NULL, NULL, NULL))
-+ {
-+ g_free(cmd);
-+ goto done;
-+ }
-+ g_free(cmd);
-+
-+ if (! output || strlen(output) == 0)
-+ goto done;
-+
-+ lines = g_strsplit(output, "\n", 0);
-+ if (g_strv_length(lines) < 2)
-+ {
-+ g_strfreev(lines);
-+ goto done;
-+ }
-+
-+ for (i = 1; lines[i]; i++)
-+ {
-+ char **fields;
-+ guint len;
-+ guint j;
-+
-+ fields = g_strsplit_set(lines[i], " ", 0);
-+ len = g_strv_length(fields);
-+ if (len < 3)
-+ {
-+ g_strfreev(fields);
-+ continue;
-+ }
-+ for (j = 1; j < len && fields[j] && *fields[j] == '\0'; j++)
-+ ;
-+ if (j < len && fields[j] && ! strcmp(fields[j], proc))
-+ {
-+ found = TRUE;
-+ for (++j; j < len && fields[j] && *fields[j] == '\0'; j++)
-+ ;
-+ if (j < len && fields[j])
-+ *pid = atoi(fields[j]);
-+ g_strfreev(fields);
-+ break;
-+ }
-+ g_strfreev(fields);
-+ }
-+
-+ g_strfreev(lines);
-+
-+done:
-+ g_free(output);
-+
-+ return found;
-+}
-+#endif
-+
-+static const char *
-+get_mouse_device (const char *device, pid_t *pid)
-+{
-+ if (device_opened_by_proc(device, MOUSED_PROC_NAME, pid))
-+ return MOUSED_DEVICE;
-+
-+ return device;
-+}
-+
-+static void
-+poll_for_moused (void)
-+{
-+ struct kevent ev;
-+ const char *device;
-+ gboolean found;
-+ pid_t pid;
-+ char *owner = NULL;
-+ char *prev_owner = NULL;
-+
-+again:
-+ device = get_mouse_device(addon.device_file, &pid);
-+ if (pid != NO_PID)
-+ {
-+ EV_SET(&ev, pid, EVFILT_PROC, EV_ADD | EV_ENABLE, NOTE_EXIT, 0, NULL);
-+ if (kevent(kd, &ev, 1, NULL, 0, NULL) < 0)
-+ return;
-+ g_free(owner);
-+ owner = g_strdup(MOUSED_PROC_NAME);
-+ }
-+ else
-+ {
-+ found = device_opened_by_proc(device, XORG_PROC_NAME, &pid);
-+ if (found && pid != NO_PID)
-+ {
-+ EV_SET(&ev, pid, EVFILT_PROC, EV_ADD | EV_ENABLE, NOTE_EXIT, 0, NULL);
-+ if (kevent(kd, &ev, 1, NULL, 0, NULL) < 0)
-+ return;
-+ g_free(owner);
-+ owner = g_strdup(XORG_PROC_NAME);
-+ }
-+ else
-+ goto out;
-+ }
-+
-+ if (owner && prev_owner && strcmp(owner, prev_owner))
-+ goto out;
-+
-+ if (kevent(kd, NULL, 0, &ev, 1, NULL) < 0)
-+ return;
-+
-+ sleep(3);
-+ g_free(prev_owner);
-+ prev_owner = NULL;
-+ if (owner)
-+ prev_owner = g_strdup(owner);
-+ goto again;
-+
-+out:
-+ if (owner)
-+ {
-+ libhal_device_reprobe(hfp_ctx, hfp_udi, &hfp_error);
-+ dbus_error_free(&hfp_error);
-+ }
-+ g_free(owner);
-+ g_free(prev_owner);
-+}
-+
-+int
-+main (int argc, char **argv)
-+{
-+ DBusConnection *connection;
-+
-+ if (! hfp_init(argc, argv))
-+ goto end;
-+
-+ addon.device_file = getenv("HAL_PROP_FREEBSD_DEVICE_FILE");
-+ if (! addon.device_file)
-+ goto end;
-+
-+ setproctitle("%s", addon.device_file);
-+
-+ if (! libhal_device_addon_is_ready(hfp_ctx, hfp_udi, &hfp_error))
-+ goto end;
-+ dbus_error_free(&hfp_error);
-+
-+ connection = libhal_ctx_get_dbus_connection(hfp_ctx);
-+ assert(connection != NULL);
-+
-+ kd = kqueue();
-+ assert(kd > -1);
-+
-+ while (TRUE)
-+ {
-+ /* process dbus traffic until update interval has elapsed */
-+ while (TRUE)
-+ {
-+ struct timespec now;
-+
-+ hfp_clock_gettime(&now);
-+ if (hfp_timespeccmp(&now, &addon.next_update, <))
-+ {
-+ struct timespec timeout;
-+
-+ timeout = addon.next_update;
-+ hfp_timespecsub(&timeout, &now);
-+
-+ if (timeout.tv_sec < 0) /* current time went backwards */
-+ timeout = addon.update_interval;
-+
-+ dbus_connection_read_write_dispatch(connection, timeout.tv_sec * 1000 + timeout.tv_nsec / 1000000);
-+ if (! dbus_connection_get_is_connected(connection))
-+ goto end;
-+ }
-+ else
-+ break;
-+ }
-+
-+ poll_for_moused();
-+
-+ hfp_clock_gettime(&addon.next_update);
-+ hfp_timespecadd(&addon.next_update, &addon.update_interval);
-+ }
-+
-+ end:
-+ return 0;
-+}
diff --git a/sysutils/hal/files/patch-hald_freebsd_addons_addon-storage.c b/sysutils/hal/files/patch-hald_freebsd_addons_addon-storage.c
index f19b7e92dcea..fed388c953ef 100644
--- a/sysutils/hal/files/patch-hald_freebsd_addons_addon-storage.c
+++ b/sysutils/hal/files/patch-hald_freebsd_addons_addon-storage.c
@@ -1,33 +1,6 @@
---- hald/freebsd/addons/addon-storage.c.orig 2008-08-10 09:50:10.000000000 -0400
-+++ hald/freebsd/addons/addon-storage.c 2009-09-13 17:23:52.000000000 -0400
-@@ -36,17 +36,24 @@
- #include "../libprobe/hfp.h"
- #include "../libprobe/hfp-cdrom.h"
-
-+static boolean is_locked_by_hal = FALSE;
-+static boolean check_lock_state = TRUE;
-+static boolean polling_disabled = FALSE;
-+
- static struct
- {
-- const struct timeval update_interval;
-+ const struct timespec update_interval;
- char *device_file;
- char *parent;
- boolean is_cdrom;
- boolean is_scsi_removable;
- boolean had_media;
-- struct timeval next_update;
-+ struct timespec next_update;
- } addon = { { 2, 0 } };
-
-+static void update_proc_title (const char *device);
-+static void unmount_volumes (void);
-+
- /* see MMC-3 Working Draft Revision 10 */
- static boolean
- hf_addon_storage_cdrom_eject_pressed (HFPCDROM *cdrom)
-@@ -100,8 +107,7 @@ hf_addon_storage_update (void)
+--- hald/freebsd/addons/addon-storage.c.orig 2009-08-24 08:42:29.000000000 -0400
++++ hald/freebsd/addons/addon-storage.c 2009-12-23 13:53:00.000000000 -0500
+@@ -107,8 +107,7 @@ hf_addon_storage_update (void)
if (hf_addon_storage_cdrom_eject_pressed(cdrom))
{
@@ -37,165 +10,63 @@
}
hfp_cdrom_free(cdrom);
-@@ -144,18 +150,142 @@ hf_addon_storage_update (void)
- }
- }
+@@ -164,19 +163,17 @@ unmount_volumes (void)
+ "block.storage_device",
+ hfp_udi,
+ &num_volumes,
+- &hfp_error)) != NULL)
++ NULL)) != NULL)
+ {
+ int i;
-- hfp_gettimeofday(&addon.next_update);
-- hfp_timevaladd(&addon.next_update, &addon.update_interval);
+- dbus_error_free(&hfp_error);
-
- return has_media;
- }
+ for (i = 0; i < num_volumes; i++)
+ {
+ char *vol_udi;
-+static void
-+unmount_volumes (void)
-+{
-+ int num_volumes;
-+ char **volumes;
-+
-+ if ((volumes = libhal_manager_find_device_string_match(hfp_ctx,
-+ "block.storage_device",
-+ hfp_udi,
-+ &num_volumes,
-+ NULL)) != NULL)
-+ {
-+ int i;
-+
-+ for (i = 0; i < num_volumes; i++)
-+ {
-+ char *vol_udi;
-+
-+ vol_udi = volumes[i];
-+
+ vol_udi = volumes[i];
+
+- if (libhal_device_get_property_bool(hfp_ctx, vol_udi, "volume.is_mounted", &hfp_error))
+ if (libhal_device_get_property_bool(hfp_ctx, vol_udi, "volume.is_mounted", NULL))
-+ {
-+ DBusMessage *msg = NULL;
-+ DBusMessage *reply = NULL;
-+ DBusConnection *dbus_connection;
-+ unsigned int num_options = 0;
-+ char **options = NULL;
-+ char *devfile;
-+
-+ hfp_info("Forcing unmount of volume '%s'", vol_udi);
-+
-+ dbus_connection = libhal_ctx_get_dbus_connection(hfp_ctx);
-+ msg = dbus_message_new_method_call("org.freedesktop.Hal", vol_udi,
-+ "org.freedesktop.Hal.Device.Volume",
-+ "Unmount");
-+ if (msg == NULL)
-+ {
-+ hfp_warning("Could not create dbus message for %s", vol_udi);
-+ continue;
-+ }
-+
-+ options = calloc(1, sizeof (char *));
-+ if (options == NULL)
-+ {
-+ hfp_warning("Could not allocation memory for options");
-+ dbus_message_unref(msg);
-+ continue;
-+ }
-+
-+ options[0] = "force";
-+ num_options = 1;
-+
-+ devfile = libhal_device_get_property_string(hfp_ctx, vol_udi, "block.device", NULL);
-+ if (devfile != NULL)
-+ {
-+ hfp_info("Forcibly attempting to unmount %s as media was removed", devfile);
-+ libhal_free_string(devfile);
-+ }
-+
-+ if (! dbus_message_append_args(msg, DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &options, num_options, DBUS_TYPE_INVALID))
-+ {
-+ hfp_warning("Could not append args to dbus message for %s", vol_udi);
-+ free(options);
-+ dbus_message_unref(msg);
-+ continue;
-+ }
-+
-+ if (! (reply = dbus_connection_send_with_reply_and_block(dbus_connection, msg, -1, &hfp_error)))
-+ {
-+ hfp_warning("Unmount failed for %s: %s: %s", vol_udi, hfp_error.name, hfp_error.message);
-+ dbus_error_free(&hfp_error);
-+ free(options);
-+ dbus_message_unref(msg);
-+ continue;
-+ }
-+
-+ if (dbus_error_is_set(&hfp_error))
-+ {
-+ hfp_warning("Unmount failed for %s: %s : %s", vol_udi, hfp_error.name, hfp_error.message);
-+ dbus_error_free(&hfp_error);
-+ free(options);
-+ dbus_message_unref(msg);
-+ dbus_message_unref(reply);
-+ continue;
-+ }
-+
-+ hfp_info("Successfully unmounted udi '%s'", vol_udi);
-+ free(options);
-+ dbus_message_unref(msg);
-+ dbus_message_unref(reply);
-+ }
-+ }
-+ libhal_free_string_array(volumes);
-+ }
-+}
-+
- static boolean
--poll_for_media (void)
-+poll_for_media (boolean check_only, boolean force)
- {
- boolean has_media;
+ {
+ DBusMessage *msg = NULL;
+ DBusMessage *reply = NULL;
+@@ -185,7 +182,6 @@ unmount_volumes (void)
+ char **options = NULL;
+ char *devfile;
+
+- dbus_error_free(&hfp_error);
+ hfp_info("Forcing unmount of volume '%s'", vol_udi);
-+ if (check_lock_state)
-+ {
-+ boolean should_poll;
-+
-+ check_lock_state = FALSE;
-+
-+ hfp_info("Checking whether device %s is locked by HAL", addon.device_file);
+ dbus_connection = libhal_ctx_get_dbus_connection(hfp_ctx);
+@@ -265,10 +261,9 @@ poll_for_media (boolean check_only, bool
+ check_lock_state = FALSE;
+
+ hfp_info("Checking whether device %s is locked by HAL", addon.device_file);
+- if (libhal_device_is_locked_by_others(hfp_ctx, hfp_udi, "org.freedesktop.Hal.Device.Storage", &hfp_error))
+ if (libhal_device_is_locked_by_others(hfp_ctx, hfp_udi, "org.freedesktop.Hal.Device.Storage", NULL))
-+ {
-+ hfp_info("... device %s is locked by HAL", addon.device_file);
-+ is_locked_by_hal = TRUE;
-+ update_proc_title(addon.device_file);
-+ goto skip_check;
-+ }
-+ else
-+ {
-+ hfp_info("... device %s is not locked by HAL", addon.device_file);
-+ is_locked_by_hal = FALSE;
-+ }
-+
+ {
+ hfp_info("... device %s is locked by HAL", addon.device_file);
+- dbus_error_free(&hfp_error);
+ is_locked_by_hal = TRUE;
+ update_proc_title(addon.device_file);
+ goto skip_check;
+@@ -278,10 +273,8 @@ poll_for_media (boolean check_only, bool
+ hfp_info("... device %s is not locked by HAL", addon.device_file);
+ is_locked_by_hal = FALSE;
+ }
+- dbus_error_free(&hfp_error);
+
+- should_poll = libhal_device_get_property_bool(hfp_ctx, hfp_udi, "storage.media_check_enabled", &hfp_error);
+- dbus_error_free(&hfp_error);
+ should_poll = libhal_device_get_property_bool(hfp_ctx, hfp_udi, "storage.media_check_enabled", NULL);
-+ polling_disabled = ! should_poll;
-+ update_proc_title(addon.device_file);
-+ }
-+
-+ if (! force && polling_disabled)
-+ goto skip_check;
-+
- has_media = hf_addon_storage_update();
-+ if (check_only)
-+ return has_media;
-+
- if (has_media != addon.had_media)
- {
- /*
-@@ -168,27 +298,47 @@ poll_for_media (void)
- * then hung while rebooting and did not unmount my other
- * filesystems.
- */
-+#if __FreeBSD_version >= 800066
-+ /*
-+ * With newusb, it is safe to force unmount volumes. This may be
-+ * safe on newer versions of the old USB stack, but we'll be
-+ * extra cautious.
-+ */
-+ unmount_volumes();
-+#endif
+ polling_disabled = ! should_poll;
+ update_proc_title(addon.device_file);
+ }
+@@ -314,8 +307,7 @@ poll_for_media (boolean check_only, bool
+ unmount_volumes();
+ #endif
- libhal_device_rescan(hfp_ctx, hfp_udi, &hfp_error);
- dbus_error_free(&hfp_error);
@@ -203,107 +74,22 @@
addon.had_media = has_media;
return TRUE;
- }
-+
-+skip_check:
-+
- return FALSE;
- }
-
- static void
--update_proc_title (const char *device, boolean polling_enabled)
-+update_proc_title (const char *device)
- {
-- if (polling_enabled)
-- setproctitle("%s", device);
-- else
-+ if (polling_disabled)
- setproctitle("no polling on %s because it is explicitly disabled", device);
-+ else if (is_locked_by_hal)
-+ setproctitle("no polling on %s because it is locked by HAL", device);
-+ else
-+ setproctitle("%s", device);
- }
-
- static DBusHandlerResult
--filter_function (DBusConnection *connection, DBusMessage *message, void *user_data)
-+dbus_filter_function (DBusConnection *connection, DBusMessage *message, void *user_data)
-+{
-+ check_lock_state = TRUE;
-+
-+ return DBUS_HANDLER_RESULT_HANDLED;
-+}
-+
-+static DBusHandlerResult
-+direct_filter_function (DBusConnection *connection, DBusMessage *message, void *user_data)
- {
- if (dbus_message_is_method_call(message,
- "org.freedesktop.Hal.Device.Storage.Removable",
-@@ -199,7 +349,7 @@ filter_function (DBusConnection *connect
-
- hfp_info("Forcing poll for media becusse CheckForMedia() was called");
-
-- had_effect = poll_for_media();
-+ had_effect = poll_for_media(FALSE, TRUE);
-
- reply = dbus_message_new_method_return (message);
- dbus_message_append_args(reply, DBUS_TYPE_BOOLEAN, &had_effect, DBUS_TYPE_INVALID);
-@@ -217,8 +367,9 @@ main (int argc, char **argv)
- char *removable;
- char *bus;
- char *driver;
-- boolean should_poll;
-+ char *filter_str;
- DBusConnection *connection;
-+ DBusConnection *syscon;
-
- if (! hfp_init(argc, argv))
- goto end;
-@@ -251,16 +402,39 @@ main (int argc, char **argv)
- addon.is_scsi_removable = (! strcmp(bus, "scsi") ||
- (! strcmp(bus, "usb") && (! strcmp(driver, "da") || ! strcmp(driver, "sa") ||
+@@ -412,12 +404,10 @@ main (int argc, char **argv)
! strcmp(driver, "cd")))) && ! strcmp(removable, "true");
-- addon.had_media = hf_addon_storage_update();
-+ addon.had_media = poll_for_media(TRUE, FALSE);
+ addon.had_media = poll_for_media(TRUE, FALSE);
- if (! libhal_device_addon_is_ready(hfp_ctx, hfp_udi, &hfp_error))
+ if (! libhal_device_addon_is_ready(hfp_ctx, hfp_udi, NULL))
goto end;
- dbus_error_free(&hfp_error);
-+
-+ syscon = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
-+ assert(syscon != NULL);
-+ dbus_connection_set_exit_on_disconnect(syscon, 0);
-+
-+ dbus_bus_add_match(syscon,
-+ "type='signal'"
-+ ",interface='org.freedesktop.Hal.Manager'"
-+ ",sender='org.freedesktop.Hal'",
-+ NULL);
-+ dbus_bus_add_match(syscon,
-+ "type='signal'"
-+ ",interface='org.freedesktop.Hal.Manager'"
-+ ",sender='org.freedesktop.Hal'",
-+ NULL);
-+ filter_str = hfp_strdup_printf("type='signal'"
-+ ",interface='org.freedesktop.Hal.Device'"
-+ ",sender='org.freedesktop.Hal'"
-+ ",path='%s'",
-+ hfp_udi);
-+ dbus_bus_add_match(syscon, filter_str, NULL);
-+ hfp_free(filter_str);
-+
-+ dbus_connection_add_filter(syscon, dbus_filter_function, NULL, NULL);
- connection = libhal_ctx_get_dbus_connection(hfp_ctx);
- assert(connection != NULL);
- dbus_connection_set_exit_on_disconnect(connection, 0);
-- dbus_connection_add_filter(connection, filter_function, NULL, NULL);
-+ dbus_connection_add_filter(connection, direct_filter_function, NULL, NULL);
+- syscon = dbus_bus_get(DBUS_BUS_SYSTEM, &hfp_error);
+- dbus_error_free(&hfp_error);
++ syscon = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+ assert(syscon != NULL);
+ dbus_connection_set_exit_on_disconnect(syscon, 0);
- if (! libhal_device_claim_interface(hfp_ctx,
- hfp_udi,
-@@ -268,52 +442,43 @@ main (int argc, char **argv)
+@@ -452,12 +442,11 @@ main (int argc, char **argv)
" <method name=\"CheckForMedia\">\n"
" <arg name=\"call_had_sideeffect\" direction=\"out\" type=\"b\"/>\n"
" </method>\n",
@@ -317,55 +103,3 @@
while (TRUE)
{
- /* process dbus traffic until update interval has elapsed */
- while (TRUE)
- {
-- struct timeval now;
-+ struct timespec now;
-
-- hfp_gettimeofday(&now);
-- if (hfp_timevalcmp(&now, &addon.next_update, <))
-+ hfp_clock_gettime(&now);
-+ if (hfp_timespeccmp(&now, &addon.next_update, <))
- {
-- struct timeval timeout;
-+ struct timespec timeout;
-
- timeout = addon.next_update;
-- hfp_timevalsub(&timeout, &now);
-+ hfp_timespecsub(&timeout, &now);
-
- if (timeout.tv_sec < 0) /* current time went backwards */
- timeout = addon.update_interval;
-
-- dbus_connection_read_write_dispatch(connection, timeout.tv_sec * 1000 + timeout.tv_usec / 1000);
-- if (! dbus_connection_get_is_connected(connection))
-+ dbus_connection_read_write_dispatch(connection, (int) ((timeout.tv_sec * 1000 + timeout.tv_nsec / 1000000) / 2));
-+ dbus_connection_read_write_dispatch(syscon, (int) ((timeout.tv_sec * 1000 + timeout.tv_nsec / 1000000) / 2));
-+ if (! dbus_connection_get_is_connected(connection) ||
-+ ! dbus_connection_get_is_connected(syscon))
- goto end;
- }
- else
- break;
- }
-
-- should_poll = libhal_device_get_property_bool(hfp_ctx, hfp_udi, "storage.media_check_enabled", &hfp_error);
-- dbus_error_free(&hfp_error);
-- update_proc_title(addon.device_file, should_poll);
--
-- if (should_poll)
-- {
-- poll_for_media();
-- }
-- else
-- {
-- hfp_gettimeofday(&addon.next_update);
-- hfp_timevaladd(&addon.next_update, &addon.update_interval);
-- }
-+ poll_for_media(FALSE, FALSE);
-+ hfp_clock_gettime(&addon.next_update);
-+ hfp_timespecadd(&addon.next_update, &addon.update_interval);
- }
-
- end:
diff --git a/sysutils/hal/files/patch-hald_freebsd_clock b/sysutils/hal/files/patch-hald_freebsd_clock
deleted file mode 100644
index 488283e02e36..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_clock
+++ /dev/null
@@ -1,111 +0,0 @@
---- hald/freebsd/libprobe/hfp.c.orig 2008-03-17 17:25:17.000000000 -0400
-+++ hald/freebsd/libprobe/hfp.c 2008-03-26 12:07:32.000000000 -0400
-@@ -216,55 +216,59 @@ hfp_getenv_bool (const char *variable)
- }
-
- void
--hfp_gettimeofday (struct timeval *t)
-+hfp_clock_gettime (struct timespec *t)
- {
- int status;
-
- assert(t != NULL);
-
-- status = gettimeofday(t, NULL);
-+#ifdef CLOCK_MONOTONIC_FAST
-+ status = clock_gettime(CLOCK_MONOTONIC_FAST, t);
-+#else
-+ status = clock_gettime(CLOCK_MONOTONIC, t);
-+#endif
- assert(status == 0);
- }
-
--/* timeval functions from sys/kern/kern_time.c */
-+/* timespec functions from sys/kern/kern_time.c */
-
- static void
--hfp_timevalfix (struct timeval *t)
-+hfp_timespecfix (struct timespec *t)
- {
- assert(t != NULL);
-
-- if (t->tv_usec < 0)
-+ if (t->tv_nsec < 0)
- {
- t->tv_sec--;
-- t->tv_usec += 1000000;
-+ t->tv_nsec += 1000000000;
- }
-- if (t->tv_usec >= 1000000)
-+ if (t->tv_nsec >= 1000000000)
- {
- t->tv_sec++;
-- t->tv_usec -= 1000000;
-+ t->tv_nsec -= 1000000000;
- }
- }
-
- void
--hfp_timevaladd (struct timeval *t1, const struct timeval *t2)
-+hfp_timespecadd (struct timespec *t1, const struct timespec *t2)
- {
- assert(t1 != NULL);
- assert(t2 != NULL);
-
- t1->tv_sec += t2->tv_sec;
-- t1->tv_usec += t2->tv_usec;
-+ t1->tv_nsec += t2->tv_nsec;
-
-- hfp_timevalfix(t1);
-+ hfp_timespecfix(t1);
- }
-
- void
--hfp_timevalsub (struct timeval *t1, const struct timeval *t2)
-+hfp_timespecsub (struct timespec *t1, const struct timespec *t2)
- {
- assert(t1 != NULL);
- assert(t2 != NULL);
-
- t1->tv_sec -= t2->tv_sec;
-- t1->tv_usec -= t2->tv_usec;
-+ t1->tv_nsec -= t2->tv_nsec;
-
-- hfp_timevalfix(t1);
-+ hfp_timespecfix(t1);
- }
---- hald/freebsd/libprobe/hfp.h.orig 2008-03-17 17:25:17.000000000 -0400
-+++ hald/freebsd/libprobe/hfp.h 2008-04-02 14:35:50.000000000 -0400
-@@ -29,8 +29,12 @@
- #endif
-
- #include <stdarg.h>
-+#include <time.h>
- #include <sys/types.h>
-+#include <sys/param.h>
-+#if __FreeBSD_version < 600000
- #include <sys/time.h>
-+#endif
-
- #include "libhal/libhal.h"
-
-@@ -84,14 +88,14 @@ void volume_id_log (const char *format,
-
- boolean hfp_getenv_bool (const char *variable);
-
--void hfp_gettimeofday (struct timeval *t);
--void hfp_timevaladd (struct timeval *t1, const struct timeval *t2);
--void hfp_timevalsub (struct timeval *t1, const struct timeval *t2);
-+void hfp_clock_gettime (struct timespec *t);
-+void hfp_timespecadd (struct timespec *t1, const struct timespec *t2);
-+void hfp_timespecsub (struct timespec *t1, const struct timespec *t2);
-
- /* from sys/time.h (_KERNEL) */
--#define hfp_timevalcmp(t1, t2, cmp) \
-+#define hfp_timespeccmp(t1, t2, cmp) \
- (((t1)->tv_sec == (t2)->tv_sec \
-- ? ((t1)->tv_usec cmp (t2)->tv_usec) \
-+ ? ((t1)->tv_nsec cmp (t2)->tv_nsec) \
- : ((t1)->tv_sec cmp (t2)->tv_sec)))
-
- #endif /* _HFP_H */
diff --git a/sysutils/hal/files/patch-hald_freebsd_hf-acpi.c b/sysutils/hal/files/patch-hald_freebsd_hf-acpi.c
deleted file mode 100644
index a21095a5f339..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_hf-acpi.c
+++ /dev/null
@@ -1,90 +0,0 @@
---- hald/freebsd/hf-acpi.c.orig 2008-05-07 19:23:59.000000000 -0400
-+++ hald/freebsd/hf-acpi.c 2009-02-04 11:32:27.000000000 -0500
-@@ -54,6 +54,7 @@
- static const struct laptop_panel_type {
- char *access;
- char *name;
-+ char *get_sysctl;
- char *max_sysctl;
- int max_levels;
- #define HF_ACPI_IBM_MAX_LEVELS 8
-@@ -64,17 +65,29 @@
- #define HF_ACPI_FUJITSU_MAX_LEVELS 8
- /* NOTE: Each new type must also be added to hf-devtree.c */
- } laptop_panel_types[] = {
-- { "ibm", "IBM", NULL,
-+ { "ibm", "IBM",
-+ "dev.acpi_ibm.0.lcd_brightness",
-+ NULL,
- HF_ACPI_IBM_MAX_LEVELS },
-- { "toshiba", "Toshiba", NULL,
-+ { "toshiba", "Toshiba",
-+ "hw.acpi.toshiba.lcd_brightness",
-+ NULL,
- HF_ACPI_TOSHIBA_MAX_LEVELS },
-- { "sony", "Sony", NULL,
-+ { "sony", "Sony",
-+ "dev.acpi_sony.0.brightness",
-+ NULL,
- HF_ACPI_SONY_MAX_LEVELS },
-- { "panasonic", "Panasonic", "hw.acpi.panasonic.lcd_brightness_max",
-+ { "panasonic", "Panasonic",
-+ "hw.acpi.panasonic.lcd_brightness",
-+ "hw.acpi.panasonic.lcd_brightness_max",
- HF_ACPI_PANASONIC_MAX_LEVELS },
-- { "asus", "Asus", NULL,
-+ { "asus", "Asus",
-+ "hw.acpi.asus.lcd_brightness",
-+ NULL,
- HF_ACPI_ASUS_MAX_LEVELS },
-- { "fujitsu", "Fujitsu", NULL,
-+ { "fujitsu", "Fujitsu",
-+ "hw.acpi.fujitsu.lcd_brightness",
-+ NULL,
- HF_ACPI_FUJITSU_MAX_LEVELS }
- };
-
-@@ -105,6 +118,9 @@
- gboolean ispresent;
- union acpi_battery_ioctl_arg battif, battst, battinfo;
-
-+ if (! hf_has_sysctl("hw.acpi.battery.units"))
-+ return;
-+
- battif.unit = battst.unit = battinfo.unit =
- hal_device_property_get_int(device, "freebsd.unit");
-
-@@ -497,13 +513,15 @@
-
- static HalDevice *
- hf_acpi_laptop_panel_new (HalDevice *parent, int max_levels,
-- const char *max_sysctl, const char *access,
-- const char *name)
-+ const char *get_sysctl, const char *max_sysctl,
-+ const char *access, const char *name)
- {
- HalDevice *device;
-
- g_return_val_if_fail(HAL_IS_DEVICE(parent), NULL);
-
-+ if (get_sysctl == NULL || ! hf_has_sysctl(get_sysctl))
-+ return NULL;
- device = hf_device_new(parent);
-
- hf_device_property_set_string_printf(device, "info.product", "Laptop Panel (%s)", name);
-@@ -593,11 +611,13 @@
- HalDevice *panel_device;
-
- panel_device = hf_acpi_laptop_panel_new(parent,
-- laptop_panel_types[i].max_levels,
-+ laptop_panel_types[i].max_levels,
-+ laptop_panel_types[i].get_sysctl,
- laptop_panel_types[i].max_sysctl,
- laptop_panel_types[i].access,
- laptop_panel_types[i].name);
-- hf_device_preprobe_and_add(panel_device);
-+ if (panel_device)
-+ hf_device_preprobe_and_add(panel_device);
- }
- }
- }
diff --git a/sysutils/hal/files/patch-hald_freebsd_hf-computer.c b/sysutils/hal/files/patch-hald_freebsd_hf-computer.c
deleted file mode 100644
index e2921c58aa12..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_hf-computer.c
+++ /dev/null
@@ -1,26 +0,0 @@
---- hald/freebsd/hf-computer.c.orig 2009-07-18 21:22:48.000000000 -0400
-+++ hald/freebsd/hf-computer.c 2009-07-18 21:23:51.000000000 -0400
-@@ -26,6 +26,7 @@
- # include <config.h>
- #endif
-
-+#include <stdio.h>
- #include <string.h>
- #include <sys/utsname.h>
-
-@@ -133,11 +134,11 @@ hf_computer_device_add (void)
- if (PACKAGE_VERSION) {
- int major, minor, micro;
-
-- hal_device_property_set_string (root, "org.freedesktop.Hal.version", PACKAGE_VERSION);
-+ hal_device_property_set_string (device, "org.freedesktop.Hal.version", PACKAGE_VERSION);
- if ( sscanf( PACKAGE_VERSION, "%d.%d.%d", &major, &minor, &micro ) == 3 ) {
-- hal_device_property_set_int (root, "org.freedesktop.Hal.version.major", major);
-- hal_device_property_set_int (root, "org.freedesktop.Hal.version.minor", minor);
-- hal_device_property_set_int (root, "org.freedesktop.Hal.version.micro", micro);
-+ hal_device_property_set_int (device, "org.freedesktop.Hal.version.major", major);
-+ hal_device_property_set_int (device, "org.freedesktop.Hal.version.minor", minor);
-+ hal_device_property_set_int (device, "org.freedesktop.Hal.version.micro", micro);
- }
- }
-
diff --git a/sysutils/hal/files/patch-hald_freebsd_hf-devd.c b/sysutils/hal/files/patch-hald_freebsd_hf-devd.c
deleted file mode 100644
index 29ed38a7e443..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_hf-devd.c
+++ /dev/null
@@ -1,56 +0,0 @@
---- hald/freebsd/hf-devd.c.orig 2008-05-07 19:23:59.000000000 -0400
-+++ hald/freebsd/hf-devd.c 2009-05-30 03:15:33.000000000 -0400
-@@ -28,6 +28,7 @@
- #include <string.h>
- #include <errno.h>
- #include <unistd.h>
-+#include <sys/param.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/un.h>
-@@ -40,7 +41,11 @@
- #include "hf-acpi.h"
- #include "hf-net.h"
- #include "hf-pcmcia.h"
-+#include "hf-storage.h"
- #include "hf-usb.h"
-+#ifdef HAVE_LIBUSB20
-+#include "hf-usb2.h"
-+#endif
- #include "hf-util.h"
-
- #define HF_DEVD_SOCK_PATH "/var/run/devd.pipe"
-@@ -51,10 +56,16 @@
- #define HF_DEVD_EVENT_NOMATCH '?'
-
- static HFDevdHandler *handlers[] = {
-+#ifdef HAVE_LIBUSB20
-+ &hf_usb2_devd_handler,
-+#endif
-+#if __FreeBSD_version < 800092
- &hf_usb_devd_handler,
-+#endif
- &hf_net_devd_handler,
- &hf_acpi_devd_handler,
-- &hf_pcmcia_devd_handler
-+ &hf_pcmcia_devd_handler,
-+ &hf_storage_devd_handler
- };
-
- static gboolean hf_devd_inited = FALSE;
-@@ -381,13 +392,13 @@ hf_devd_event_cb (GIOChannel *source, GI
-
- status = g_io_channel_read_line(source, &event, NULL, &terminator, NULL);
-
-- if (status != G_IO_STATUS_NORMAL)
-+ if (status == G_IO_STATUS_NORMAL)
- {
- event[terminator] = 0;
- hf_devd_process_event(event);
- g_free(event);
- }
-- else if (status != G_IO_STATUS_AGAIN)
-+ else if (status == G_IO_STATUS_AGAIN)
- {
- hf_devd_init();
- if (hf_devd_inited)
diff --git a/sysutils/hal/files/patch-hald_freebsd_hf-devtree.c b/sysutils/hal/files/patch-hald_freebsd_hf-devtree.c
deleted file mode 100644
index afc07d63ad4b..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_hf-devtree.c
+++ /dev/null
@@ -1,77 +0,0 @@
---- hald/freebsd/hf-devtree.c.orig 2008-05-07 19:24:03.000000000 -0400
-+++ hald/freebsd/hf-devtree.c 2009-02-16 18:48:41.000000000 -0500
-@@ -86,7 +86,11 @@ hf_devtree_cpu_can_throttle (int cpu)
- gboolean can = FALSE;
- char *levels;
-
-+#ifdef notyet
- levels = hf_get_string_sysctl(NULL, "dev.cpu.%i.freq_levels", cpu);
-+#else
-+ levels = hf_get_string_sysctl(NULL, "dev.cpu.0.freq_levels");
-+#endif
- if (levels)
- {
- char **toks;
-@@ -109,7 +113,11 @@ hf_devtree_cpu_get_maxfreq (int cpu)
- char *levels;
- int freq = -1;
-
-+#ifdef notyet
- levels = hf_get_string_sysctl(NULL, "dev.cpu.%i.freq_levels", cpu);
-+#else
-+ levels = hf_get_string_sysctl(NULL, "dev.cpu.0.freq_levels");
-+#endif
- if (levels)
- {
- sscanf(levels, "%i/", &freq);
-@@ -379,7 +387,8 @@ static Handler handlers[] = {
- { "pcm", NULL },
- { "psm", hf_devtree_psm_set_properties },
- { "sio", NULL },
-- { "speaker", NULL }
-+ { "speaker", NULL },
-+ { "usbus", NULL }
- };
-
- static void
-@@ -426,7 +435,13 @@ hf_devtree_probe (void)
- HalDevice *device;
-
- device = hf_devtree_device_new(parent, info->handler, info->unit);
-- hf_device_preprobe_and_add(device);
-+ if (hf_device_preprobe(device))
-+ {
-+ if (hal_device_has_capability(device, "input.mouse"))
-+ hf_runner_run_sync(device, 0, "hald-probe-mouse", NULL);
-+
-+ hf_device_add(device);
-+ }
- }
-
- devices = g_slist_delete_link(devices, root);
-@@ -434,6 +449,17 @@ hf_devtree_probe (void)
- }
- }
-
-+static gboolean
-+hf_devtree_rescan (HalDevice *device)
-+{
-+ if (hal_device_has_capability(device, "input.mouse"))
-+ {
-+ hf_runner_run_sync(device, 0, "hald-probe-mouse", NULL);
-+ return TRUE;
-+ }
-+ return FALSE;
-+}
-+
- HalDevice *
- hf_devtree_find_from_name (HalDeviceStore *store, const char *name)
- {
-@@ -597,5 +623,6 @@ hf_devtree_is_driver (const char *name,
- }
-
- HFHandler hf_devtree_handler = {
-- .probe = hf_devtree_probe
-+ .probe = hf_devtree_probe,
-+ .device_rescan = hf_devtree_rescan
- };
diff --git a/sysutils/hal/files/patch-hald_freebsd_hf-scsi.c b/sysutils/hal/files/patch-hald_freebsd_hf-scsi.c
deleted file mode 100644
index bc7ad871d67d..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_hf-scsi.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- hald/freebsd/hf-scsi.c.orig 2009-08-18 16:19:02.000000000 -0400
-+++ hald/freebsd/hf-scsi.c 2009-08-18 16:19:24.000000000 -0400
-@@ -549,7 +549,7 @@ hf_scsi_probe (void)
- break; /* only use the first peripheral */
-
- match = &ccb.cdm.matches[i].result.periph_result;
-- if ((int) match->path_id == -1 || ! strcmp(match->periph_name, "pass"))
-+ if ((int) match->path_id == -1 || ! strcmp(match->periph_name, "pass") || ! strcmp(match->periph_name, "probe"))
- break;
-
- pending_devname = g_strdup_printf("%s%i", match->periph_name, match->unit_number);
diff --git a/sysutils/hal/files/patch-hald_freebsd_hf-storage.h b/sysutils/hal/files/patch-hald_freebsd_hf-storage.h
deleted file mode 100644
index ca673b5bc379..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_hf-storage.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- hald/freebsd/hf-storage.h.orig 2009-02-23 01:43:49.000000000 -0500
-+++ hald/freebsd/hf-storage.h 2009-02-23 01:45:17.000000000 -0500
-@@ -29,8 +29,10 @@
- #endif
-
- #include "hf-osspec.h"
-+#include "hf-devd.h"
-
- extern HFHandler hf_storage_handler;
-+extern HFDevdHandler hf_storage_devd_handler;
-
- void hf_storage_device_enable (HalDevice *device);
- void hf_storage_device_enable_tape (HalDevice *device);
diff --git a/sysutils/hal/files/patch-hald_freebsd_hf-usb.c b/sysutils/hal/files/patch-hald_freebsd_hf-usb.c
index a3289fbabfeb..8e4d2a1b27c6 100644
--- a/sysutils/hal/files/patch-hald_freebsd_hf-usb.c
+++ b/sysutils/hal/files/patch-hald_freebsd_hf-usb.c
@@ -1,178 +1,20 @@
---- hald/freebsd/hf-usb.c.orig 2008-05-07 19:24:02.000000000 -0400
-+++ hald/freebsd/hf-usb.c 2009-05-30 03:20:24.000000000 -0400
-@@ -25,13 +25,20 @@
- # include <config.h>
- #endif
-
-+#include <sys/param.h>
- #include <string.h>
- #include <errno.h>
- #include <stdlib.h>
- #include <fcntl.h>
- #include <sys/ioctl.h>
- #include <unistd.h>
-+#if __FreeBSD_version < 800092
-+#if __FreeBSD_version >= 800064
-+#include <legacy/dev/usb/usb.h>
-+#else
- #include <dev/usb/usb.h>
-+#endif
-+#endif
-
- #include "../logger.h"
- #include "../osspec.h"
-@@ -40,7 +47,13 @@
- #include "hf-devtree.h"
- #include "hf-util.h"
-
-+#if __FreeBSD_version < 800092
- #define HF_USB_DEVICE "/dev/usb"
-+#if __FreeBSD_version < 800066
-+#define HF_USB2_DEVICE "/dev/usb "
-+#else
-+#define HF_USB2_DEVICE "/dev/usbctl"
-+#endif
-
- typedef struct
- {
-@@ -227,51 +240,6 @@ hf_usb_get_full_config_descriptor (int f
- return NULL;
- }
-
--/*
-- * Adapted from usb_compute_udi() in linux2/physdev.c and
-- * usbclass_compute_udi() in linux2/classdev.c.
-- */
--static void
--hf_usb_device_compute_udi (HalDevice *device)
--{
-- g_return_if_fail(HAL_IS_DEVICE(device));
--
-- if (hal_device_has_capability(device, "hiddev"))
-- hf_device_set_full_udi(device, "%s_hiddev",
-- hal_device_property_get_string(device, "info.parent"));
-- else if (hal_device_has_capability(device, "video4linux"))
-- hf_device_set_full_udi(device, "%s_video4linux",
-- hal_device_property_get_string(device, "info.parent"));
-- else if (hal_device_has_property(device, "usb.interface.number"))
-- hf_device_set_full_udi(device, "%s_if%i",
-- hal_device_property_get_string(device, "info.parent"),
-- hal_device_property_get_int(device, "usb.interface.number"));
-- else
-- hf_device_set_udi(device, "usb_device_%x_%x_%s",
-- hal_device_property_get_int(device, "usb_device.vendor_id"),
-- hal_device_property_get_int(device, "usb_device.product_id"),
-- hal_device_has_property(device, "usb_device.serial")
-- ? hal_device_property_get_string(device, "usb_device.serial")
-- : "noserial");
--}
--
--static void
--hf_usb_add_webcam_properties (HalDevice *device)
--{
-- int unit;
--
-- g_return_if_fail(HAL_IS_DEVICE(device));
--
-- unit = hal_device_property_get_int(device, "freebsd.unit");
-- if (unit < 0)
-- unit = 0;
--
-- hal_device_property_set_string(device, "info.category", "video4linux");
-- hal_device_add_capability(device, "video4linux");
-- hf_device_property_set_string_printf(device, "video4linux.device", "/dev/video%i", unit);
-- hal_device_property_set_string(device, "info.product", "Video Device");
--}
--
- /* adapted from usbif_set_name() in linux2/physdev.c */
- static const char *
- hf_usb_get_interface_name (const usb_interface_descriptor_t *desc)
-@@ -424,7 +392,7 @@ hf_usb_device_new (HalDevice *parent,
+--- hald/freebsd/hf-usb.c.orig 2009-09-17 08:49:46.000000000 -0500
++++ hald/freebsd/hf-usb.c 2010-03-17 22:20:33.000000000 -0500
+@@ -392,7 +392,7 @@
hf_devtree_device_set_name(device, di->udi_devnames[0]);
if ((devname = hf_usb_get_devname(di, "ukbd"))) /* USB keyboard */
-- hf_device_set_input(device, "keyboard", devname);
-+ hf_device_set_input(device, "keyboard", NULL);
+- hf_device_set_input(device, "keyboard", "keys", devname);
++ hf_device_set_input(device, "keyboard", "keys", NULL);
else if ((devname = hf_usb_get_devname(di, "ums"))) /* USB mouse */
- hf_device_set_input(device, "mouse", devname);
+ hf_device_set_input(device, "mouse", NULL, devname);
else if ((devname = hf_usb_get_devname(di, "uhid"))) /* UHID device */
-@@ -575,6 +543,8 @@ hf_usb_probe_device (HalDevice *parent,
- {
- if (hal_device_has_capability(device, "hiddev"))
- hf_runner_run_sync(device, 0, "hald-probe-hiddev", NULL);
-+ if (hal_device_has_capability(device, "input.mouse"))
-+ hf_runner_run_sync(device, 0, "hald-probe-mouse", NULL);
-
- hf_device_add(device);
- }
-@@ -633,9 +603,18 @@ hf_usb_privileged_init (void)
- {
- int i;
-
-+ if (g_file_test(HF_USB2_DEVICE, G_FILE_TEST_EXISTS))
-+ {
-+ hf_usb_fd = -1;
-+ return;
-+ }
-+
- hf_usb_fd = open(HF_USB_DEVICE, O_RDONLY);
- if (hf_usb_fd < 0)
-- HAL_INFO(("unable to open %s: %s", HF_USB_DEVICE, g_strerror(errno)));
-+ {
-+ HAL_INFO(("unable to open %s: %s", HF_USB_DEVICE, g_strerror(errno)));
-+ return;
-+ }
-
- for (i = 0; i < 16; i++)
- {
-@@ -885,3 +864,50 @@ HFDevdHandler hf_usb_devd_handler = {
- .add = hf_usb_devd_add,
- .remove = hf_usb_devd_remove
- };
-+#endif
-+
-+/*
-+ * Adapted from usb_compute_udi() in linux2/physdev.c and
-+ * usbclass_compute_udi() in linux2/classdev.c.
-+ */
-+void
-+hf_usb_device_compute_udi (HalDevice *device)
-+{
-+ g_return_if_fail(HAL_IS_DEVICE(device));
-+
-+ if (hal_device_has_capability(device, "hiddev"))
-+ hf_device_set_full_udi(device, "%s_hiddev",
-+ hal_device_property_get_string(device, "info.parent"));
-+ else if (hal_device_has_capability(device, "video4linux"))
-+ hf_device_set_full_udi(device, "%s_video4linux",
-+ hal_device_property_get_string(device, "info.parent"));
-+ else if (hal_device_has_property(device, "usb.interface.number"))
-+ hf_device_set_full_udi(device, "%s_if%i",
-+ hal_device_property_get_string(device, "info.parent"),
-+ hal_device_property_get_int(device, "usb.interface.number"));
-+ else
-+ hf_device_set_udi(device, "usb_device_%x_%x_%s",
-+ hal_device_property_get_int(device, "usb_device.vendor_id"),
-+ hal_device_property_get_int(device, "usb_device.product_id"),
-+ (hal_device_has_property(device, "usb_device.serial") &&
-+ strcmp(hal_device_property_get_string(device, "usb_device.serial"), ""))
-+ ? hal_device_property_get_string(device, "usb_device.serial")
-+ : "noserial");
-+}
-+
-+void
-+hf_usb_add_webcam_properties (HalDevice *device)
-+{
-+ int unit;
-+
-+ g_return_if_fail(HAL_IS_DEVICE(device));
-+
-+ unit = hal_device_property_get_int(device, "freebsd.unit");
-+ if (unit < 0)
-+ unit = 0;
-+
-+ hal_device_property_set_string(device, "info.category", "video4linux");
-+ hal_device_add_capability(device, "video4linux");
-+ hf_device_property_set_string_printf(device, "video4linux.device", "/dev/video%i", unit);
-+ hal_device_property_set_string(device, "info.product", "Video Device");
-+}
+@@ -908,6 +908,8 @@
+
+ hal_device_property_set_string(device, "info.category", "video4linux");
+ hal_device_add_capability(device, "video4linux");
++ hal_device_add_capability(device, "video4linux.video_capture");
+ hf_device_property_set_string_printf(device, "video4linux.device", "/dev/video%i", unit);
+ hal_device_property_set_string(device, "info.product", "Video Device");
++ hal_device_property_set_string(device, "video4linux.version", "1");
+ }
diff --git a/sysutils/hal/files/patch-hald_freebsd_hf-usb.h b/sysutils/hal/files/patch-hald_freebsd_hf-usb.h
deleted file mode 100644
index 32861e202f1a..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_hf-usb.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- hald/freebsd/hf-usb.h.orig 2009-02-17 18:56:56.000000000 -0500
-+++ hald/freebsd/hf-usb.h 2009-02-17 18:57:21.000000000 -0500
-@@ -34,4 +34,7 @@
- extern HFHandler hf_usb_handler;
- extern HFDevdHandler hf_usb_devd_handler;
-
-+void hf_usb_device_compute_udi(HalDevice *device);
-+void hf_usb_add_webcam_properties(HalDevice *device);
-+
- #endif /* _HF_USB_H */
diff --git a/sysutils/hal/files/patch-hald_freebsd_hf-usb2.c b/sysutils/hal/files/patch-hald_freebsd_hf-usb2.c
index 995ca1708c97..af288291db4f 100644
--- a/sysutils/hal/files/patch-hald_freebsd_hf-usb2.c
+++ b/sysutils/hal/files/patch-hald_freebsd_hf-usb2.c
@@ -1,225 +1,85 @@
---- hald/freebsd/hf-usb2.c.orig 2010-01-23 14:52:11.000000000 -0500
-+++ hald/freebsd/hf-usb2.c 2010-01-23 14:52:33.000000000 -0500
-@@ -0,0 +1,312 @@
-+/***************************************************************************
-+ * CVSID: $Id$
-+ *
-+ * hf-usb.c : USB support
-+ *
-+ * Copyright (C) 2009 Joe Marcus Clarke <marcus@FreeBSD.org>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ **************************************************************************/
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include <string.h>
-+#include <errno.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <libusb20.h>
-+
-+#include "../logger.h"
-+#include "../osspec.h"
-+
-+#include "hf-usb.h"
-+#include "hf-usb2.h"
-+#include "hf-devtree.h"
-+#include "hf-util.h"
-+
-+static struct libusb20_backend *hf_usb2_be = NULL;
-+
-+static void
-+hf_usb2_copy_parent (HalDevice *parent,
-+ const char *key,
-+ gpointer user_data)
-+{
-+ HalDevice *device;
-+
-+ g_return_if_fail(HAL_IS_DEVICE(parent));
-+ g_return_if_fail(HAL_IS_DEVICE(user_data));
-+
-+ device = HAL_DEVICE(user_data);
-+
-+ if (! strncmp(key, "usb_device.", strlen("usb_device.")))
-+ hal_device_copy_property(parent, key, device, key);
-+}
-+
-+static void
-+hf_usb2_probe_interfaces(HalDevice *parent)
-+{
-+ int num_interfaces;
-+ int i;
-+
-+ g_return_if_fail(HAL_IS_DEVICE(parent));
-+
-+ if (hal_device_property_get_bool(parent, "info.ignore"))
-+ return;
-+
-+ num_interfaces = hal_device_property_get_int(parent,
-+ "usb_device.num_interfaces");
-+
-+ for (i = 0; i < num_interfaces; i++)
-+ {
-+ HalDevice *device;
-+
-+ device = hf_device_new(parent);
-+
-+ hal_device_property_set_string(device, "info.subsystem", "usb");
-+ hal_device_property_set_int(device, "usb.interface.number", i);
-+ hal_device_copy_property(parent, "info.product", device, "info.product");
-+ hal_device_copy_property(parent, "info.vendor", device, "info.vendor");
+--- hald/freebsd/hf-usb2.c.orig 2009-08-24 07:42:29.000000000 -0500
++++ hald/freebsd/hf-usb2.c 2010-03-17 22:25:17.000000000 -0500
+@@ -42,22 +42,6 @@
+ static struct libusb20_backend *hf_usb2_be = NULL;
+
+ static void
+-hf_usb2_copy_parent (HalDevice *parent,
+- const char *key,
+- gpointer user_data)
+-{
+- HalDevice *device;
+-
+- g_return_if_fail(HAL_IS_DEVICE(parent));
+- g_return_if_fail(HAL_IS_DEVICE(user_data));
+-
+- device = HAL_DEVICE(user_data);
+-
+- if (! strncmp(key, "usb_device.", strlen("usb_device.")))
+- hal_device_copy_property(parent, key, device, key);
+-}
+-
+-static void
+ hf_usb2_probe_interfaces(HalDevice *parent)
+ {
+ int num_interfaces;
+@@ -79,9 +63,9 @@
+
+ hal_device_property_set_string(device, "info.subsystem", "usb");
+ hal_device_property_set_int(device, "usb.interface.number", i);
+- hal_device_property_foreach(parent, hf_usb2_copy_parent, device);
+ hal_device_copy_property(parent, "info.product", device, "info.product");
+ hal_device_copy_property(parent, "info.vendor", device, "info.vendor");
+ hal_device_merge_with_rewrite(device, parent, "usb.", "usb_device.");
-+
-+ if (hf_device_preprobe(device))
-+ {
-+ const char *driver, *devname;
-+
-+ hf_runner_run_sync(device, 0, "hald-probe-usb2-interface", NULL);
-+
-+ devname = hal_device_property_get_string(device,
-+ "usb.freebsd.devname");
-+ if (devname)
-+ hf_devtree_device_set_name(device, devname);
-+
-+ driver = hal_device_property_get_string(device, "freebsd.driver");
-+ if (driver)
-+ {
-+ if (! strcmp(driver, "ukbd"))
-+ hf_device_set_input(device, "keyboard", NULL);
+
+ if (hf_device_preprobe(device))
+ {
+@@ -98,10 +82,10 @@
+ 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", NULL);
+ else if (! strcmp(driver, "ums") || ! strcmp(driver, "atp"))
-+ {
-+ hf_device_set_input(device, "mouse", devname);
-+ hf_runner_run_sync(device, 0, "hald-probe-mouse", NULL);
-+ }
-+ else if (! strcmp(driver, "uhid"))
-+ {
-+ hal_device_property_set_string(device, "info.category",
-+ "hiddev");
-+ hal_device_add_capability(device, "hiddev");
-+ hf_device_property_set_string_printf(device, "hiddev.device",
-+ "/dev/%s", devname);
-+ hal_device_copy_property(device, "info.product", device,
-+ "hiddev.product");
-+ hf_runner_run_sync(device, 0, "hald-probe-hiddev", NULL);
-+ }
-+ else if (! strcmp(driver, "ldev"))
-+ {
-+ /* Linux driver (webcam) */
-+
-+ /*
-+ * XXX This is a hack. Currently, all ldev devices are
-+ * webcams. That may not always be the case. Hopefully,
-+ * when other Linux driver support is added, there will be
-+ * a sysctl or some other way to determine device class.
-+ */
-+ hf_usb_add_webcam_properties(device);
-+ }
-+ else if (! strcmp(driver, "pwc"))
-+ {
-+ /* Phillips Web Cam */
-+ hf_usb_add_webcam_properties(device);
-+ }
+ {
+- 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"))
+@@ -133,6 +117,11 @@
+ hf_usb_add_webcam_properties(device);
+ }
+ }
++ else
++ {
++ /* Try and detect webcamd devices. */
++ hf_runner_run_sync(device, 0, "hald-probe-video4linux", NULL);
+ }
-+
-+ hf_usb_device_compute_udi(device);
-+ hf_device_add(device);
-+ }
-+ }
-+}
-+
-+static void
-+hf_usb2_probe_device (HalDevice *parent, int bus, int addr)
-+{
-+ HalDevice *device;
-+
-+ g_return_if_fail(HAL_IS_DEVICE(parent));
-+
-+ device = hf_device_new(parent);
-+
-+ hal_device_property_set_string(device, "info.subsystem", "usb_device");
-+ hal_device_property_set_int(device, "usb_device.bus_number", bus);
-+ hal_device_property_set_int(device, "usb_device.level_number", addr - 1);
-+ hal_device_property_set_int(device, "usb_device.port_number", addr);
-+
-+ if (hf_device_preprobe(device))
-+ {
-+ hf_runner_run_sync(device, 0, "hald-probe-usb2-device", NULL);
-+ hf_usb_device_compute_udi(device);
-+
-+ hf_device_add(device);
-+ }
-+ else
-+ return;
-+
-+ hf_usb2_probe_interfaces(device);
-+}
-+
-+static void
-+hf_usb2_privileged_init (void)
-+{
-+ hf_usb2_be = libusb20_be_alloc_default();
-+ if (hf_usb2_be == NULL)
-+ HAL_INFO(("unable to open USB backend: %s", g_strerror(errno)));
-+}
-+
-+static void
-+hf_usb2_probe (void)
-+{
-+ struct libusb20_device *pdev = NULL;
-+
-+ if (hf_usb2_be == NULL)
-+ return;
-+
-+ while ((pdev = libusb20_be_device_foreach(hf_usb2_be, pdev)))
-+ {
-+ HalDevice *parent;
-+ int bus, addr;
-+
-+ bus = libusb20_dev_get_bus_number(pdev);
-+ addr = libusb20_dev_get_address(pdev);
-+
-+ if (addr == 1)
+
+ hf_usb_device_compute_udi(device);
+ hf_device_add(device);
+@@ -192,11 +181,12 @@
+ 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",
+ 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;
-+
-+ hf_usb2_probe_device(parent, bus, addr);
-+ }
-+
-+ libusb20_be_free(hf_usb2_be);
-+ hf_usb2_be = NULL;
-+}
-+
-+static gboolean
-+hf_usb2_devd_add (const char *name,
-+ GHashTable *params,
-+ GHashTable *at,
-+ const char *parent)
-+{
-+ HalDevice *parent_device;
-+ int bus, addr, pbus, paddr;
-+
+ if (! parent || hal_device_property_get_bool(parent, "info.ignore"))
+ continue;
+
+@@ -216,7 +206,13 @@
+ HalDevice *parent_device;
+ int bus, addr, pbus, paddr;
+
+- if (strncmp(name, "ugen", strlen("ugen")))
+ if (! parent)
+ return FALSE;
+
@@ -227,65 +87,42 @@
+ ! 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;
-+
-+ if (sscanf(name, "ugen%i.%i", &bus, &addr) != 2)
-+ return FALSE;
-+
-+ if (sscanf(parent, "ugen%i.%i", &pbus, &paddr) != 2)
-+ return FALSE;
-+
-+ HAL_INFO(("received devd add event for device '%s' with parent '%s'",
-+ name, parent));
-+
-+ parent_device = hf_device_store_match(hald_get_gdl(),
-+ "usb_device.bus_number", HAL_PROPERTY_TYPE_INT32, pbus,
+ return FALSE;
+ else if (strncmp(parent, "ugen", strlen("ugen")))
+ return TRUE;
+@@ -232,7 +228,8 @@
+
+ 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"))
-+ {
-+ hf_usb2_probe_device(parent_device, bus, addr);
-+ return TRUE;
-+ }
-+
-+ return FALSE;
-+}
-+
-+static gboolean
-+hf_usb2_devd_remove (const char *name,
-+ GHashTable *params,
-+ GHashTable *at,
-+ const char *parent)
-+{
-+ HalDevice *device;
-+ int bus, addr;
-+
-+ if (strncmp(name, "ugen", strlen("ugen")))
-+ return FALSE;
-+
-+ if (sscanf(name, "ugen%i.%i", &bus, &addr) != 2)
-+ return FALSE;
-+
-+ HAL_INFO(("received devd remove event, device %s", name));
-+
-+ device = hf_device_store_match(hald_get_gdl(), "usb_device.bus_number",
-+ HAL_PROPERTY_TYPE_INT32, bus, "usb_device.port_number",
+
+ if (parent_device && ! hal_device_property_get_bool(parent_device,
+ "info.ignore"))
+@@ -255,8 +252,6 @@
+
+ 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 +260,8 @@
+
+ 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)
-+ {
-+ hf_device_remove_tree(device);
-+ return TRUE;
-+ }
-+
-+ return FALSE;
-+}
-+
+
+ if (device)
+ {
+@@ -276,6 +272,23 @@
+ return FALSE;
+ }
+
+static gboolean
+hf_usb2_devd_notify (const char *system,
+ const char *subsystem,
@@ -303,13 +140,14 @@
+ return FALSE;
+}
+
-+HFHandler hf_usb2_handler = {
-+ .privileged_init = hf_usb2_privileged_init,
-+ .probe = hf_usb2_probe
-+};
-+
-+HFDevdHandler hf_usb2_devd_handler = {
-+ .add = hf_usb2_devd_add,
+ HFHandler hf_usb2_handler = {
+ .privileged_init = hf_usb2_privileged_init,
+ .probe = hf_usb2_probe
+@@ -283,5 +296,6 @@
+
+ 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
-+};
+ };
diff --git a/sysutils/hal/files/patch-hald_freebsd_hf-usb2.h b/sysutils/hal/files/patch-hald_freebsd_hf-usb2.h
deleted file mode 100644
index 146a3a3309a1..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_hf-usb2.h
+++ /dev/null
@@ -1,40 +0,0 @@
---- hald/freebsd/hf-usb2.h.orig 2009-02-18 00:22:59.000000000 -0500
-+++ hald/freebsd/hf-usb2.h 2009-02-18 00:22:54.000000000 -0500
-@@ -0,0 +1,37 @@
-+/***************************************************************************
-+ * CVSID: $Id$
-+ *
-+ * hf-usb.h : USB support
-+ *
-+ * Copyright (C) 2009 Joe Marcus Clarke <marcus@FreeBSD.org>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ **************************************************************************/
-+
-+#ifndef _HF_USB2_H
-+#define _HF_USB2_H
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include "hf-osspec.h"
-+#include "hf-devd.h"
-+
-+extern HFHandler hf_usb2_handler;
-+extern HFDevdHandler hf_usb2_devd_handler;
-+
-+#endif /* _HF_USB2_H */
diff --git a/sysutils/hal/files/patch-hald_freebsd_hf-volume.c b/sysutils/hal/files/patch-hald_freebsd_hf-volume.c
index 6ee93b139a6b..4fb0d95b4e85 100644
--- a/sysutils/hal/files/patch-hald_freebsd_hf-volume.c
+++ b/sysutils/hal/files/patch-hald_freebsd_hf-volume.c
@@ -1,105 +1,16 @@
---- hald/freebsd/hf-volume.c.orig 2008-08-10 09:50:10.000000000 -0400
-+++ hald/freebsd/hf-volume.c 2009-09-19 02:06:37.000000000 -0400
-@@ -45,6 +45,7 @@
- #include "hf-util.h"
-
- #define PROBE_VOLUME_TIMEOUT (HAL_HELPER_TIMEOUT * 6)
-+#define HF_VOLUME_FUSE_DB "/tmp/.fuse-mnts"
-
- static void
- hf_volume_get_mounts (struct statfs **mounts, int *n_mounts)
-@@ -60,6 +61,58 @@ hf_volume_get_mounts (struct statfs **mo
- }
- }
-
-+static char *
-+hf_volume_resolve_fuse (const char *special)
-+{
-+ gchar *contents;
-+ gchar **lines;
-+ gsize len;
-+ int i;
-+
-+ g_return_val_if_fail(special != NULL, NULL);
-+
-+ if (! g_file_get_contents(HF_VOLUME_FUSE_DB, &contents, &len, NULL))
-+ return g_strdup(special);
-+
-+ lines = g_strsplit(contents, "\n", 0);
-+ g_free(contents);
-+
-+ for (i = 0; lines && lines[i]; i++)
-+ {
-+ gchar **fields;
-+
-+ fields = g_strsplit(lines[i], "=", 2);
-+ if (fields && g_strv_length(fields) == 2)
-+ {
-+ if (strcmp(fields[0], special) == 0)
-+ {
+--- hald/freebsd/hf-volume.c.orig 2009-12-23 14:01:00.000000000 -0500
++++ hald/freebsd/hf-volume.c 2009-12-23 14:01:25.000000000 -0500
+@@ -86,9 +86,12 @@ hf_volume_resolve_fuse (const char *spec
+ {
+ if (strcmp(fields[0], special) == 0)
+ {
+ char *ret;
+
+ ret = g_strdup(fields[1]);
-+ g_strfreev(fields);
-+ g_strfreev(lines);
+ g_strfreev(fields);
+ g_strfreev(lines);
+- return g_strdup(fields[1]);
+ return ret;
-+ }
-+ }
-+ g_strfreev(fields);
-+ }
-+
-+ g_strfreev(lines);
-+
-+ return g_strdup(special);
-+}
-+
-+static char *
-+hf_volume_resolve_special (const char *special)
-+{
-+ g_return_val_if_fail(special != NULL, NULL);
-+
-+ if (strstr(special, "fuse"))
-+ return hf_volume_resolve_fuse(special);
-+
-+ return g_strdup(special);
-+}
-+
- static const struct statfs *
- hf_volume_mounts_find (const struct statfs *mounts,
- int n_mounts,
-@@ -71,8 +124,18 @@ hf_volume_mounts_find (const struct stat
- g_return_val_if_fail(special != NULL, NULL);
-
- for (i = 0; i < n_mounts; i++)
-- if (! strcmp(mounts[i].f_mntfromname, special))
-- return &mounts[i];
-+ {
-+ char *resolved;
-+
-+ resolved = hf_volume_resolve_special(mounts[i].f_mntfromname);
-+ if (! strcmp(resolved, special))
-+ {
-+ g_free(resolved);
-+ return &mounts[i];
-+ }
-+
-+ g_free(resolved);
-+ }
-
- return NULL;
- }
-@@ -92,7 +155,13 @@ hf_volume_device_update_mount_properties
-
- special = hal_device_property_get_string(device, "block.device");
- if (special)
-- mount = hf_volume_mounts_find(mounts, n_mounts, special);
-+ {
-+ mount = hf_volume_mounts_find(mounts, n_mounts, special);
-+ if (mount && strcmp(special, mount->f_mntfromname))
-+ hal_device_property_set_string(device, "volume.freebsd.real_mounted_device", mount->f_mntfromname);
-+ else
-+ hal_device_property_remove(device, "volume.freebsd.real_mounted_device");
-+ }
- }
-
- hal_device_property_set_bool(device, "volume.is_mounted", mount != NULL);
+ }
+ }
+ g_strfreev(fields);
diff --git a/sysutils/hal/files/patch-hald_freebsd_osspec.c b/sysutils/hal/files/patch-hald_freebsd_osspec.c
deleted file mode 100644
index ade6d2a730ad..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_osspec.c
+++ /dev/null
@@ -1,32 +0,0 @@
---- hald/freebsd/osspec.c.orig 2008-05-07 19:24:01.000000000 -0400
-+++ hald/freebsd/osspec.c 2009-05-30 03:14:33.000000000 -0400
-@@ -25,6 +25,7 @@
- # include <config.h>
- #endif
-
-+#include <sys/param.h>
- #include <string.h>
-
- #include "../ids.h"
-@@ -46,13 +47,21 @@
- #include "hf-sound.h"
- #include "hf-storage.h"
- #include "hf-usb.h"
-+#ifdef HAVE_LIBUSB20
-+#include "hf-usb2.h"
-+#endif
- #include "hf-volume.h"
-
- /* the order matters: PCI devices must be created before their children, etc */
- static HFHandler *handlers[] = {
- &hf_pci_handler,
- &hf_devtree_handler,
-+#if __FreeBSD_version < 800092
- &hf_usb_handler,
-+#endif
-+#ifdef HAVE_LIBUSB20
-+ &hf_usb2_handler,
-+#endif
- &hf_ata_handler,
- &hf_scsi_handler,
- &hf_storage_handler,
diff --git a/sysutils/hal/files/patch-hald_freebsd_probing_Makefile.am b/sysutils/hal/files/patch-hald_freebsd_probing_Makefile.am
index 091af3c1ca0e..ccb4773de51c 100644
--- a/sysutils/hal/files/patch-hald_freebsd_probing_Makefile.am
+++ b/sysutils/hal/files/patch-hald_freebsd_probing_Makefile.am
@@ -1,57 +1,27 @@
---- hald/freebsd/probing/Makefile.am.orig 2008-08-10 09:50:10.000000000 -0400
-+++ hald/freebsd/probing/Makefile.am 2009-07-17 02:31:02.000000000 -0400
-@@ -9,11 +9,18 @@ AM_CPPFLAGS = \
-
- if HALD_COMPILE_FREEBSD
- libexec_PROGRAMS = \
-- hald-probe-hiddev \
-- hald-probe-scsi \
-- hald-probe-smbios \
-- hald-probe-storage \
-+ hald-probe-hiddev \
-+ hald-probe-mouse \
-+ hald-probe-scsi \
-+ hald-probe-smbios \
-+ hald-probe-storage \
- hald-probe-volume
-+
-+if HAVE_LIBUSB20
-+libexec_PROGRAMS += \
-+ hald-probe-usb2-device \
-+ hald-probe-usb2-interface
-+endif
+--- hald/freebsd/probing/Makefile.am.orig 2009-08-24 08:42:29.000000000 -0400
++++ hald/freebsd/probing/Makefile.am 2010-02-19 23:08:42.000000000 -0500
+@@ -19,7 +19,8 @@ libexec_PROGRAMS = \
+ if HAVE_LIBUSB20
+ libexec_PROGRAMS += \
+ hald-probe-usb2-device \
+- hald-probe-usb2-interface
++ hald-probe-usb2-interface \
++ hald-probe-video4linux
+ endif
endif
- hald_probe_hiddev_SOURCES = probe-hiddev.c
-@@ -21,6 +28,25 @@ hald_probe_hiddev_LDADD = \
- $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la \
- -lusbhid
-
-+if HAVE_LIBUSB20
-+hald_probe_usb2_device_SOURCES = probe-usb2-device.c
-+hald_probe_usb2_device_LDADD = \
-+ $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la \
-+ @LIBUSB20_LIBS@
+@@ -38,6 +39,14 @@ hald_probe_usb2_interface_SOURCES = prob
+ hald_probe_usb2_interface_LDADD = \
+ $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la \
+ @LIBUSB20_LIBS@
+
-+hald_probe_usb2_interface_SOURCES = probe-usb2-interface.c
-+hald_probe_usb2_interface_LDADD = \
++hald_probe_video4linux_SOURCES = probe-video4linux.c
++hald_probe_video4linux_CPPFLAGS = \
++ $(AM_CPPFLAGS) @GLIB_CFLAGS@
++hald_probe_video4linux_LDADD = \
+ $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la \
++ @GLIB_LIBS@ \
+ @LIBUSB20_LIBS@
-+endif
-+
-+hald_probe_mouse_SOURCES = probe-mouse.c
-+hald_probe_mouse_CPPFLAGS = $(AM_CPPFLAGS) @GLIB_CFLAGS@
-+hald_probe_mouse_LDADD = \
-+ @GLIB_LIBS@ \
-+ $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la \
-+ -lutil
-+
- hald_probe_smbios_SOURCES = probe-smbios.c
- hald_probe_smbios_LDADD = \
- $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
-@@ -41,4 +67,5 @@ hald_probe_volume_CPPFLAGS = $(AM_CPPFLA
- hald_probe_volume_LDADD = \
- @GLIB_LIBS@ \
- @VOLUME_ID_LIBS@ \
-+ -lufs \
- $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
+ endif
+
+ hald_probe_mouse_SOURCES = probe-mouse.c
diff --git a/sysutils/hal/files/patch-hald_freebsd_probing_Makefile.in b/sysutils/hal/files/patch-hald_freebsd_probing_Makefile.in
index 4a8ea2f053e3..de353f177a99 100644
--- a/sysutils/hal/files/patch-hald_freebsd_probing_Makefile.in
+++ b/sysutils/hal/files/patch-hald_freebsd_probing_Makefile.in
@@ -1,170 +1,564 @@
---- hald/freebsd/probing/Makefile.in.orig 2009-07-16 22:17:53.000000000 -0400
-+++ hald/freebsd/probing/Makefile.in 2009-07-17 02:32:09.000000000 -0400
-@@ -34,10 +34,16 @@ build_triplet = @build@
- host_triplet = @host@
- @HALD_COMPILE_FREEBSD_TRUE@libexec_PROGRAMS = \
- @HALD_COMPILE_FREEBSD_TRUE@ hald-probe-hiddev$(EXEEXT) \
-+@HALD_COMPILE_FREEBSD_TRUE@ hald-probe-mouse$(EXEEXT) \
- @HALD_COMPILE_FREEBSD_TRUE@ hald-probe-scsi$(EXEEXT) \
- @HALD_COMPILE_FREEBSD_TRUE@ hald-probe-smbios$(EXEEXT) \
- @HALD_COMPILE_FREEBSD_TRUE@ hald-probe-storage$(EXEEXT) \
--@HALD_COMPILE_FREEBSD_TRUE@ hald-probe-volume$(EXEEXT)
-+@HALD_COMPILE_FREEBSD_TRUE@ hald-probe-volume$(EXEEXT) \
-+@HALD_COMPILE_FREEBSD_TRUE@ $(am__EXEEXT_1)
-+@HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@am__append_1 = \
-+@HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@ hald-probe-usb2-device \
-+@HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@ hald-probe-usb2-interface
-+
+--- hald/freebsd/probing/Makefile.in.orig 2010-02-19 23:05:16.000000000 -0500
++++ hald/freebsd/probing/Makefile.in 2010-02-19 23:14:32.000000000 -0500
+@@ -1,9 +1,8 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.10.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+-# Inc.
++# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -17,9 +16,8 @@
+
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+-pkgincludedir = $(includedir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+-pkglibexecdir = $(libexecdir)/@PACKAGE@
++pkgincludedir = $(includedir)/@PACKAGE@
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+@@ -44,7 +42,8 @@ host_triplet = @host@
+ @HALD_COMPILE_FREEBSD_TRUE@ $(am__EXEEXT_1)
+ @HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@am__append_1 = \
+ @HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@ hald-probe-usb2-device \
+-@HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@ hald-probe-usb2-interface
++@HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@ hald-probe-usb2-interface \
++@HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@ hald-probe-video4linux
+
subdir = hald/freebsd/probing
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-@@ -48,12 +54,17 @@ am__configure_deps = $(am__aclocal_m4_de
+@@ -56,17 +55,15 @@ am__configure_deps = $(am__aclocal_m4_de
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
-+@HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@am__EXEEXT_1 = hald-probe-usb2-device$(EXEEXT) \
-+@HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@ hald-probe-usb2-interface$(EXEEXT)
+-CONFIG_CLEAN_VPATH_FILES =
+ @HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@am__EXEEXT_1 = hald-probe-usb2-device$(EXEEXT) \
+-@HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@ hald-probe-usb2-interface$(EXEEXT)
++@HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@ hald-probe-usb2-interface$(EXEEXT) \
++@HALD_COMPILE_FREEBSD_TRUE@@HAVE_LIBUSB20_TRUE@ hald-probe-video4linux$(EXEEXT)
am__installdirs = "$(DESTDIR)$(libexecdir)"
- libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
++libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(libexec_PROGRAMS)
am_hald_probe_hiddev_OBJECTS = probe-hiddev.$(OBJEXT)
hald_probe_hiddev_OBJECTS = $(am_hald_probe_hiddev_OBJECTS)
hald_probe_hiddev_DEPENDENCIES = $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
-+am_hald_probe_mouse_OBJECTS = hald_probe_mouse-probe-mouse.$(OBJEXT)
-+hald_probe_mouse_OBJECTS = $(am_hald_probe_mouse_OBJECTS)
-+hald_probe_mouse_DEPENDENCIES = $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
- am_hald_probe_scsi_OBJECTS = probe-scsi.$(OBJEXT)
- hald_probe_scsi_OBJECTS = $(am_hald_probe_scsi_OBJECTS)
- hald_probe_scsi_DEPENDENCIES = $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
-@@ -65,6 +76,17 @@ am_hald_probe_storage_OBJECTS = \
- hald_probe_storage-probe-storage.$(OBJEXT)
- hald_probe_storage_OBJECTS = $(am_hald_probe_storage_OBJECTS)
- hald_probe_storage_DEPENDENCIES = $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
-+am__hald_probe_usb2_device_SOURCES_DIST = probe-usb2-device.c
-+@HAVE_LIBUSB20_TRUE@am_hald_probe_usb2_device_OBJECTS = \
-+@HAVE_LIBUSB20_TRUE@ probe-usb2-device.$(OBJEXT)
-+hald_probe_usb2_device_OBJECTS = $(am_hald_probe_usb2_device_OBJECTS)
-+@HAVE_LIBUSB20_TRUE@hald_probe_usb2_device_DEPENDENCIES = $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
-+am__hald_probe_usb2_interface_SOURCES_DIST = probe-usb2-interface.c
-+@HAVE_LIBUSB20_TRUE@am_hald_probe_usb2_interface_OBJECTS = \
-+@HAVE_LIBUSB20_TRUE@ probe-usb2-interface.$(OBJEXT)
-+hald_probe_usb2_interface_OBJECTS = \
-+ $(am_hald_probe_usb2_interface_OBJECTS)
-+@HAVE_LIBUSB20_TRUE@hald_probe_usb2_interface_DEPENDENCIES = $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
+-AM_V_lt = $(am__v_lt_$(V))
+-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+-am__v_lt_0 = --silent
+ am_hald_probe_mouse_OBJECTS = hald_probe_mouse-probe-mouse.$(OBJEXT)
+ hald_probe_mouse_OBJECTS = $(am_hald_probe_mouse_OBJECTS)
+ hald_probe_mouse_DEPENDENCIES = $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
+@@ -92,6 +89,10 @@ am__hald_probe_usb2_interface_SOURCES_DI
+ hald_probe_usb2_interface_OBJECTS = \
+ $(am_hald_probe_usb2_interface_OBJECTS)
+ @HAVE_LIBUSB20_TRUE@hald_probe_usb2_interface_DEPENDENCIES = $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
++am__hald_probe_video4linux_SOURCES_DIST = probe-video4linux.c
++@HAVE_LIBUSB20_TRUE@am_hald_probe_video4linux_OBJECTS = hald_probe_video4linux-probe-video4linux.$(OBJEXT)
++hald_probe_video4linux_OBJECTS = $(am_hald_probe_video4linux_OBJECTS)
++@HAVE_LIBUSB20_TRUE@hald_probe_video4linux_DEPENDENCIES = $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
am_hald_probe_volume_OBJECTS = \
hald_probe_volume-freebsd_dvd_rw_utils.$(OBJEXT) \
hald_probe_volume-probe-volume.$(OBJEXT)
-@@ -82,11 +104,17 @@ CCLD = $(CC)
- LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
--SOURCES = $(hald_probe_hiddev_SOURCES) $(hald_probe_scsi_SOURCES) \
-- $(hald_probe_smbios_SOURCES) $(hald_probe_storage_SOURCES) \
-+SOURCES = $(hald_probe_hiddev_SOURCES) $(hald_probe_mouse_SOURCES) \
-+ $(hald_probe_scsi_SOURCES) $(hald_probe_smbios_SOURCES) \
-+ $(hald_probe_storage_SOURCES) \
-+ $(hald_probe_usb2_device_SOURCES) \
-+ $(hald_probe_usb2_interface_SOURCES) \
- $(hald_probe_volume_SOURCES)
--DIST_SOURCES = $(hald_probe_hiddev_SOURCES) $(hald_probe_scsi_SOURCES) \
-+DIST_SOURCES = $(hald_probe_hiddev_SOURCES) \
-+ $(hald_probe_mouse_SOURCES) $(hald_probe_scsi_SOURCES) \
+@@ -100,40 +101,27 @@ hald_probe_volume_DEPENDENCIES = $(top_b
+ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+-am__mv = mv -f
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+-AM_V_CC = $(am__v_CC_$(V))
+-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+-am__v_CC_0 = @echo " CC " $@;
+-AM_V_at = $(am__v_at_$(V))
+-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+-am__v_at_0 = @
++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ CCLD = $(CC)
+-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-AM_V_CCLD = $(am__v_CCLD_$(V))
+-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+-am__v_CCLD_0 = @echo " CCLD " $@;
+-AM_V_GEN = $(am__v_GEN_$(V))
+-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+-am__v_GEN_0 = @echo " GEN " $@;
++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
++ $(LDFLAGS) -o $@
+ SOURCES = $(hald_probe_hiddev_SOURCES) $(hald_probe_mouse_SOURCES) \
+ $(hald_probe_scsi_SOURCES) $(hald_probe_smbios_SOURCES) \
+ $(hald_probe_storage_SOURCES) \
+ $(hald_probe_usb2_device_SOURCES) \
+ $(hald_probe_usb2_interface_SOURCES) \
+- $(hald_probe_volume_SOURCES)
++ $(hald_probe_video4linux_SOURCES) $(hald_probe_volume_SOURCES)
+ DIST_SOURCES = $(hald_probe_hiddev_SOURCES) \
+ $(hald_probe_mouse_SOURCES) $(hald_probe_scsi_SOURCES) \
$(hald_probe_smbios_SOURCES) $(hald_probe_storage_SOURCES) \
-+ $(am__hald_probe_usb2_device_SOURCES_DIST) \
-+ $(am__hald_probe_usb2_interface_SOURCES_DIST) \
+ $(am__hald_probe_usb2_device_SOURCES_DIST) \
+ $(am__hald_probe_usb2_interface_SOURCES_DIST) \
++ $(am__hald_probe_video4linux_SOURCES_DIST) \
$(hald_probe_volume_SOURCES)
ETAGS = etags
CTAGS = ctags
-@@ -263,6 +291,23 @@ hald_probe_hiddev_LDADD = \
- $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la \
- -lusbhid
+@@ -142,7 +130,6 @@ ACLOCAL = @ACLOCAL@
+ ACPI_ACPID = @ACPI_ACPID@
+ ACPI_PROC = @ACPI_PROC@
+ AMTAR = @AMTAR@
+-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ AR = @AR@
+ AUTOCONF = @AUTOCONF@
+ AUTOHEADER = @AUTOHEADER@
+@@ -222,7 +209,6 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+ PACKAGE_STRING = @PACKAGE_STRING@
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+-PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PARTED_CFLAGS = @PARTED_CFLAGS@
+ PARTED_LIBS = @PARTED_LIBS@
+@@ -325,6 +311,15 @@ hald_probe_hiddev_LDADD = \
+ @HAVE_LIBUSB20_TRUE@ $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la \
+ @HAVE_LIBUSB20_TRUE@ @LIBUSB20_LIBS@
-+@HAVE_LIBUSB20_TRUE@hald_probe_usb2_device_SOURCES = probe-usb2-device.c
-+@HAVE_LIBUSB20_TRUE@hald_probe_usb2_device_LDADD = \
-+@HAVE_LIBUSB20_TRUE@ $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la \
-+@HAVE_LIBUSB20_TRUE@ @LIBUSB20_LIBS@
++@HAVE_LIBUSB20_TRUE@hald_probe_video4linux_SOURCES = probe-video4linux.c
++@HAVE_LIBUSB20_TRUE@hald_probe_video4linux_CPPFLAGS = \
++@HAVE_LIBUSB20_TRUE@ $(AM_CPPFLAGS) @GLIB_CFLAGS@
+
-+@HAVE_LIBUSB20_TRUE@hald_probe_usb2_interface_SOURCES = probe-usb2-interface.c
-+@HAVE_LIBUSB20_TRUE@hald_probe_usb2_interface_LDADD = \
++@HAVE_LIBUSB20_TRUE@hald_probe_video4linux_LDADD = \
+@HAVE_LIBUSB20_TRUE@ $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la \
++@HAVE_LIBUSB20_TRUE@ @GLIB_LIBS@ \
+@HAVE_LIBUSB20_TRUE@ @LIBUSB20_LIBS@
+
-+hald_probe_mouse_SOURCES = probe-mouse.c
-+hald_probe_mouse_CPPFLAGS = $(AM_CPPFLAGS) @GLIB_CFLAGS@
-+hald_probe_mouse_LDADD = \
-+ @GLIB_LIBS@ \
-+ $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la \
-+ -lutil
-+
- hald_probe_smbios_SOURCES = probe-smbios.c
- hald_probe_smbios_LDADD = \
- $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
-@@ -283,6 +328,7 @@ hald_probe_volume_CPPFLAGS = $(AM_CPPFLA
- hald_probe_volume_LDADD = \
- @GLIB_LIBS@ \
- @VOLUME_ID_LIBS@ \
-+ -lufs \
- $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
-
- all: all-am
-@@ -349,6 +395,9 @@ clean-libexecPROGRAMS:
+ hald_probe_mouse_SOURCES = probe-mouse.c
+ hald_probe_mouse_CPPFLAGS = $(AM_CPPFLAGS) @GLIB_CFLAGS@
+ hald_probe_mouse_LDADD = \
+@@ -363,14 +358,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+- && { if test -f $@; then exit 0; else break; fi; }; \
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
++ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu hald/freebsd/probing/Makefile'; \
+- $(am__cd) $(top_srcdir) && \
+- $(AUTOMAKE) --gnu hald/freebsd/probing/Makefile
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu hald/freebsd/probing/Makefile'; \
++ cd $(top_srcdir) && \
++ $(AUTOMAKE) --gnu hald/freebsd/probing/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -388,74 +383,61 @@ $(top_srcdir)/configure: @MAINTAINER_MOD
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+-$(am__aclocal_m4_deps):
+ install-libexecPROGRAMS: $(libexec_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(libexecdir)" || $(MKDIR_P) "$(DESTDIR)$(libexecdir)"
+- @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
+- for p in $$list; do echo "$$p $$p"; done | \
+- sed 's/$(EXEEXT)$$//' | \
+- while read p p1; do if test -f $$p || test -f $$p1; \
+- then echo "$$p"; echo "$$p"; else :; fi; \
+- done | \
+- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+- -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+- sed 'N;N;N;s,\n, ,g' | \
+- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+- if ($$2 == $$4) files[d] = files[d] " " $$1; \
+- else { print "f", $$3 "/" $$4, $$1; } } \
+- END { for (d in files) print "f", d, files[d] }' | \
+- while read type dir files; do \
+- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+- test -z "$$files" || { \
+- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \
+- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \
+- } \
+- ; done
++ @list='$(libexec_PROGRAMS)'; for p in $$list; do \
++ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
++ if test -f $$p \
++ || test -f $$p1 \
++ ; then \
++ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
++ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libexecPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(libexecdir)/$$f'"; \
++ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libexecPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(libexecdir)/$$f" || exit 1; \
++ else :; fi; \
++ done
+
+ uninstall-libexecPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+- @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
+- files=`for p in $$list; do echo "$$p"; done | \
+- sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+- -e 's/$$/$(EXEEXT)/' `; \
+- test -n "$$list" || exit 0; \
+- echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \
+- cd "$(DESTDIR)$(libexecdir)" && rm -f $$files
++ @list='$(libexec_PROGRAMS)'; for p in $$list; do \
++ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
++ echo " rm -f '$(DESTDIR)$(libexecdir)/$$f'"; \
++ rm -f "$(DESTDIR)$(libexecdir)/$$f"; \
++ done
+
+ clean-libexecPROGRAMS:
+- @list='$(libexec_PROGRAMS)'; test -n "$$list" || exit 0; \
+- echo " rm -f" $$list; \
+- rm -f $$list || exit $$?; \
+- test -n "$(EXEEXT)" || exit 0; \
+- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+- echo " rm -f" $$list; \
+- rm -f $$list
++ @list='$(libexec_PROGRAMS)'; for p in $$list; do \
++ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
++ echo " rm -f $$p $$f"; \
++ rm -f $$p $$f ; \
++ done
hald-probe-hiddev$(EXEEXT): $(hald_probe_hiddev_OBJECTS) $(hald_probe_hiddev_DEPENDENCIES)
@rm -f hald-probe-hiddev$(EXEEXT)
- $(LINK) $(hald_probe_hiddev_OBJECTS) $(hald_probe_hiddev_LDADD) $(LIBS)
-+hald-probe-mouse$(EXEEXT): $(hald_probe_mouse_OBJECTS) $(hald_probe_mouse_DEPENDENCIES)
-+ @rm -f hald-probe-mouse$(EXEEXT)
+- $(AM_V_CCLD)$(LINK) $(hald_probe_hiddev_OBJECTS) $(hald_probe_hiddev_LDADD) $(LIBS)
++ $(LINK) $(hald_probe_hiddev_OBJECTS) $(hald_probe_hiddev_LDADD) $(LIBS)
+ hald-probe-mouse$(EXEEXT): $(hald_probe_mouse_OBJECTS) $(hald_probe_mouse_DEPENDENCIES)
+ @rm -f hald-probe-mouse$(EXEEXT)
+- $(AM_V_CCLD)$(LINK) $(hald_probe_mouse_OBJECTS) $(hald_probe_mouse_LDADD) $(LIBS)
+ $(LINK) $(hald_probe_mouse_OBJECTS) $(hald_probe_mouse_LDADD) $(LIBS)
hald-probe-scsi$(EXEEXT): $(hald_probe_scsi_OBJECTS) $(hald_probe_scsi_DEPENDENCIES)
@rm -f hald-probe-scsi$(EXEEXT)
- $(LINK) $(hald_probe_scsi_OBJECTS) $(hald_probe_scsi_LDADD) $(LIBS)
-@@ -358,6 +407,12 @@ hald-probe-smbios$(EXEEXT): $(hald_probe
+- $(AM_V_CCLD)$(LINK) $(hald_probe_scsi_OBJECTS) $(hald_probe_scsi_LDADD) $(LIBS)
++ $(LINK) $(hald_probe_scsi_OBJECTS) $(hald_probe_scsi_LDADD) $(LIBS)
+ hald-probe-smbios$(EXEEXT): $(hald_probe_smbios_OBJECTS) $(hald_probe_smbios_DEPENDENCIES)
+ @rm -f hald-probe-smbios$(EXEEXT)
+- $(AM_V_CCLD)$(LINK) $(hald_probe_smbios_OBJECTS) $(hald_probe_smbios_LDADD) $(LIBS)
++ $(LINK) $(hald_probe_smbios_OBJECTS) $(hald_probe_smbios_LDADD) $(LIBS)
hald-probe-storage$(EXEEXT): $(hald_probe_storage_OBJECTS) $(hald_probe_storage_DEPENDENCIES)
@rm -f hald-probe-storage$(EXEEXT)
- $(LINK) $(hald_probe_storage_OBJECTS) $(hald_probe_storage_LDADD) $(LIBS)
-+hald-probe-usb2-device$(EXEEXT): $(hald_probe_usb2_device_OBJECTS) $(hald_probe_usb2_device_DEPENDENCIES)
-+ @rm -f hald-probe-usb2-device$(EXEEXT)
+- $(AM_V_CCLD)$(LINK) $(hald_probe_storage_OBJECTS) $(hald_probe_storage_LDADD) $(LIBS)
++ $(LINK) $(hald_probe_storage_OBJECTS) $(hald_probe_storage_LDADD) $(LIBS)
+ hald-probe-usb2-device$(EXEEXT): $(hald_probe_usb2_device_OBJECTS) $(hald_probe_usb2_device_DEPENDENCIES)
+ @rm -f hald-probe-usb2-device$(EXEEXT)
+- $(AM_V_CCLD)$(LINK) $(hald_probe_usb2_device_OBJECTS) $(hald_probe_usb2_device_LDADD) $(LIBS)
+ $(LINK) $(hald_probe_usb2_device_OBJECTS) $(hald_probe_usb2_device_LDADD) $(LIBS)
-+hald-probe-usb2-interface$(EXEEXT): $(hald_probe_usb2_interface_OBJECTS) $(hald_probe_usb2_interface_DEPENDENCIES)
-+ @rm -f hald-probe-usb2-interface$(EXEEXT)
+ hald-probe-usb2-interface$(EXEEXT): $(hald_probe_usb2_interface_OBJECTS) $(hald_probe_usb2_interface_DEPENDENCIES)
+ @rm -f hald-probe-usb2-interface$(EXEEXT)
+- $(AM_V_CCLD)$(LINK) $(hald_probe_usb2_interface_OBJECTS) $(hald_probe_usb2_interface_LDADD) $(LIBS)
+ $(LINK) $(hald_probe_usb2_interface_OBJECTS) $(hald_probe_usb2_interface_LDADD) $(LIBS)
++hald-probe-video4linux$(EXEEXT): $(hald_probe_video4linux_OBJECTS) $(hald_probe_video4linux_DEPENDENCIES)
++ @rm -f hald-probe-video4linux$(EXEEXT)
++ $(LINK) $(hald_probe_video4linux_OBJECTS) $(hald_probe_video4linux_LDADD) $(LIBS)
hald-probe-volume$(EXEEXT): $(hald_probe_volume_OBJECTS) $(hald_probe_volume_DEPENDENCIES)
@rm -f hald-probe-volume$(EXEEXT)
- $(LINK) $(hald_probe_volume_OBJECTS) $(hald_probe_volume_LDADD) $(LIBS)
-@@ -368,6 +423,7 @@ mostlyclean-compile:
- distclean-compile:
- -rm -f *.tab.c
+- $(AM_V_CCLD)$(LINK) $(hald_probe_volume_OBJECTS) $(hald_probe_volume_LDADD) $(LIBS)
++ $(LINK) $(hald_probe_volume_OBJECTS) $(hald_probe_volume_LDADD) $(LIBS)
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hald_probe_mouse-probe-mouse.Po@am__quote@
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+@@ -466,6 +448,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hald_probe_mouse-probe-mouse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hald_probe_storage-probe-storage.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hald_probe_video4linux-probe-video4linux.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hald_probe_volume-freebsd_dvd_rw_utils.Po@am__quote@
-@@ -375,6 +431,8 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hald_probe_volume-probe-volume.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/probe-hiddev.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/probe-scsi.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/probe-smbios.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/probe-usb2-device.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/probe-usb2-interface.Po@am__quote@
+@@ -475,105 +458,106 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/probe-usb2-interface.Po@am__quote@
.c.o:
- @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@@ -397,6 +455,20 @@ distclean-compile:
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+ .c.obj:
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+ .c.lo:
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
++@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-+hald_probe_mouse-probe-mouse.o: probe-mouse.c
+ hald_probe_mouse-probe-mouse.o: probe-mouse.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_mouse_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_mouse-probe-mouse.o -MD -MP -MF $(DEPDIR)/hald_probe_mouse-probe-mouse.Tpo -c -o hald_probe_mouse-probe-mouse.o `test -f 'probe-mouse.c' || echo '$(srcdir)/'`probe-mouse.c
+-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hald_probe_mouse-probe-mouse.Tpo $(DEPDIR)/hald_probe_mouse-probe-mouse.Po
+-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_mouse_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_mouse-probe-mouse.o -MD -MP -MF $(DEPDIR)/hald_probe_mouse-probe-mouse.Tpo -c -o hald_probe_mouse-probe-mouse.o `test -f 'probe-mouse.c' || echo '$(srcdir)/'`probe-mouse.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_probe_mouse-probe-mouse.Tpo $(DEPDIR)/hald_probe_mouse-probe-mouse.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='probe-mouse.c' object='hald_probe_mouse-probe-mouse.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_mouse_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_mouse-probe-mouse.o `test -f 'probe-mouse.c' || echo '$(srcdir)/'`probe-mouse.c
-+
-+hald_probe_mouse-probe-mouse.obj: probe-mouse.c
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='probe-mouse.c' object='hald_probe_mouse-probe-mouse.o' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_mouse_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_mouse-probe-mouse.o `test -f 'probe-mouse.c' || echo '$(srcdir)/'`probe-mouse.c
+
+ hald_probe_mouse-probe-mouse.obj: probe-mouse.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_mouse_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_mouse-probe-mouse.obj -MD -MP -MF $(DEPDIR)/hald_probe_mouse-probe-mouse.Tpo -c -o hald_probe_mouse-probe-mouse.obj `if test -f 'probe-mouse.c'; then $(CYGPATH_W) 'probe-mouse.c'; else $(CYGPATH_W) '$(srcdir)/probe-mouse.c'; fi`
+-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hald_probe_mouse-probe-mouse.Tpo $(DEPDIR)/hald_probe_mouse-probe-mouse.Po
+-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_mouse_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_mouse-probe-mouse.obj -MD -MP -MF $(DEPDIR)/hald_probe_mouse-probe-mouse.Tpo -c -o hald_probe_mouse-probe-mouse.obj `if test -f 'probe-mouse.c'; then $(CYGPATH_W) 'probe-mouse.c'; else $(CYGPATH_W) '$(srcdir)/probe-mouse.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_probe_mouse-probe-mouse.Tpo $(DEPDIR)/hald_probe_mouse-probe-mouse.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='probe-mouse.c' object='hald_probe_mouse-probe-mouse.obj' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='probe-mouse.c' object='hald_probe_mouse-probe-mouse.obj' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_mouse_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_mouse-probe-mouse.obj `if test -f 'probe-mouse.c'; then $(CYGPATH_W) 'probe-mouse.c'; else $(CYGPATH_W) '$(srcdir)/probe-mouse.c'; fi`
+
+ hald_probe_storage-freebsd_dvd_rw_utils.o: freebsd_dvd_rw_utils.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_storage_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_storage-freebsd_dvd_rw_utils.o -MD -MP -MF $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Tpo -c -o hald_probe_storage-freebsd_dvd_rw_utils.o `test -f 'freebsd_dvd_rw_utils.c' || echo '$(srcdir)/'`freebsd_dvd_rw_utils.c
+-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Tpo $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Po
+-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_storage_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_storage-freebsd_dvd_rw_utils.o -MD -MP -MF $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Tpo -c -o hald_probe_storage-freebsd_dvd_rw_utils.o `test -f 'freebsd_dvd_rw_utils.c' || echo '$(srcdir)/'`freebsd_dvd_rw_utils.c
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Tpo $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='freebsd_dvd_rw_utils.c' object='hald_probe_storage-freebsd_dvd_rw_utils.o' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_storage_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_storage-freebsd_dvd_rw_utils.o `test -f 'freebsd_dvd_rw_utils.c' || echo '$(srcdir)/'`freebsd_dvd_rw_utils.c
+
+ hald_probe_storage-freebsd_dvd_rw_utils.obj: freebsd_dvd_rw_utils.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_storage_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_storage-freebsd_dvd_rw_utils.obj -MD -MP -MF $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Tpo -c -o hald_probe_storage-freebsd_dvd_rw_utils.obj `if test -f 'freebsd_dvd_rw_utils.c'; then $(CYGPATH_W) 'freebsd_dvd_rw_utils.c'; else $(CYGPATH_W) '$(srcdir)/freebsd_dvd_rw_utils.c'; fi`
+-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Tpo $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Po
+-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_storage_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_storage-freebsd_dvd_rw_utils.obj -MD -MP -MF $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Tpo -c -o hald_probe_storage-freebsd_dvd_rw_utils.obj `if test -f 'freebsd_dvd_rw_utils.c'; then $(CYGPATH_W) 'freebsd_dvd_rw_utils.c'; else $(CYGPATH_W) '$(srcdir)/freebsd_dvd_rw_utils.c'; fi`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Tpo $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='freebsd_dvd_rw_utils.c' object='hald_probe_storage-freebsd_dvd_rw_utils.obj' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_storage_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_storage-freebsd_dvd_rw_utils.obj `if test -f 'freebsd_dvd_rw_utils.c'; then $(CYGPATH_W) 'freebsd_dvd_rw_utils.c'; else $(CYGPATH_W) '$(srcdir)/freebsd_dvd_rw_utils.c'; fi`
+
+ hald_probe_storage-probe-storage.o: probe-storage.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_storage_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_storage-probe-storage.o -MD -MP -MF $(DEPDIR)/hald_probe_storage-probe-storage.Tpo -c -o hald_probe_storage-probe-storage.o `test -f 'probe-storage.c' || echo '$(srcdir)/'`probe-storage.c
+-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hald_probe_storage-probe-storage.Tpo $(DEPDIR)/hald_probe_storage-probe-storage.Po
+-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_storage_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_storage-probe-storage.o -MD -MP -MF $(DEPDIR)/hald_probe_storage-probe-storage.Tpo -c -o hald_probe_storage-probe-storage.o `test -f 'probe-storage.c' || echo '$(srcdir)/'`probe-storage.c
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_probe_storage-probe-storage.Tpo $(DEPDIR)/hald_probe_storage-probe-storage.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='probe-storage.c' object='hald_probe_storage-probe-storage.o' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_storage_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_storage-probe-storage.o `test -f 'probe-storage.c' || echo '$(srcdir)/'`probe-storage.c
+
+ hald_probe_storage-probe-storage.obj: probe-storage.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_storage_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_storage-probe-storage.obj -MD -MP -MF $(DEPDIR)/hald_probe_storage-probe-storage.Tpo -c -o hald_probe_storage-probe-storage.obj `if test -f 'probe-storage.c'; then $(CYGPATH_W) 'probe-storage.c'; else $(CYGPATH_W) '$(srcdir)/probe-storage.c'; fi`
+-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hald_probe_storage-probe-storage.Tpo $(DEPDIR)/hald_probe_storage-probe-storage.Po
+-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_storage_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_storage-probe-storage.obj -MD -MP -MF $(DEPDIR)/hald_probe_storage-probe-storage.Tpo -c -o hald_probe_storage-probe-storage.obj `if test -f 'probe-storage.c'; then $(CYGPATH_W) 'probe-storage.c'; else $(CYGPATH_W) '$(srcdir)/probe-storage.c'; fi`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_probe_storage-probe-storage.Tpo $(DEPDIR)/hald_probe_storage-probe-storage.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='probe-storage.c' object='hald_probe_storage-probe-storage.obj' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_storage_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_storage-probe-storage.obj `if test -f 'probe-storage.c'; then $(CYGPATH_W) 'probe-storage.c'; else $(CYGPATH_W) '$(srcdir)/probe-storage.c'; fi`
+
++hald_probe_video4linux-probe-video4linux.o: probe-video4linux.c
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_video4linux_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_video4linux-probe-video4linux.o -MD -MP -MF $(DEPDIR)/hald_probe_video4linux-probe-video4linux.Tpo -c -o hald_probe_video4linux-probe-video4linux.o `test -f 'probe-video4linux.c' || echo '$(srcdir)/'`probe-video4linux.c
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_probe_video4linux-probe-video4linux.Tpo $(DEPDIR)/hald_probe_video4linux-probe-video4linux.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='probe-video4linux.c' object='hald_probe_video4linux-probe-video4linux.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_mouse_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_mouse-probe-mouse.obj `if test -f 'probe-mouse.c'; then $(CYGPATH_W) 'probe-mouse.c'; else $(CYGPATH_W) '$(srcdir)/probe-mouse.c'; fi`
++@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_video4linux_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_video4linux-probe-video4linux.o `test -f 'probe-video4linux.c' || echo '$(srcdir)/'`probe-video4linux.c
+
- hald_probe_storage-freebsd_dvd_rw_utils.o: freebsd_dvd_rw_utils.c
- @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_storage_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_storage-freebsd_dvd_rw_utils.o -MD -MP -MF $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Tpo -c -o hald_probe_storage-freebsd_dvd_rw_utils.o `test -f 'freebsd_dvd_rw_utils.c' || echo '$(srcdir)/'`freebsd_dvd_rw_utils.c
- @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Tpo $(DEPDIR)/hald_probe_storage-freebsd_dvd_rw_utils.Po
++hald_probe_video4linux-probe-video4linux.obj: probe-video4linux.c
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_video4linux_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_video4linux-probe-video4linux.obj -MD -MP -MF $(DEPDIR)/hald_probe_video4linux-probe-video4linux.Tpo -c -o hald_probe_video4linux-probe-video4linux.obj `if test -f 'probe-video4linux.c'; then $(CYGPATH_W) 'probe-video4linux.c'; else $(CYGPATH_W) '$(srcdir)/probe-video4linux.c'; fi`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_probe_video4linux-probe-video4linux.Tpo $(DEPDIR)/hald_probe_video4linux-probe-video4linux.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='probe-video4linux.c' object='hald_probe_video4linux-probe-video4linux.obj' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_video4linux_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_video4linux-probe-video4linux.obj `if test -f 'probe-video4linux.c'; then $(CYGPATH_W) 'probe-video4linux.c'; else $(CYGPATH_W) '$(srcdir)/probe-video4linux.c'; fi`
++
+ hald_probe_volume-freebsd_dvd_rw_utils.o: freebsd_dvd_rw_utils.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_volume_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_volume-freebsd_dvd_rw_utils.o -MD -MP -MF $(DEPDIR)/hald_probe_volume-freebsd_dvd_rw_utils.Tpo -c -o hald_probe_volume-freebsd_dvd_rw_utils.o `test -f 'freebsd_dvd_rw_utils.c' || echo '$(srcdir)/'`freebsd_dvd_rw_utils.c
+-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hald_probe_volume-freebsd_dvd_rw_utils.Tpo $(DEPDIR)/hald_probe_volume-freebsd_dvd_rw_utils.Po
+-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_volume_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_volume-freebsd_dvd_rw_utils.o -MD -MP -MF $(DEPDIR)/hald_probe_volume-freebsd_dvd_rw_utils.Tpo -c -o hald_probe_volume-freebsd_dvd_rw_utils.o `test -f 'freebsd_dvd_rw_utils.c' || echo '$(srcdir)/'`freebsd_dvd_rw_utils.c
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_probe_volume-freebsd_dvd_rw_utils.Tpo $(DEPDIR)/hald_probe_volume-freebsd_dvd_rw_utils.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='freebsd_dvd_rw_utils.c' object='hald_probe_volume-freebsd_dvd_rw_utils.o' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_volume_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_volume-freebsd_dvd_rw_utils.o `test -f 'freebsd_dvd_rw_utils.c' || echo '$(srcdir)/'`freebsd_dvd_rw_utils.c
+
+ hald_probe_volume-freebsd_dvd_rw_utils.obj: freebsd_dvd_rw_utils.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_volume_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_volume-freebsd_dvd_rw_utils.obj -MD -MP -MF $(DEPDIR)/hald_probe_volume-freebsd_dvd_rw_utils.Tpo -c -o hald_probe_volume-freebsd_dvd_rw_utils.obj `if test -f 'freebsd_dvd_rw_utils.c'; then $(CYGPATH_W) 'freebsd_dvd_rw_utils.c'; else $(CYGPATH_W) '$(srcdir)/freebsd_dvd_rw_utils.c'; fi`
+-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hald_probe_volume-freebsd_dvd_rw_utils.Tpo $(DEPDIR)/hald_probe_volume-freebsd_dvd_rw_utils.Po
+-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_volume_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_volume-freebsd_dvd_rw_utils.obj -MD -MP -MF $(DEPDIR)/hald_probe_volume-freebsd_dvd_rw_utils.Tpo -c -o hald_probe_volume-freebsd_dvd_rw_utils.obj `if test -f 'freebsd_dvd_rw_utils.c'; then $(CYGPATH_W) 'freebsd_dvd_rw_utils.c'; else $(CYGPATH_W) '$(srcdir)/freebsd_dvd_rw_utils.c'; fi`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_probe_volume-freebsd_dvd_rw_utils.Tpo $(DEPDIR)/hald_probe_volume-freebsd_dvd_rw_utils.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='freebsd_dvd_rw_utils.c' object='hald_probe_volume-freebsd_dvd_rw_utils.obj' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_volume_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_volume-freebsd_dvd_rw_utils.obj `if test -f 'freebsd_dvd_rw_utils.c'; then $(CYGPATH_W) 'freebsd_dvd_rw_utils.c'; else $(CYGPATH_W) '$(srcdir)/freebsd_dvd_rw_utils.c'; fi`
+
+ hald_probe_volume-probe-volume.o: probe-volume.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_volume_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_volume-probe-volume.o -MD -MP -MF $(DEPDIR)/hald_probe_volume-probe-volume.Tpo -c -o hald_probe_volume-probe-volume.o `test -f 'probe-volume.c' || echo '$(srcdir)/'`probe-volume.c
+-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hald_probe_volume-probe-volume.Tpo $(DEPDIR)/hald_probe_volume-probe-volume.Po
+-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_volume_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_volume-probe-volume.o -MD -MP -MF $(DEPDIR)/hald_probe_volume-probe-volume.Tpo -c -o hald_probe_volume-probe-volume.o `test -f 'probe-volume.c' || echo '$(srcdir)/'`probe-volume.c
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_probe_volume-probe-volume.Tpo $(DEPDIR)/hald_probe_volume-probe-volume.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='probe-volume.c' object='hald_probe_volume-probe-volume.o' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_volume_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_volume-probe-volume.o `test -f 'probe-volume.c' || echo '$(srcdir)/'`probe-volume.c
+
+ hald_probe_volume-probe-volume.obj: probe-volume.c
+-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_volume_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_volume-probe-volume.obj -MD -MP -MF $(DEPDIR)/hald_probe_volume-probe-volume.Tpo -c -o hald_probe_volume-probe-volume.obj `if test -f 'probe-volume.c'; then $(CYGPATH_W) 'probe-volume.c'; else $(CYGPATH_W) '$(srcdir)/probe-volume.c'; fi`
+-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hald_probe_volume-probe-volume.Tpo $(DEPDIR)/hald_probe_volume-probe-volume.Po
+-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_volume_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hald_probe_volume-probe-volume.obj -MD -MP -MF $(DEPDIR)/hald_probe_volume-probe-volume.Tpo -c -o hald_probe_volume-probe-volume.obj `if test -f 'probe-volume.c'; then $(CYGPATH_W) 'probe-volume.c'; else $(CYGPATH_W) '$(srcdir)/probe-volume.c'; fi`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hald_probe_volume-probe-volume.Tpo $(DEPDIR)/hald_probe_volume-probe-volume.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='probe-volume.c' object='hald_probe_volume-probe-volume.obj' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hald_probe_volume_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hald_probe_volume-probe-volume.obj `if test -f 'probe-volume.c'; then $(CYGPATH_W) 'probe-volume.c'; else $(CYGPATH_W) '$(srcdir)/probe-volume.c'; fi`
+@@ -589,14 +573,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+ tags: TAGS
+
+ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+- set x; \
++ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+@@ -604,34 +588,29 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEP
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+- shift; \
+- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
++ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+- if test $$# -gt 0; then \
+- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+- "$$@" $$unique; \
+- else \
+- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+- $$unique; \
+- fi; \
++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++ $$tags $$unique; \
+ fi
+ ctags: CTAGS
+ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
++ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+- test -z "$(CTAGS_ARGS)$$unique" \
++ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+- $$unique
++ $$tags $$unique
+
+ GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+- && $(am__cd) $(top_srcdir) \
+- && gtags -i $(GTAGS_ARGS) "$$here"
++ && cd $(top_srcdir) \
++ && gtags -i $(GTAGS_ARGS) $$here
+
+ distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+@@ -652,17 +631,13 @@ distdir: $(DISTFILES)
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test -d "$(distdir)/$$file"; then \
+- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+- fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
++ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
++ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+- test -f "$(distdir)/$$file" \
+- || cp -p $$d/$$file "$(distdir)/$$file" \
++ test -f $(distdir)/$$file \
++ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+@@ -693,7 +668,6 @@ clean-generic:
+
+ distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+ maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+@@ -715,8 +689,6 @@ dvi-am:
+
+ html: html-am
+
+-html-am:
+-
+ info: info-am
+
+ info-am:
+@@ -725,28 +697,18 @@ install-data-am:
+
+ install-dvi: install-dvi-am
+
+-install-dvi-am:
+-
+ install-exec-am: install-libexecPROGRAMS
+
+ install-html: install-html-am
+
+-install-html-am:
+-
+ install-info: install-info-am
+
+-install-info-am:
+-
+ install-man:
+
+ install-pdf: install-pdf-am
+
+-install-pdf-am:
+-
+ install-ps: install-ps-am
+
+-install-ps-am:
+-
+ installcheck-am:
+
+ maintainer-clean: maintainer-clean-am
+@@ -785,7 +747,6 @@ uninstall-am: uninstall-libexecPROGRAMS
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-libexecPROGRAMS
+
+-
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
diff --git a/sysutils/hal/files/patch-hald_freebsd_probing_probe-hiddev.c b/sysutils/hal/files/patch-hald_freebsd_probing_probe-hiddev.c
deleted file mode 100644
index ee627c451795..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_probing_probe-hiddev.c
+++ /dev/null
@@ -1,37 +0,0 @@
---- hald/freebsd/probing/probe-hiddev.c.orig 2008-05-07 19:24:08.000000000 -0400
-+++ hald/freebsd/probing/probe-hiddev.c 2009-02-24 00:42:06.000000000 -0500
-@@ -25,12 +25,21 @@
- # include <config.h>
- #endif
-
-+#include <sys/param.h>
- #include <unistd.h>
- #include <stdlib.h>
- #include <fcntl.h>
-+#ifndef HAVE_LIBUSB20
- #include <sys/ioctl.h>
- #include <dev/usb/usb.h>
- #include <dev/usb/usbhid.h>
-+#else
-+#if __FreeBSD_version >= 800064
-+#include <dev/usb/usbhid.h>
-+#else
-+#include <dev/usb2/include/usb2_hid.h>
-+#endif
-+#endif
- #include <usbhid.h>
-
- #include "../libprobe/hfp.h"
-@@ -65,7 +74,12 @@ main (int argc, char **argv)
- /* give a meaningful process title for ps(1) */
- setproctitle("%s", device_file);
-
-+#ifdef HAVE_LIBUSB20
-+ report_id = hid_get_report_id(fd);
-+ if (report_id == -1)
-+#else
- if (ioctl(fd, USB_GET_REPORT_ID, &report_id) < 0)
-+#endif
- goto end;
-
- hid_init(NULL);
diff --git a/sysutils/hal/files/patch-hald_freebsd_probing_probe-mouse.c b/sysutils/hal/files/patch-hald_freebsd_probing_probe-mouse.c
deleted file mode 100644
index 901da9333dc1..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_probing_probe-mouse.c
+++ /dev/null
@@ -1,315 +0,0 @@
---- hald/freebsd/probing/probe-mouse.c.orig 2009-02-04 11:00:00.000000000 -0500
-+++ hald/freebsd/probing/probe-mouse.c 2009-02-04 11:04:43.000000000 -0500
-@@ -0,0 +1,312 @@
-+/***************************************************************************
-+ * CVSID: $Id$
-+ *
-+ * probe-hiddev.c : Mouse prober
-+ *
-+ * Copyright (C) 2008 Joe Marcus Clarke <marcus@FreeBSD.org>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ **************************************************************************/
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include <sys/param.h>
-+#if __FreeBSD_version >= 800058
-+#include <sys/types.h>
-+#include <sys/user.h>
-+#include <sys/sysctl.h>
-+#include <libutil.h>
-+#endif
-+#include <unistd.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <fcntl.h>
-+#include <glib.h>
-+
-+#include "../libprobe/hfp.h"
-+
-+#if __FreeBSD_version < 800058
-+#define CMD "/usr/bin/fstat %s"
-+#endif
-+
-+#define MOUSE_DRIVER "mouse"
-+#define MOUSED_DEVICE "/dev/sysmouse"
-+#define MOUSED_PROC_NAME "moused"
-+#define XORG_PROC_NAME "Xorg"
-+
-+#if __FreeBSD_version >= 800058
-+static struct kinfo_proc *
-+hfp_kinfo_getproc (int *cntp)
-+{
-+ int mib[3];
-+ int error;
-+ int cnt;
-+ size_t len;
-+ char *buf, *bp, *eb;
-+ struct kinfo_proc *kip, *kp, *ki;
-+
-+ *cntp = 0;
-+
-+ len = 0;
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PROC;
-+ mib[2] = KERN_PROC_PROC;
-+
-+ error = sysctl(mib, 3, NULL, &len, NULL, 0);
-+ if (error)
-+ return NULL;
-+
-+ len = len * 4 / 3;
-+ buf = (char *) g_malloc(len);
-+ if (buf == NULL)
-+ return NULL;
-+
-+ error = sysctl(mib, 3, buf, &len, NULL, 0);
-+ if (error)
-+ {
-+ g_free(buf);
-+ return NULL;
-+ }
-+
-+ cnt = 0;
-+ bp = buf;
-+ eb = buf + len;
-+ while (bp < eb)
-+ {
-+ ki = (struct kinfo_proc *) (uintptr_t) bp;
-+ bp += ki->ki_structsize;
-+ cnt++;
-+ }
-+
-+ kip = calloc(cnt, sizeof (*kip));
-+ if (kip == NULL)
-+ {
-+ g_free(buf);
-+ return NULL;
-+ }
-+
-+ bp = buf;
-+ eb = buf + len;
-+ kp = kip;
-+ while (bp < eb)
-+ {
-+ ki = (struct kinfo_proc *) (uintptr_t) bp;
-+ memcpy(kp, ki, ki->ki_structsize);
-+ bp += ki->ki_structsize;
-+ kp->ki_structsize = sizeof(*kp);
-+ kp++;
-+ }
-+
-+ g_free(buf);
-+ *cntp = cnt;
-+ return kip;
-+}
-+
-+static gboolean
-+device_opened_by_proc (const char *device, const char *proc)
-+{
-+ struct kinfo_proc *kip, *pfreep;
-+ int cnt, i;
-+
-+ pfreep = hfp_kinfo_getproc(&cnt);
-+ if (pfreep == NULL)
-+ return FALSE;
-+
-+ for (i = 0; i < cnt; i++)
-+ {
-+ kip = &pfreep[i];
-+
-+ if (! strcmp(kip->ki_comm, proc))
-+ {
-+ struct kinfo_file *kif, *ffreep;
-+ int fcnt, j;
-+
-+ ffreep = kinfo_getfile(kip->ki_pid, &fcnt);
-+ if (ffreep == NULL)
-+ continue;
-+ for (j = 0; j < fcnt; j++)
-+ {
-+ kif = &ffreep[j];
-+
-+ if (kif->kf_type == KF_TYPE_VNODE &&
-+ ! strcmp(kif->kf_path, device))
-+ {
-+ g_free(ffreep);
-+ g_free(pfreep);
-+ return TRUE;
-+ }
-+ }
-+ g_free(ffreep);
-+ }
-+ }
-+ g_free(pfreep);
-+
-+ return FALSE;
-+}
-+#else
-+static gboolean
-+device_opened_by_proc (const char *device, const char *proc)
-+{
-+ char **lines;
-+ char *output = NULL;
-+ char *cmd;
-+ int i;
-+ gboolean found = FALSE;
-+
-+ cmd = g_strdup_printf(CMD, device);
-+
-+ if (! g_spawn_command_line_sync(cmd, &output, NULL, NULL, NULL))
-+ {
-+ g_free(cmd);
-+ goto done;
-+ }
-+ g_free(cmd);
-+
-+ if (! output || strlen(output) == 0)
-+ goto done;
-+
-+ lines = g_strsplit(output, "\n", 0);
-+ if (g_strv_length(lines) < 2)
-+ {
-+ g_strfreev(lines);
-+ goto done;
-+ }
-+
-+ for (i = 1; lines[i]; i++)
-+ {
-+ char **fields;
-+ guint len;
-+ guint j;
-+
-+ fields = g_strsplit_set(lines[i], " ", 0);
-+ len = g_strv_length(fields);
-+ if (len < 3)
-+ {
-+ g_strfreev(fields);
-+ continue;
-+ }
-+ for (j = 1; j < len && fields[j] && *fields[j] == '\0'; j++)
-+ ;
-+ if (j < len && fields[j] && ! strcmp(fields[j], proc))
-+ {
-+ found = TRUE;
-+ g_strfreev(fields);
-+ break;
-+ }
-+ g_strfreev(fields);
-+ }
-+
-+ g_strfreev(lines);
-+
-+done:
-+ g_free(output);
-+
-+ return found;
-+}
-+#endif
-+
-+static void
-+probe_mouse (const char *device_file)
-+{
-+ gboolean found;
-+ char **udis;
-+ char *driver;
-+ int num_udis;
-+
-+ driver = libhal_device_get_property_string(hfp_ctx, hfp_udi,
-+ "input.x11_driver", &hfp_error);
-+ dbus_error_free(&hfp_error);
-+
-+ found = device_opened_by_proc(device_file, XORG_PROC_NAME);
-+ if (found)
-+ {
-+ if (driver)
-+ {
-+ libhal_device_remove_property(hfp_ctx, hfp_udi, "input.x11_driver",
-+ &hfp_error);
-+ dbus_error_free(&hfp_error);
-+ g_free(driver);
-+ }
-+ return;
-+ }
-+
-+ found = device_opened_by_proc(device_file, MOUSED_PROC_NAME);
-+ if (found)
-+ {
-+ libhal_device_set_property_string(hfp_ctx, hfp_udi, "input.device",
-+ MOUSED_DEVICE, &hfp_error);
-+ dbus_error_free(&hfp_error);
-+ found = device_opened_by_proc(MOUSED_DEVICE, XORG_PROC_NAME);
-+ if (! found)
-+ {
-+ udis = libhal_manager_find_device_string_match(hfp_ctx,
-+ "input.device",
-+ MOUSED_DEVICE,
-+ &num_udis,
-+ &hfp_error);
-+ dbus_error_free(&hfp_error);
-+ if (num_udis > 0 && udis != NULL && !strcmp(udis[0], hfp_udi)) {
-+ libhal_device_set_property_string(hfp_ctx, hfp_udi,
-+ "input.x11_driver",
-+ MOUSE_DRIVER, &hfp_error);
-+ dbus_error_free(&hfp_error);
-+ libhal_free_string_array(udis);
-+ }
-+ }
-+ else if (driver)
-+ {
-+ libhal_device_remove_property(hfp_ctx, hfp_udi, "input.x11_driver",
-+ &hfp_error);
-+ dbus_error_free(&hfp_error);
-+ }
-+ }
-+ else
-+ {
-+ libhal_device_set_property_string(hfp_ctx, hfp_udi, "input.device",
-+ device_file, &hfp_error);
-+ dbus_error_free(&hfp_error);
-+ libhal_device_set_property_string(hfp_ctx, hfp_udi, "input.x11_driver",
-+ MOUSE_DRIVER, &hfp_error);
-+ dbus_error_free(&hfp_error);
-+ }
-+
-+ g_free(driver);
-+}
-+
-+int
-+main (int argc, char **argv)
-+{
-+ char *device_file;
-+
-+ if (! hfp_init(argc, argv))
-+ goto end;
-+
-+ device_file = getenv("HAL_PROP_FREEBSD_DEVICE_FILE");
-+ if (! device_file)
-+ goto end;
-+
-+ /* give a meaningful process title for ps(1) */
-+ setproctitle("%s", device_file);
-+
-+ /* Sleep for a second to give moused a chance to connect. */
-+ sleep(1);
-+ probe_mouse(device_file);
-+
-+ end:
-+ return 0;
-+}
diff --git a/sysutils/hal/files/patch-hald_freebsd_probing_probe-storage.c b/sysutils/hal/files/patch-hald_freebsd_probing_probe-storage.c
deleted file mode 100644
index d67ce03bff30..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_probing_probe-storage.c
+++ /dev/null
@@ -1,39 +0,0 @@
---- hald/freebsd/probing/probe-storage.c.orig 2009-01-12 16:07:59.000000000 -0500
-+++ hald/freebsd/probing/probe-storage.c 2009-01-12 16:20:20.000000000 -0500
-@@ -31,6 +31,8 @@
- #include <unistd.h>
- #include <errno.h>
- #include <sys/types.h>
-+#include <sys/ioctl.h>
-+#include <sys/disk.h>
- #include <netinet/in.h>
- #include <glib.h>
- #include <libvolume_id.h>
-@@ -211,7 +213,26 @@ main (int argc, char **argv)
- goto end;
-
- if (hfp_cdrom_test_unit_ready(cdrom))
-- ret = 2; /* has media */
-+ {
-+ int fd;
-+ off_t size;
-+
-+ libhal_device_set_property_bool(hfp_ctx, hfp_udi, "storage.removable.media_available", TRUE, &hfp_error);
-+ fd = open(device_file, O_RDONLY | O_NONBLOCK);
-+ if (fd > -1)
-+ {
-+ if (ioctl (fd, DIOCGMEDIASIZE, &size) == 0)
-+ {
-+ libhal_device_set_property_uint64(hfp_ctx, hfp_udi, "storage.removable.media_size", size, &hfp_error);
-+ }
-+ close(fd);
-+ }
-+ ret = 2; /* has media */
-+ }
-+ else
-+ {
-+ libhal_device_set_property_bool(hfp_ctx, hfp_udi, "storage.removable.media_available", FALSE, &hfp_error);
-+ }
-
- hfp_cdrom_free(cdrom);
- }
diff --git a/sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-device.c b/sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-device.c
deleted file mode 100644
index 5cae11b6b9b8..000000000000
--- a/sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-device.c
+++ /dev/null
@@ -1,211 +0,0 @@
---- hald/freebsd/probing/probe-usb2-device.c.orig 2009-05-30 03:09:03.000000000 -0400
-+++ hald/freebsd/probing/probe-usb2-device.c 2009-05-30 03:10:48.000000000 -0400
-@@ -0,0 +1,208 @@
-+/***************************************************************************
-+ * CVSID: $Id$
-+ *
-+ * probe-usb2-device.c : USB2 Device poller
-+ *
-+ * Copyright (C) 2009 Joe Marcus Clarke <marcus@FreeBSD.org>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ **************************************************************************/
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include <sys/param.h>
-+#include <sys/types.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <unistd.h>
-+
-+#include <libusb20_desc.h>
-+#include <libusb20.h>
-+#if __FreeBSD_version >= 800064
-+#include <dev/usb/usb_ioctl.h>
-+#else
-+#include <dev/usb2/include/usb2_standard.h>
-+#include <dev/usb2/include/usb2_ioctl.h>
-+#endif
-+
-+#include "../libprobe/hfp.h"
-+
-+int
-+main(int argc, char **argv)
-+{
-+ struct libusb20_backend *pbe = NULL;
-+ struct libusb20_device *pdev = NULL;
-+ char *busstr, *addrstr;
-+ int bus, addr;
-+
-+ if (! hfp_init(argc, argv))
-+ goto end;
-+
-+ pbe = libusb20_be_alloc_default();
-+ if (pbe == NULL)
-+ goto end;
-+
-+ busstr = getenv("HAL_PROP_USB_DEVICE_BUS_NUMBER");
-+ if (! busstr)
-+ goto end;
-+
-+ addrstr = getenv("HAL_PROP_USB_DEVICE_PORT_NUMBER");
-+ if (! addrstr)
-+ goto end;
-+
-+ bus = atoi(busstr);
-+ addr = atoi(addrstr);
-+
-+ while ((pdev = libusb20_be_device_foreach(pbe, pdev)))
-+ {
-+ struct LIBUSB20_DEVICE_DESC_DECODED *ddesc;
-+ struct LIBUSB20_CONFIG_DESC_DECODED *cdesc;
-+#if __FreeBSD_version >= 800092
-+ struct usb_device_info di;
-+#else
-+ struct usb2_device_info di;
-+#endif
-+ struct libusb20_config *pcfg = NULL;
-+ int curr_config;
-+ int bcdspeed = 0;
-+ uint8_t temp_string[256];
-+ double speed = 0.0;
-+ double version = 1.0;
-+
-+ if (libusb20_dev_get_bus_number(pdev) != bus ||
-+ libusb20_dev_get_address(pdev) != addr)
-+ continue;
-+
-+ if (libusb20_dev_open(pdev, 0))
-+ continue;
-+
-+ ddesc = libusb20_dev_get_device_desc(pdev);
-+ curr_config = libusb20_dev_get_config_index(pdev);
-+ pcfg = libusb20_dev_alloc_config(pdev, curr_config);
-+ cdesc = &(pcfg->desc);
-+
-+ if (pcfg == NULL || libusb20_dev_get_info(pdev, &di))
-+ {
-+ free(pcfg);
-+ continue;
-+ }
-+
-+ memset(temp_string, 0, sizeof(temp_string));
-+
-+ if (cdesc->iConfiguration !=0)
-+ libusb20_dev_req_string_simple_sync(pdev, cdesc->iConfiguration,
-+ temp_string, sizeof(temp_string));
-+
-+ libhal_device_set_property_string(hfp_ctx, hfp_udi,
-+ "usb_device.configuration", (char *) temp_string, &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb_device.configuration_value", cdesc->bConfigurationValue,
-+ &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb_device.num_configurations", ddesc->bNumConfigurations,
-+ &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb_device.device_class", di.udi_class, &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb_device.device_subclass", di.udi_subclass, &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb_device.device_protocol", di.udi_protocol, &hfp_error);
-+ libhal_device_set_property_bool(hfp_ctx, hfp_udi,
-+ "usb_device.is_self_powered",
-+ di.udi_power == 0 ? TRUE : FALSE, &hfp_error);
-+ libhal_device_set_property_bool(hfp_ctx, hfp_udi,
-+ "usb_device.can_wake_up",
-+ (cdesc->bmAttributes & UC_REMOTE_WAKEUP) != 0 ? TRUE : FALSE,
-+ &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb_device.max_power", di.udi_power, &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb_device.num_interfaces", pcfg->num_interface, &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb_device.num_ports", di.udi_nports, &hfp_error);
-+
-+ switch (libusb20_dev_get_speed(pdev))
-+ {
-+ case LIBUSB20_SPEED_LOW:
-+ speed = 1.5;
-+ bcdspeed = 0x00150;
-+ break;
-+ case LIBUSB20_SPEED_FULL:
-+ speed = 12.0;
-+ bcdspeed = 0x01200;
-+ break;
-+ case LIBUSB20_SPEED_HIGH:
-+ speed = 480.0;
-+ bcdspeed = 0x48000;
-+ break;
-+ case LIBUSB20_SPEED_SUPER:
-+ speed = 4800.0;
-+ bcdspeed = 0x480000;
-+ break;
-+ default:
-+ ;
-+ }
-+
-+ libhal_device_set_property_double(hfp_ctx, hfp_udi, "usb_device.speed",
-+ speed, &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi, "usb_device.speed_bcd",
-+ bcdspeed, &hfp_error);
-+
-+ switch (ddesc->bcdUSB)
-+ {
-+ case UD_USB_2_0:
-+ version = 2.0;
-+ break;
-+ case UD_USB_3_0:
-+ version = 3.0;
-+ break;
-+ default:
-+ version = 1.0;
-+ break;
-+ }
-+
-+ libhal_device_set_property_double(hfp_ctx, hfp_udi,
-+ "usb_device.version", version, &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb_device.product_id", di.udi_productNo, &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb_device.vendor_id", di.udi_vendorNo, &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb_device.device_revision_bcd", ddesc->bcdUSB, &hfp_error);
-+ libhal_device_set_property_string(hfp_ctx, hfp_udi,
-+ "usb_device.serial", di.udi_serial, &hfp_error);
-+ libhal_device_set_property_string(hfp_ctx, hfp_udi,
-+ "usb_device.product", di.udi_product, &hfp_error);
-+ libhal_device_set_property_string(hfp_ctx, hfp_udi,
-+ "usb_device.vendor", di.udi_vendor, &hfp_error);
-+
-+ libhal_device_set_property_string(hfp_ctx, hfp_udi,
-+ "info.product", di.udi_product, &hfp_error);
-+ libhal_device_set_property_string(hfp_ctx, hfp_udi,
-+ "info.vendor", di.udi_vendor, &hfp_error);
-+
-+ libusb20_dev_close(pdev);
-+ free(pcfg);
-+ }
-+end:
-+ if (pbe)
-+ libusb20_be_free(pbe);
-+
-+ return 0;
-+}
diff --git a/sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-interface.c b/sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-interface.c
index beb646134bcb..fa04e0fa096d 100644
--- a/sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-interface.c
+++ b/sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-interface.c
@@ -1,143 +1,16 @@
---- hald/freebsd/probing/probe-usb2-interface.c.orig 2010-01-23 19:24:29.000000000 -0500
-+++ hald/freebsd/probing/probe-usb2-interface.c 2010-01-23 19:52:30.000000000 -0500
-@@ -0,0 +1,140 @@
-+/***************************************************************************
-+ * CVSID: $Id$
-+ *
-+ * probe-usb2-interface.c : USB2 Interface poller
-+ *
-+ * Copyright (C) 2009 Joe Marcus Clarke <marcus@FreeBSD.org>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ **************************************************************************/
-+
-+#ifdef HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
-+#include <sys/param.h>
-+#include <sys/types.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <unistd.h>
-+
-+#include <libusb20_desc.h>
-+#include <libusb20.h>
-+#if __FreeBSD_version >= 800064
-+#include <dev/usb/usb_ioctl.h>
-+#else
-+#include <dev/usb2/include/usb2_standard.h>
-+#include <dev/usb2/include/usb2_ioctl.h>
-+#endif
-+
-+#include "../libprobe/hfp.h"
-+
-+int
-+main(int argc, char **argv)
-+{
-+ struct libusb20_backend *pbe = NULL;
-+ struct libusb20_device *pdev = NULL;
-+ char *busstr, *addrstr, *ifacestr;
-+ int bus, addr, iface;
-+
-+ if (! hfp_init(argc, argv))
-+ goto end;
-+
-+ pbe = libusb20_be_alloc_default();
-+ if (pbe == NULL)
-+ goto end;
-+
+--- hald/freebsd/probing/probe-usb2-interface.c.orig 2010-01-23 22:01:20.000000000 -0500
++++ hald/freebsd/probing/probe-usb2-interface.c 2010-01-23 22:01:49.000000000 -0500
+@@ -58,11 +58,11 @@ main(int argc, char **argv)
+ if (pbe == NULL)
+ goto end;
+
+- busstr = getenv("HAL_PROP_USB_DEVICE_BUS_NUMBER");
+ busstr = getenv("HAL_PROP_USB_BUS_NUMBER");
-+ if (! busstr)
-+ goto end;
-+
+ if (! busstr)
+ goto end;
+
+- addrstr = getenv("HAL_PROP_USB_DEVICE_PORT_NUMBER");
+ addrstr = getenv("HAL_PROP_USB_PORT_NUMBER");
-+ if (! addrstr)
-+ goto end;
-+
-+ ifacestr = getenv("HAL_PROP_USB_INTERFACE_NUMBER");
-+ if (! ifacestr)
-+ goto end;
-+
-+ bus = atoi(busstr);
-+ addr = atoi(addrstr);
-+ iface = atoi(ifacestr);
-+
-+ while ((pdev = libusb20_be_device_foreach(pbe, pdev)))
-+ {
-+ struct LIBUSB20_INTERFACE_DESC_DECODED *idesc;
-+ struct libusb20_config *pcfg = NULL;
-+ struct libusb20_interface *pif;
-+ uint8_t temp_string[256];
-+ char ifdrv[128];
-+ int curr_config;
-+
-+ if (libusb20_dev_get_bus_number(pdev) != bus ||
-+ libusb20_dev_get_address(pdev) != addr)
-+ continue;
-+
-+ if (libusb20_dev_open(pdev, 0))
-+ continue;
-+
-+ curr_config = libusb20_dev_get_config_index(pdev);
-+ pcfg = libusb20_dev_alloc_config(pdev, curr_config);
-+ if (! pcfg)
-+ continue;
-+
-+ pif = pcfg->interface + iface;
-+
-+ idesc = &pif->desc;
-+
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb.interface.class", idesc->bInterfaceClass, &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb.interface.subclass", idesc->bInterfaceSubClass, &hfp_error);
-+ libhal_device_set_property_int(hfp_ctx, hfp_udi,
-+ "usb.interface.protocol", idesc->bInterfaceProtocol, &hfp_error);
-+
-+ memset(temp_string, 0, sizeof(temp_string));
-+ if (idesc->iInterface != 0)
-+ libusb20_dev_req_string_simple_sync(pdev, idesc->iInterface,
-+ temp_string, sizeof(temp_string));
-+
-+ libhal_device_set_property_string(hfp_ctx, hfp_udi,
-+ "usb.interface.description", (char *) temp_string, &hfp_error);
-+
-+ memset(ifdrv, 0, sizeof(ifdrv));
-+ libusb20_dev_get_iface_desc(pdev, iface, ifdrv, sizeof(ifdrv));
-+ if (ifdrv[0] != '\0')
-+ {
-+ char *ifdesc;
-+
-+ ifdesc = strchr(ifdrv, ':');
-+ if (ifdesc)
-+ {
-+ *ifdesc = '\0';
-+ libhal_device_set_property_string(hfp_ctx, hfp_udi,
-+ "usb.freebsd.devname", ifdrv, &hfp_error);
-+ }
-+ }
-+
-+ free(pcfg);
-+ }
-+
-+end:
-+ if (pbe)
-+ libusb20_be_free(pbe);
-+
-+ return 0;
-+}
+ if (! addrstr)
+ goto end;
+
diff --git a/sysutils/hal/files/patch-hald_freebsd_probing_probe-video4linux.c b/sysutils/hal/files/patch-hald_freebsd_probing_probe-video4linux.c
new file mode 100644
index 000000000000..aaac7261bb4b
--- /dev/null
+++ b/sysutils/hal/files/patch-hald_freebsd_probing_probe-video4linux.c
@@ -0,0 +1,228 @@
+--- hald/freebsd/probing/probe-video4linux.c.orig 2010-02-21 14:51:01.000000000 -0500
++++ hald/freebsd/probing/probe-video4linux.c 2010-02-21 14:54:51.000000000 -0500
+@@ -0,0 +1,225 @@
++/***************************************************************************
++ * CVSID: $Id$
++ *
++ * probe-video4linux.c : Probe video4linux devices
++ * Adapted for FreeBSD by : Joe Marcus Clarke <marcus@FreeBSD.org>
++ *
++ * Copyright (C) 2007 Nokia Corporation
++ *
++ * Licensed under the Academic Free License version 2.1
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ **************************************************************************/
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <sys/types.h>
++#include <sys/user.h>
++#include <sys/sysctl.h>
++#include <sys/time.h>
++#include <sys/ioctl.h>
++#include <linux/videodev.h>
++#include <linux/videodev2.h>
++#include <errno.h>
++#include <fcntl.h>
++#include <stdint.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <unistd.h>
++#include <glib.h>
++
++#include "../libprobe/hfp.h"
++
++#define WEBCAMD_PID_FILE "/var/run/webcamd"
++#define V4B_DEVICES_MAX 10 /* XXX from video4bsd.h */
++
++static int
++hfp_v4l_get_unit (int bus, int addr)
++{
++ int i;
++ pid_t pid;
++ int mib[4];
++ char *endptr;
++ char *pidf = NULL;
++ char *contents = NULL;
++ gsize len;
++
++ for (i = 0; i < V4B_DEVICES_MAX; i++) {
++ pidf = g_strdup_printf ("%s.%i.%i.%i.pid", WEBCAMD_PID_FILE, bus, addr, i);
++ if (g_file_test (pidf, G_FILE_TEST_EXISTS))
++ break;
++ g_free (pidf);
++ pidf = NULL;
++ }
++
++ if (pidf == NULL)
++ return -1;
++
++ if (! g_file_get_contents (pidf, &contents, &len, NULL)) {
++ g_free (pidf);
++ return -1;
++ }
++
++ g_free (pidf);
++
++ pid = (int) strtol (contents, &endptr, 10);
++ if (endptr == contents) {
++ g_free (contents);
++ return -1;
++ }
++ g_free (contents);
++
++ len = 4;
++ sysctlnametomib ("kern.proc.pid", mib, &len);
++
++ len = sizeof(struct kinfo_proc);
++ mib[3] = pid;
++
++ /* This is just a rough test. */
++ if (sysctl (mib, 4, NULL, &len, NULL, 0) == -1)
++ return -1;
++
++ return i;
++}
++
++int
++main (int argc, char **argv)
++{
++ int ret = 1;
++ int fd = -1;
++ int unit = -1;
++ int bus = -1;
++ int addr = -1;
++ int intf = -1;
++ char *device_file = NULL;
++ char *busstr;
++ char *addrstr;
++ char *intfstr;
++ struct video_capability v1cap;
++ struct v4l2_capability v2cap;
++ LibHalChangeSet *cset;
++
++ if (! hfp_init (argc, argv))
++ goto out;
++
++ busstr = getenv ("HAL_PROP_USB_BUS_NUMBER");
++ if (! busstr)
++ goto out;
++ addrstr = getenv ("HAL_PROP_USB_PORT_NUMBER");
++ if (! addrstr)
++ goto out;
++ intfstr = getenv ("HAL_PROP_USB_INTERFACE_NUMBER");
++ if (! intfstr)
++ goto out;
++
++ bus = atoi (busstr);
++ addr = atoi (addrstr);
++ intf = atoi (intfstr);
++ if (intf != 0)
++ goto out;
++
++ unit = hfp_v4l_get_unit (bus, addr);
++ if (unit == -1)
++ goto out;
++ device_file = g_strdup_printf ("/dev/video%i", unit);
++ if (device_file == NULL)
++ goto out;
++
++ /* give a meaningful process title for ps(1) */
++ setproctitle("%s (bus: %i, addr: %i)", device_file, bus, addr);
++
++ cset = libhal_device_new_changeset (hfp_udi);
++
++ hfp_info ("Doing probe-video4linux for %s (udi=%s)", device_file, hfp_udi);
++
++ fd = open (device_file, O_RDONLY);
++ if (fd < 0) {
++ hfp_critical ("Cannot open %s: %s", device_file, strerror (errno));
++ goto out;
++ }
++
++ if (ioctl (fd, VIDIOC_QUERYCAP, &v2cap) == 0) {
++ libhal_changeset_set_property_string (cset,
++ "video4linux.device", device_file);
++ libhal_changeset_set_property_string (cset,
++ "info.category", "video4linux");
++ libhal_changeset_set_property_string (cset,
++ "video4linux.version", "2");
++
++ libhal_changeset_set_property_string (cset,
++ "info.product", (const char *)v2cap.card);
++
++ libhal_device_add_capability (hfp_ctx, hfp_udi, "video4linux", NULL);
++ if ((v2cap.capabilities & V4L2_CAP_VIDEO_CAPTURE) > 0) {
++ libhal_device_add_capability (hfp_ctx, hfp_udi, "video4linux.video_capture", NULL);
++ } if ((v2cap.capabilities & V4L2_CAP_VIDEO_OUTPUT) > 0) {
++ libhal_device_add_capability (hfp_ctx, hfp_udi, "video4linux.video_output", NULL);
++ } if ((v2cap.capabilities & V4L2_CAP_VIDEO_OVERLAY) > 0) {
++ libhal_device_add_capability (hfp_ctx, hfp_udi, "video4linux.video_overlay", NULL);
++ } if ((v2cap.capabilities & V4L2_CAP_AUDIO) > 0) {
++ libhal_device_add_capability (hfp_ctx, hfp_udi, "video4linux.audio", NULL);
++ } if ((v2cap.capabilities & V4L2_CAP_TUNER) > 0) {
++ libhal_device_add_capability (hfp_ctx, hfp_udi, "video4linux.tuner", NULL);
++ } if ((v2cap.capabilities & V4L2_CAP_RADIO) > 0) {
++ libhal_device_add_capability (hfp_ctx, hfp_udi, "video4linux.radio", NULL);
++ }
++ } else {
++ hfp_info (("ioctl VIDIOC_QUERYCAP failed"));
++
++ if (ioctl (fd, VIDIOCGCAP, &v1cap) == 0) {
++ libhal_changeset_set_property_string (cset,
++ "video4linux.device", device_file);
++ libhal_changeset_set_property_string (cset,
++ "info.category", "video4linux");
++ libhal_changeset_set_property_string (cset,
++ "video4linux.version", "1");
++
++ libhal_changeset_set_property_string (cset,
++ "info.product", v1cap.name);
++
++ libhal_device_add_capability (hfp_ctx, hfp_udi, "video4linux", NULL);
++ if ((v1cap.type & VID_TYPE_CAPTURE) > 0) {
++ libhal_device_add_capability (hfp_ctx, hfp_udi, "video4linux.video_capture", NULL);
++ } if ((v1cap.type & VID_TYPE_OVERLAY) > 0) {
++ libhal_device_add_capability (hfp_ctx, hfp_udi, "video4linux.video_overlay", NULL);
++ } if (v1cap.audios > 0) {
++ libhal_device_add_capability (hfp_ctx, hfp_udi, "video4linux.audio", NULL);
++ } if ((v1cap.type & VID_TYPE_TUNER) > 0) {
++ libhal_device_add_capability (hfp_ctx, hfp_udi, "video4linux.tuner", NULL);
++ }
++ } else {
++ hfp_info (("ioctl VIDIOCGCAP failed; not a v4l device"));
++ }
++ }
++
++ libhal_device_commit_changeset (hfp_ctx, cset, NULL);
++ libhal_device_free_changeset (cset);
++
++ close (fd);
++
++ ret = 0;
++
++out:
++ g_free (device_file);
++ if (fd >= 0)
++ close (fd);
++
++ return ret;
++}
++
diff --git a/sysutils/hal/files/patch-hald_freebsd_probing_probe-volume.c b/sysutils/hal/files/patch-hald_freebsd_probing_probe-volume.c
index c92b7026654d..1ff3d020642a 100644
--- a/sysutils/hal/files/patch-hald_freebsd_probing_probe-volume.c
+++ b/sysutils/hal/files/patch-hald_freebsd_probing_probe-volume.c
@@ -1,74 +1,31 @@
---- hald/freebsd/probing/probe-volume.c.orig 2008-08-10 09:50:10.000000000 -0400
-+++ hald/freebsd/probing/probe-volume.c 2009-09-26 03:54:16.000000000 -0400
-@@ -36,7 +36,12 @@
- #include <sys/disk.h>
- #include <sys/cdio.h>
- #include <sys/param.h>
-+#include <sys/mount.h>
- #include <sys/types.h>
-+#include <ufs/ufs/ufsmount.h>
-+#include <ufs/ufs/dinode.h>
-+#include <ufs/ffs/fs.h>
-+#include <libufs.h>
- #include <isofs/cd9660/iso.h>
- #include <glib.h>
- #include <libvolume_id.h>
-@@ -502,7 +507,8 @@ main (int argc, char **argv)
- hfp_cdrom_free(cdrom);
- }
+--- hald/freebsd/probing/probe-volume.c.orig 2009-12-23 14:06:53.000000000 -0500
++++ hald/freebsd/probing/probe-volume.c 2009-12-23 14:07:01.000000000 -0500
+@@ -574,6 +574,7 @@ main (int argc, char **argv)
-- if (has_data)
-+ if (has_data && vid && (! strcmp(vid->type, "iso9660") ||
-+ ! strcmp(vid->type, "udf")))
- hf_probe_volume_advanced_disc_detect(fd);
- }
- else
-@@ -555,6 +561,48 @@ main (int argc, char **argv)
-
- libhal_device_set_property_bool(hfp_ctx, hfp_udi, "volume.ignore", has_children || is_swap, &hfp_error);
-
-+ if (vid && ! strcmp (vid->type, "ufs"))
-+ {
-+ struct uufsd ufsdisk;
-+
-+ if (ufs_disk_fillout(&ufsdisk, device_file) == 0)
-+ {
-+ char ufsid[64];
-+ char **ufs_devs = NULL;
-+ int num_udis;
-+ int i;
-+
-+ snprintf(ufsid, sizeof(ufsid), "%08x%08x", ufsdisk.d_fs.fs_id[0], ufsdisk.d_fs.fs_id[1]);
-+ libhal_device_set_property_string(hfp_ctx, hfp_udi, "volume.freebsd.ufsid", ufsid, &hfp_error);
+ snprintf(ufsid, sizeof(ufsid), "%08x%08x", ufsdisk.d_fs.fs_id[0], ufsdisk.d_fs.fs_id[1]);
+ libhal_device_set_property_string(hfp_ctx, hfp_udi, "volume.freebsd.ufsid", ufsid, &hfp_error);
+ dbus_error_free(&hfp_error);
-+ ufs_devs = libhal_manager_find_device_string_match(hfp_ctx,
-+ "volume.freebsd.ufsid",
-+ ufsid,
-+ &num_udis,
-+ &hfp_error);
-+ dbus_error_free(&hfp_error);
-+ for (i = 0; i < num_udis; i++)
-+ {
+ ufs_devs = libhal_manager_find_device_string_match(hfp_ctx,
+ "volume.freebsd.ufsid",
+ ufsid,
+@@ -582,16 +583,17 @@ main (int argc, char **argv)
+ dbus_error_free(&hfp_error);
+ for (i = 0; i < num_udis; i++)
+ {
+- if (ufs_devs[i] != NULL)
+ if (ufs_devs[i] != NULL && strcmp(ufs_devs[i], hfp_udi))
-+ {
-+ gboolean mounted;
-+
-+ mounted = libhal_device_get_property_bool(hfp_ctx, ufs_devs[i], "volume.is_mounted", &hfp_error);
+ {
+ gboolean mounted;
+
+ mounted = libhal_device_get_property_bool(hfp_ctx, ufs_devs[i], "volume.is_mounted", &hfp_error);
+- dbus_error_free(&hfp_error);
+ dbus_error_free(&hfp_error);
-+ if (mounted)
+ if (mounted)
+- {
+ {
-+ libhal_device_set_property_bool(hfp_ctx, hfp_udi, "volume.ignore", TRUE, &hfp_error);
-+ dbus_error_free(&hfp_error);
+ libhal_device_set_property_bool(hfp_ctx, hfp_udi, "volume.ignore", TRUE, &hfp_error);
+ dbus_error_free(&hfp_error);
+ break;
-+ }
-+ }
-+ }
-+ if (ufs_devs)
-+ libhal_free_string_array(ufs_devs);
-+ ufs_disk_close(&ufsdisk);
-+ }
-+ }
-+
- if (has_children)
- usage = "partitiontable";
- else if (is_swap)
+ }
+ }
+ }
diff --git a/sysutils/hal/files/patch-hald_hf-storage.c b/sysutils/hal/files/patch-hald_hf-storage.c
index a699ca827e57..162079ac7086 100644
--- a/sysutils/hal/files/patch-hald_hf-storage.c
+++ b/sysutils/hal/files/patch-hald_hf-storage.c
@@ -1,86 +1,27 @@
---- hald/freebsd/hf-storage.c.orig 2009-05-12 08:24:28.000000000 -0400
-+++ hald/freebsd/hf-storage.c 2009-10-24 02:30:22.000000000 -0400
-@@ -30,6 +30,8 @@
+--- hald/freebsd/hf-storage.c.orig 2009-08-24 08:42:29.000000000 -0400
++++ hald/freebsd/hf-storage.c 2010-02-26 08:29:38.000000000 -0500
+@@ -30,6 +30,7 @@
#include <limits.h>
#include <inttypes.h>
#include <string.h>
+#include <unistd.h>
-+#include <sys/param.h>
+ #include <sys/param.h>
#include <sys/types.h>
#include <sys/disklabel.h>
-
-@@ -38,6 +40,7 @@
-
- #include "hf-storage.h"
- #include "hf-block.h"
-+#include "hf-devd.h"
- #include "hf-devtree.h"
- #include "hf-volume.h"
- #include "hf-util.h"
-@@ -64,7 +67,7 @@ typedef struct
- static GNode *hf_storage_geom_tree = NULL;
- static GHashTable *hf_storage_geom_hash = NULL;
-
--static void hf_storage_init_geom (void);
-+static void hf_storage_init_geom (gboolean force);
- static gboolean hf_storage_device_has_addon (HalDevice *device);
-
- static void
-@@ -104,6 +107,8 @@ hf_storage_class_is_partitionable (const
- {
- return (! strcmp(geom_class, "MBR") ||
- ! strcmp(geom_class, "MBREXT") ||
-+ ! strcmp(geom_class, "PART") ||
-+ ! strcmp(geom_class, "JOURNAL") ||
- ! strcmp(geom_class, "GPT") ||
- ! strcmp(geom_class, "APPLE") || ! strcmp(geom_class, "SUN"));
- }
-@@ -117,6 +122,7 @@ hf_storage_geom_has_partitions (const Ge
- if (g_node_n_children(node) > 0)
- return TRUE;
-
-+ /*
- if (hf_storage_class_is_partitionable(geom_obj->class) &&
- g_node_next_sibling(node) != NULL)
- {
-@@ -135,6 +141,7 @@ hf_storage_geom_has_partitions (const Ge
- return TRUE;
- }
- }
-+ */
-
- return FALSE;
- }
-@@ -294,7 +301,7 @@ hf_storage_device_probe (HalDevice *devi
- {
- g_return_if_fail(HAL_IS_DEVICE(device));
-
-- hf_storage_init_geom();
-+ hf_storage_init_geom(TRUE);
-
- if (hf_runner_run_sync(device, 0, "hald-probe-storage",
- "HF_HAS_CHILDREN", HF_BOOL_TO_STRING(hf_storage_device_has_partitions(device)),
-@@ -403,13 +410,49 @@ hf_storage_parse_conftxt (const char *co
- continue;
+@@ -418,10 +419,41 @@ hf_storage_parse_conftxt (const char *co
+ continue;
}
-+ depth = atoi(fields[0]);
-+ hash = g_str_hash(fields[2]);
-+ if (g_hash_table_lookup(table, GUINT_TO_POINTER(hash)) != NULL)
-+ {
-+ g_strfreev(fields);
-+ curr_depth = depth;
-+ continue;
-+ }
-+
+ /* XXX This is a hack, but we need to ignore dynamic labels like
+ * ufsids which are created and destroyed based on whether or not
+ * the actual device is mounted or not. If we don't then strange
+ * things happen in applications like nautilus.
+ */
+ if ((! strcmp(fields[1], "LABEL") ||
-+ ! strcmp(fields[1], "BSD")) &&
-+ ! strncmp(fields[2], "ufsid/", strlen("ufsid/")))
++ ! strcmp(fields[1], "BSD") ||
++ ! strcmp(fields[1], "PART")) &&
++ ! (strncmp(fields[2], "ufsid/", strlen("ufsid/")) ||
++ ! strncmp(fields[2], "ufs/", strlen("ufs/"))))
+ {
+ g_strfreev(fields);
+ continue;
@@ -88,7 +29,6 @@
+
geom_obj = g_new0(Geom_Object, 1);
-- depth = atoi(fields[0]);
geom_obj->class = g_strdup(fields[1]);
geom_obj->dev = g_strdup(fields[2]);
+ /* Allow for spaces in label names. */
@@ -108,172 +48,32 @@
+ }
+
geom_obj->type = -1; /* We use -1 here to denote a missing type. */
-- hash = g_str_hash(geom_obj->dev);
geom_obj->hash = hash;
- if (g_strv_length(fields) >= 5)
-@@ -433,6 +476,30 @@ hf_storage_parse_conftxt (const char *co
- if (! strcmp (geom_obj->class, "GPT") ||
- ! strcmp (geom_obj->class, "APPLE"))
- geom_obj->str_type = g_strdup(fields[10]);
-+ else if (! strcmp (geom_obj->class, "PART"))
-+ {
-+ geom_obj->str_type = g_strdup(fields[10]);
-+ if (g_strv_length(fields) >= 15)
-+ {
-+ if (! strcmp(fields[13], "xt"))
-+ {
-+ geom_obj->type = atoi(fields[14]);
-+ if (! strcmp(fields[11], "xs"))
-+ {
-+ g_free(geom_obj->class);
-+ geom_obj->class = g_strdup(fields[12]);
-+ }
-+ }
-+ }
-+ }
-+ else if (fields[10][0] == '!')
-+ {
-+ char *nottype;
-+
-+ nottype = fields[10];
-+ nottype++;
-+ geom_obj->type = atoi(nottype);
-+ }
- else
- geom_obj->type = atoi(fields[10]);
- }
-@@ -541,17 +608,27 @@ hf_storage_device_rescan_real (HalDevice
- }
-
- static gboolean
--hf_storage_conftxt_timeout_cb (gpointer data)
-+hf_storage_devd_notify (const char *system,
-+ const char *subsystem,
-+ const char *type,
-+ const char *data)
- {
- static GSList *disks = NULL;
- static gboolean first = TRUE;
-+ gboolean handled = FALSE;
+@@ -589,11 +621,16 @@ hf_storage_devd_notify (const char *syst
char *conftxt;
GSList *new_disks;
-- if (hf_is_waiting)
-- return TRUE;
+- if (strcmp(system, "DEVFS") || strcmp(subsystem, "CDEV") ||
+ if (! data || strcmp(system, "DEVFS") || strcmp(subsystem, "CDEV") ||
-+ (strcmp(type, "CREATE") && strcmp(type, "DESTROY")))
-+ return FALSE;
-+
+ (strcmp(type, "CREATE") && strcmp(type, "DESTROY")))
+ return FALSE;
+
+ if (! strcmp(type, "DESTROY"))
+ g_usleep(G_USEC_PER_SEC/2);
-
++
conftxt = hf_get_string_sysctl(NULL, "kern.geom.conftxt");
+ if (! conftxt)
+ return FALSE;
new_disks = hf_storage_parse_conftxt(conftxt);
g_free(conftxt);
-@@ -572,6 +649,7 @@ hf_storage_conftxt_timeout_cb (gpointer
- if (! hf_storage_find_disk(disks, disk->name))
- {
- osspec_probe(); /* catch new disk(s) */
-+ handled = TRUE;
- break;
- }
- }
-@@ -593,7 +671,10 @@ hf_storage_conftxt_timeout_cb (gpointer
- device = hf_devtree_find_from_name(hald_get_gdl(), disk->name);
- if (device && hal_device_has_capability(device, "storage") &&
- ! hf_storage_device_has_addon(device))
-- hf_storage_device_rescan_real(device);
-+ {
-+ hf_storage_device_rescan_real(device);
-+ handled = TRUE;
-+ }
- }
- }
- else
-@@ -601,7 +682,10 @@ hf_storage_conftxt_timeout_cb (gpointer
- /* disk removed */
- device = hf_devtree_find_from_name(hald_get_gdl(), disk->name);
- if (device && hal_device_has_capability(device, "storage"))
-- hf_device_remove_tree(device);
-+ {
-+ hf_device_remove_tree(device);
-+ handled = TRUE;
-+ }
- }
- }
- }
-@@ -610,17 +694,30 @@ hf_storage_conftxt_timeout_cb (gpointer
- g_slist_free(disks);
- disks = new_disks;
+@@ -669,7 +706,7 @@ hf_storage_conftxt_timeout_cb (gpointer
+ if (hf_is_waiting)
+ return TRUE;
-+ return handled;
-+}
-+
-+#if __FreeBSD_version < 700110
-+static gboolean
-+hf_storage_conftxt_timeout_cb (gpointer data)
-+{
-+ if (hf_is_waiting)
-+ return TRUE;
-+
+- hf_storage_devd_notify("DEVFS", "CDEV", "CREATE", NULL);
+ hf_storage_devd_notify("DEVFS", "CDEV", "CREATE", "");
-+
- return TRUE;
- }
-+#endif
- static void
--hf_storage_init_geom (void)
-+hf_storage_init_geom (gboolean force)
- {
- char *conftxt;
- static gboolean inited = FALSE;
- GSList *disks;
-
-- if (inited)
-+ if (inited && ! force)
- return;
-
- conftxt = hf_get_string_sysctl(NULL, "kern.geom.conftxt");
-@@ -636,8 +733,10 @@ hf_storage_init_geom (void)
- static void
- hf_storage_init (void)
- {
-- hf_storage_init_geom();
-+ hf_storage_init_geom(FALSE);
-+#if __FreeBSD_version < 700110
- g_timeout_add(3000, hf_storage_conftxt_timeout_cb, NULL);
-+#endif
+ return TRUE;
}
-
- void
-@@ -719,8 +818,6 @@ hf_storage_device_add (HalDevice *device
- {
- g_return_if_fail(HAL_IS_DEVICE(device));
-
-- hf_storage_init_geom();
--
- if (hf_device_preprobe(device))
- {
- hf_storage_device_probe(device, FALSE);
-@@ -738,7 +835,7 @@ hf_storage_get_geoms (const char *devnam
-
- g_return_val_if_fail(devname != NULL, NULL);
-
-- hf_storage_init_geom();
-+ hf_storage_init_geom(FALSE);
-
- hash = g_str_hash(devname);
- node = g_node_find(hf_storage_geom_tree, G_PRE_ORDER, G_TRAVERSE_ALL,
-@@ -801,3 +898,7 @@ HFHandler hf_storage_handler = {
- .probe = hf_storage_probe,
- .device_rescan = hf_storage_device_rescan
- };
-+
-+HFDevdHandler hf_storage_devd_handler = {
-+ .notify = hf_storage_devd_notify
-+};
diff --git a/sysutils/hal/pkg-plist b/sysutils/hal/pkg-plist
index 0f42ef11f040..33f9be2a2397 100644
--- a/sysutils/hal/pkg-plist
+++ b/sysutils/hal/pkg-plist
@@ -22,10 +22,6 @@ lib/libhal.a
lib/libhal.la
lib/libhal.so
lib/libhal.so.1
-lib/libhald_freebsd_probe.a
-lib/libhald_freebsd_probe.la
-lib/libhald_freebsd_probe.so
-lib/libhald_freebsd_probe.so.0
libdata/pkgconfig/hal-storage.pc
libdata/pkgconfig/hal.pc
libexec/hal-storage-cleanup-all-mountpoints
@@ -70,6 +66,7 @@ libexec/hald-probe-smbios
libexec/hald-probe-storage
%%USB2%%libexec/hald-probe-usb2-device
%%USB2%%libexec/hald-probe-usb2-interface
+%%USB2%%libexec/hald-probe-video4linux
libexec/hald-probe-volume
libexec/hald-runner
sbin/hald
@@ -130,5 +127,5 @@ share/PolicyKit/policy/org.freedesktop.hal.wol.policy
@unexec rmdir /var/run/hald 2>/dev/null || true
@unexec rmdir /var/cache/hald 2>/dev/null || true
@unexec rmdir /var/cache 2>/dev/null || true
-@unexec /var/lib/hal 2>/dev/null || true
-@unexec /var/lib 2>/dev/null || true
+@unexec rmdir /var/lib/hal 2>/dev/null || true
+@unexec rmdir /var/lib 2>/dev/null || true