summaryrefslogtreecommitdiff
path: root/sysutils/hal/files
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/hal/files')
-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
33 files changed, 1050 insertions, 3629 deletions
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
-+};