diff options
Diffstat (limited to 'sysutils/hal/files')
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, µ ) == 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 -+}; |