diff options
author | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2009-11-30 04:05:12 +0800 |
---|---|---|
committer | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2009-11-30 04:05:12 +0800 |
commit | a3b5135851621cb514e7708d11f9dc82f851ea5c (patch) | |
tree | b2b32cc424aeb8dc4d13263958511bf8ca92bc34 /sysutils/hal/files | |
parent | 095098375dd5bb1d27d533ffc7dc27305e105c95 (diff) | |
download | marcuscom-ports-a3b5135851621cb514e7708d11f9dc82f851ea5c.tar marcuscom-ports-a3b5135851621cb514e7708d11f9dc82f851ea5c.tar.gz marcuscom-ports-a3b5135851621cb514e7708d11f9dc82f851ea5c.tar.bz2 marcuscom-ports-a3b5135851621cb514e7708d11f9dc82f851ea5c.tar.lz marcuscom-ports-a3b5135851621cb514e7708d11f9dc82f851ea5c.tar.xz marcuscom-ports-a3b5135851621cb514e7708d11f9dc82f851ea5c.tar.zst marcuscom-ports-a3b5135851621cb514e7708d11f9dc82f851ea5c.zip |
Remove these ports now that they are in the ports tree.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@13266 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'sysutils/hal/files')
44 files changed, 0 insertions, 4390 deletions
diff --git a/sysutils/hal/files/10-mouse-sysmouse.fdi b/sysutils/hal/files/10-mouse-sysmouse.fdi deleted file mode 100644 index cffd4f624..000000000 --- a/sysutils/hal/files/10-mouse-sysmouse.fdi +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<deviceinfo version="0.2"> - <device> - <match key="info.capabilities" contains="input.mouse"> - <append key="info.addons" type="strlist">hald-addon-mouse-sysmouse</append> - </match> - </device> -</deviceinfo> diff --git a/sysutils/hal/files/README.fuse b/sysutils/hal/files/README.fuse deleted file mode 100644 index 75adcab7d..000000000 --- a/sysutils/hal/files/README.fuse +++ /dev/null @@ -1,31 +0,0 @@ -Mounting Fuse File Systems with HAL ------------------------------------ - -$FreeBSD$ - -Hal supports mounting Fuse device-backed file systems (e.g. NTFS). To enable -this feature, copy the included %%LOCALBASE%%/share/hal/mount-fuse script -to /sbin. Make sure this script is executable. Edit the script, and change -the FUSE_HELPER environment variable to the name of the executable which -will actually mount the Fuse volume (e.g. for NTFS, this is ``ntfs-3g''). - -Finally, the script must be renamed to ``mount_FSNAME''. FSNAME is the name -of the file system type (e.g. for NTFS, this is ``ntfs''). If there is -already an executable in /sbin or /usr/sbin with this name, the -existing executable must be renamed or deleted. - -As is stated in the examples above, overriding FreeBSD's existing NTFS -support with Fuse's ntfs-3g is the most common use case for this. The -ntfs-3g Fuse driver uses different mount options than FreeBSD's included -mount_ntfs. GNOME transparently supports switching between ntfs and -ntfs-3g. Simply edit the following GConf key in the GNOME -Configuration Editor (i.e. gconf-editor): - -/system/storage/default_options/ntfs/fstype_override - -Set the value to ``ntfs-3g'', then add your desired ntfs-3g options to the -following GConf key: - -/system/storage/default_options/ntfs-3g/mount_options - -Other desktop systems may have similar options. diff --git a/sysutils/hal/files/extra-patch-tools_hal-storage-mount.c b/sysutils/hal/files/extra-patch-tools_hal-storage-mount.c deleted file mode 100644 index f505709e1..000000000 --- a/sysutils/hal/files/extra-patch-tools_hal-storage-mount.c +++ /dev/null @@ -1,25 +0,0 @@ ---- tools/hal-storage-mount.c.orig 2008-05-20 13:24:30.000000000 -0400 -+++ tools/hal-storage-mount.c 2008-05-20 13:30:14.000000000 -0400 -@@ -585,17 +585,11 @@ handle_mount (LibHalContext *hal_ctx, - explicit_mount_point_given = FALSE; - if (strlen (mount_point) == 0) { - char *p; -- -- if (label != NULL) { -- /* best - use label */ -- g_strlcpy (mount_point, label, sizeof (mount_point)); -- -- /* TODO: use drive type */ -- -- } else { -- /* fallback - use "disk" */ -- g_snprintf (mount_point, sizeof (mount_point), "%s", "disk"); -- } -+ char *basename; -+ -+ basename = g_path_get_basename (device); -+ g_strlcpy (mount_point, basename, sizeof (mount_point)); -+ g_free (basename); - - /* sanitize computed mount point name, e.g. replace invalid chars with '-' */ - p = mount_point; diff --git a/sysutils/hal/files/hald.in b/sysutils/hal/files/hald.in deleted file mode 100644 index d8367a371..000000000 --- a/sysutils/hal/files/hald.in +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# $MCom: ports/sysutils/hal/files/hald.in,v 1.16 2009/05/17 05:02:48 marcus Exp $ -# -# PROVIDE: hald -# REQUIRE: DAEMON usbd devd dbus moused -# -# Add the following line to /etc/rc.conf to enable the HAL daemon: -# -# hald_enable="YES" -# - -. %%RC_SUBR%% -. %%GNOME_SUBR%% - -hald_enable=${hald_enable-${gnome_enable}} -hald_flags=${hald_flags-""} - -name=hald -rcvar=`set_rcvar` - -command="%%PREFIX%%/sbin/hald" -pidfile="/var/run/${name}/${name}.pid" - -stop_postcmd="hald_postcmd" -start_precmd="hald_precmd" -start_cmd="hald_start" - -local_force_depend() -{ - _depend="$1" - if [ -f %%LOCALBASE%%/etc/rc.d/${_depend}.sh ]; then - _depend="${_depend}.sh" - fi - - if ! %%LOCALBASE%%/etc/rc.d/${_depend} forcestatus 1>/dev/null 2>&1 && - ! %%LOCALBASE%%/etc/rc.d/${_depend} forcestart; then - return 1 - fi - return 0 -} - -hald_precmd() -{ - if ! checkyesno dbus_enable - then - local_force_depend dbus || return 1 - fi - - chmod 0755 /var/cache - - mkdir -p $(dirname $pidfile) -} - -hald_postcmd() -{ - rm -f $pidfile -} - -hald_start() -{ - if ! checkyesno hald_enable ; then - return 0 - fi - echo "Starting ${name}." - - ( iter=0 - while ! ps -axoargs | grep "^/usr/libexec/getty " | grep -qv grep >/dev/null 2>&1; do - if [ ${iter} -eq 60 ]; then - break - fi - sleep 1 - iter=$(expr ${iter} + 1) - done - ${command} ${hald_flags} ) & -} - -load_rc_config ${name} -run_rc_command "$1" diff --git a/sysutils/hal/files/mount-fuse b/sysutils/hal/files/mount-fuse deleted file mode 100755 index a0ea8536e..000000000 --- a/sysutils/hal/files/mount-fuse +++ /dev/null @@ -1,153 +0,0 @@ -#!/bin/sh -# Wrapper script for FreeBSD and PC-BSD, which takes calls from HAL -# for running mount_ntfs, and performs it with a given FUSE helper. -################################################################### - -## Modify this next variable to point to the correct FUSE helper. -FUSE_HELPER="ntfs-3g" -## DO NOT modify anything below this. - -FUSEDB="/tmp" -if [ -n "${TMPDIR}" ] -then - FUSEDB=${TMPDIR} -fi - -FUSEDB="${FUSEDB}/.fuse-mnts" -MNTSTRING="" -OPTIONS="" -FOUNDOPT="0" -FOUNDU="0" -FOUNDG="0" -FOUNDBADARG="0" -HWDEV="" -FOUNDDEV="0" - -for i in $@ -do - if [ "$FOUNDOPT" = "1" ] - then - OPTIONS="${OPTIONS} -o ${i}" - elif [ "${FOUNDU}" = "1" ] - then - OPTIONS="${OPTIONS} -o uid=${i}" - elif [ "${FOUNDG}" = "1" ] - then - OPTIONS="${OPTIONS} -o gid=${i}" - elif [ "${FOUNDBADARG}" = "1" ] - then - # We have an invalid argument flag, so ignore it and following argument - FOUNDBADARG="0" - else - - if [ "${FOUNDDEV}" = "1" ] - then - # Save the mount-point, will be used later - MNTPOINT="${i}" - FOUNDDEV="2" - fi - - echo ${i}| grep -q "/dev" 2>/dev/null - if [ "$?" = "0" -a "${FOUNDDEV}" = "0" ] - then - FOUNDDEV="1" - # Lets check if we were given a fuse[] device - # or a real device name - echo "${i}" | grep -q "fuse" 2>/dev/null - if [ "$?" = "0" ] - then - # Lets save the old fuse device name we had saved - OLDFUSE="${i}" - - # Lets get the *real* device name for FUSE helper - REALHWDEV="`cat ${FUSEDB} | grep ${i} | cut -d '=' -f 2`" - - # Now lets change the string we will be saving - i="${REALHWDEV}" - else - # We are doing a first time mount of this device - - # Set the real device name for mounting - REALHWDEV="${i}" - fi - fi - - # Add the value to our mount string if it isn't any invalid flag - if [ "${i}" != "-o" -a "${i}" != "-u" -a "${i}" != "-C" -a "${i}" != "-g" -a "${i}" != "-m" -a "${i}" != "-a" -a "${i}" != "-i" -a "${i}" -a "-W" ] - then - MNTSTRING="${MNTSTRING} ${i}" - fi - - fi - - # Check if we are on a -u user id flag now - if [ "${i}" = "-u" ] - then - FOUNDU="1" - else - FOUNDU="0" - fi - - # Check if we are on a -g group id flag now - if [ "${i}" = "-g" ] - then - FOUNDG="1" - else - FOUNDG="0" - fi - - # Check if we are on a -o option - if [ "${i}" = "-o" ] - then - FOUNDOPT="1" - else - FOUNDOPT="0" - fi - - # Check if we are on some other invalid flag - if [ "${i}" = "-C" -o "${i}" = "-m" -o "${i}" = "-W" ] - then - FOUNDBADARG="1" - else - FOUNDBADARG="0" - fi -done - -# Save our final string which our FUSE helper will use -FINALSTRING="${MNTSTRING} ${OPTIONS}" - -# Check that fuse.ko is loaded -kldstat | grep -q fuse 2>/dev/null -if [ "$?" != "0" ] -then - kldload /usr/local/modules/fuse.ko -fi - -# Run the FUSE helper command now, with the options in the right order -${FUSE_HELPER} ${FINALSTRING} - -# If we have an OLDFUSE variable, lets clear it from the list -if [ ! -z "${OLDFUSE}" -a -e ${FUSEDB} ] -then - cat ${FUSEDB} | grep -v "${OLDFUSE}=" > /tmp/.newfuse - mv /tmp/.newfuse ${FUSEDB} -fi - -# Now lets figure out which fuse device was used and save it to DB -NEWFUSE="`mount | tr -s ' ' | grep \" ${MNTPOINT} \" | cut -d ' ' -f 1`" - -# Make sure we don't already have this fuse device listed -if [ -e ${FUSEDB} ] -then - cat ${FUSEDB} | grep -v "${NEWFUSE}=" > /tmp/.newfuse - mv /tmp/.newfuse ${FUSEDB} -else - touch ${FUSEDB} -fi - -# Save the fuse device to our DB -echo "${NEWFUSE}=${REALHWDEV}" >> ${FUSEDB} - - -# Finished! -exit 0 diff --git a/sysutils/hal/files/patch-Makefile.in b/sysutils/hal/files/patch-Makefile.in deleted file mode 100644 index 17d23980f..000000000 --- a/sysutils/hal/files/patch-Makefile.in +++ /dev/null @@ -1,25 +0,0 @@ ---- 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: - distclean-libtool: - -rm -f libtool - install-dist_dbusDATA: $(dist_dbus_DATA) -- @$(NORMAL_INSTALL) -- test -z "$(dbusdir)" || $(MKDIR_P) "$(DESTDIR)$(dbusdir)" -- @list='$(dist_dbus_DATA)'; 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"; \ -- done -+# @$(NORMAL_INSTALL) -+# test -z "$(dbusdir)" || $(MKDIR_P) "$(DESTDIR)$(dbusdir)" -+# @list='$(dist_dbus_DATA)'; 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"; \ -+# done - - uninstall-dist_dbusDATA: - @$(NORMAL_UNINSTALL) diff --git a/sysutils/hal/files/patch-config.h.in b/sysutils/hal/files/patch-config.h.in deleted file mode 100644 index e1208c9f9..000000000 --- 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 bc4df6d96..000000000 --- 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 84e12d187..000000000 --- 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-doc_Makefile.in b/sysutils/hal/files/patch-doc_Makefile.in deleted file mode 100644 index 9cd951720..000000000 --- a/sysutils/hal/files/patch-doc_Makefile.in +++ /dev/null @@ -1,11 +0,0 @@ ---- doc/Makefile.in.orig 2008-01-03 21:41:19.000000000 -0500 -+++ doc/Makefile.in 2008-01-03 21:41:31.000000000 -0500 -@@ -203,7 +203,7 @@ target_alias = @target_alias@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - EXTRA_DIST = TODO --SUBDIRS = api spec man -+SUBDIRS = spec man - MAINTAINERCLEANFILES = \ - *~ \ - Makefile.in diff --git a/sysutils/hal/files/patch-fdi_policy_10osvendor_10-power-mgmt-policy.fdi b/sysutils/hal/files/patch-fdi_policy_10osvendor_10-power-mgmt-policy.fdi deleted file mode 100644 index 1391709f8..000000000 --- a/sysutils/hal/files/patch-fdi_policy_10osvendor_10-power-mgmt-policy.fdi +++ /dev/null @@ -1,13 +0,0 @@ ---- fdi/policy/10osvendor/10-power-mgmt-policy.fdi.orig 2008-05-07 19:21:15.000000000 -0400 -+++ fdi/policy/10osvendor/10-power-mgmt-policy.fdi 2009-01-30 17:41:05.000000000 -0500 -@@ -10,7 +10,9 @@ - - <device> - <match key="power_management.type" string="acpi"> -- <append key="info.addons" type="strlist">hald-addon-acpi</append> -+ <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> -+ <append key="info.addons" type="strlist">hald-addon-acpi</append> -+ </match> - </match> - </device> - diff --git a/sysutils/hal/files/patch-fdi_policy_10osvendor_10-x11-input.fdi b/sysutils/hal/files/patch-fdi_policy_10osvendor_10-x11-input.fdi deleted file mode 100644 index bb18f3310..000000000 --- a/sysutils/hal/files/patch-fdi_policy_10osvendor_10-x11-input.fdi +++ /dev/null @@ -1,31 +0,0 @@ ---- fdi/policy/10osvendor/10-x11-input.fdi.orig 2009-06-26 03:28:39.000000000 -0400 -+++ fdi/policy/10osvendor/10-x11-input.fdi 2009-07-18 21:19:15.000000000 -0400 -@@ -7,15 +7,6 @@ - <merge key="input.x11_driver" type="string">evdev</merge> - </match> - -- <!-- FIXME: Support tablets too. --> -- <match key="info.capabilities" contains="input.mouse"> -- <merge key="input.x11_driver" type="string">mouse</merge> -- <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" -- string="Linux"> -- <merge key="input.x11_driver" type="string">evdev</merge> -- </match> -- </match> -- - <match key="info.capabilities" contains="input.tablet"> - <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" - string="Linux"> -@@ -23,10 +14,10 @@ - </match> - </match> - -- <match key="info.capabilities" contains="input.keys"> -+ <match key="info.capabilities" contains="input.keyboard"> - <!-- If we're using Linux, we use evdev by default (falling back to - keyboard otherwise). --> -- <merge key="input.x11_driver" type="string">keyboard</merge> -+ <merge key="input.x11_driver" type="string">kbd</merge> - <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" - string="Linux"> - <merge key="input.x11_driver" type="string">evdev</merge> 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 9a6b8c83d..000000000 --- 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 44dbf8adc..000000000 --- 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 f554c0650..000000000 --- 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 cf9d96346..000000000 --- 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: patch-hald_freebsd_addons_addon-mouse.c,v 1.4 2009-05-17 05:02:48 marcus Exp $ -+ * -+ * 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 deleted file mode 100644 index f19b7e92d..000000000 --- a/sysutils/hal/files/patch-hald_freebsd_addons_addon-storage.c +++ /dev/null @@ -1,371 +0,0 @@ ---- 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) - - if (hf_addon_storage_cdrom_eject_pressed(cdrom)) - { -- libhal_device_emit_condition(hfp_ctx, hfp_udi, "EjectPressed", "", &hfp_error); -- dbus_error_free(&hfp_error); -+ libhal_device_emit_condition(hfp_ctx, hfp_udi, "EjectPressed", "", NULL); - } - - hfp_cdrom_free(cdrom); -@@ -144,18 +150,142 @@ hf_addon_storage_update (void) - } - } - -- hfp_gettimeofday(&addon.next_update); -- hfp_timevaladd(&addon.next_update, &addon.update_interval); -- - return has_media; - } - -+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]; -+ -+ 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; - -+ if (check_lock_state) -+ { -+ boolean should_poll; -+ -+ 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", 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; -+ } -+ -+ 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 - -- libhal_device_rescan(hfp_ctx, hfp_udi, &hfp_error); -- dbus_error_free(&hfp_error); -+ libhal_device_rescan(hfp_ctx, hfp_udi, NULL); - 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") || - ! strcmp(driver, "cd")))) && ! strcmp(removable, "true"); -- addon.had_media = hf_addon_storage_update(); -+ 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); - - if (! libhal_device_claim_interface(hfp_ctx, - hfp_udi, -@@ -268,52 +442,43 @@ main (int argc, char **argv) - " <method name=\"CheckForMedia\">\n" - " <arg name=\"call_had_sideeffect\" direction=\"out\" type=\"b\"/>\n" - " </method>\n", -- &hfp_error)) -+ NULL)) - { - hfp_critical("Cannot claim interface 'org.freedesktop.Hal.Device.Storage.Removable'"); - goto end; - } -- dbus_error_free(&hfp_error); - - 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 488283e02..000000000 --- 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 a21095a5f..000000000 --- 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 e2921c58a..000000000 --- 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 29ed38a7e..000000000 --- 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 afc07d63a..000000000 --- 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 bc7ad871d..000000000 --- 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 ca673b5bc..000000000 --- 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 deleted file mode 100644 index a3289fbab..000000000 --- a/sysutils/hal/files/patch-hald_freebsd_hf-usb.c +++ /dev/null @@ -1,178 +0,0 @@ ---- 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, - 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); - else if ((devname = hf_usb_get_devname(di, "ums"))) /* USB mouse */ - hf_device_set_input(device, "mouse", 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"); -+} 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 32861e202..000000000 --- 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 deleted file mode 100644 index 9ba97b4e9..000000000 --- a/sysutils/hal/files/patch-hald_freebsd_hf-usb2.c +++ /dev/null @@ -1,315 +0,0 @@ ---- hald/freebsd/hf-usb2.c.orig 2009-11-21 19:57:40.000000000 -0500 -+++ hald/freebsd/hf-usb2.c 2009-11-21 19:58:07.000000000 -0500 -@@ -0,0 +1,312 @@ -+/*************************************************************************** -+ * CVSID: $Id: patch-hald_freebsd_hf-usb2.c,v 1.4 2009-11-22 01:04:37 marcus Exp $ -+ * -+ * 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_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"); -+ -+ 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); -+ 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_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) -+ 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", -+ 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) -+ return FALSE; -+ -+ if (strncmp(name, "ugen", strlen("ugen")) && -+ ! 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, -+ "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", -+ 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; -+} -+ -+static gboolean -+hf_usb2_devd_notify (const char *system, -+ const char *subsystem, -+ const char *type, -+ const char *data) -+{ -+ if (! data || strcmp(system, "DEVFS") || strcmp(subsystem, "CDEV") || -+ (strcmp(type, "CREATE") && strcmp(type, "DESTROY"))) -+ return FALSE; -+ -+ if (! strncmp(data, "cdev=ugen", strlen("cdev=ugen")) || -+ ! strncmp(data, "cdev=usb", strlen("cdev=usb"))) -+ return TRUE; -+ -+ 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, -+ .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 ae3149585..000000000 --- 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: patch-hald_freebsd_hf-usb2.h,v 1.1 2009-05-17 05:02:48 marcus Exp $ -+ * -+ * 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 deleted file mode 100644 index 6ee93b139..000000000 --- a/sysutils/hal/files/patch-hald_freebsd_hf-volume.c +++ /dev/null @@ -1,105 +0,0 @@ ---- 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) -+ { -+ char *ret; -+ -+ ret = g_strdup(fields[1]); -+ g_strfreev(fields); -+ g_strfreev(lines); -+ 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); 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 ade6d2a73..000000000 --- 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 deleted file mode 100644 index 091af3c1c..000000000 --- a/sysutils/hal/files/patch-hald_freebsd_probing_Makefile.am +++ /dev/null @@ -1,57 +0,0 @@ ---- 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 - 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@ -+ -+hald_probe_usb2_interface_SOURCES = probe-usb2-interface.c -+hald_probe_usb2_interface_LDADD = \ -+ $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la \ -+ @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 diff --git a/sysutils/hal/files/patch-hald_freebsd_probing_Makefile.in b/sysutils/hal/files/patch-hald_freebsd_probing_Makefile.in deleted file mode 100644 index 4a8ea2f05..000000000 --- a/sysutils/hal/files/patch-hald_freebsd_probing_Makefile.in +++ /dev/null @@ -1,170 +0,0 @@ ---- 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 -+ - 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 - 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) - am__installdirs = "$(DESTDIR)$(libexecdir)" - 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_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) \ - $(hald_probe_smbios_SOURCES) $(hald_probe_storage_SOURCES) \ -+ $(am__hald_probe_usb2_device_SOURCES_DIST) \ -+ $(am__hald_probe_usb2_interface_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 - -+@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_usb2_interface_SOURCES = probe-usb2-interface.c -+@HAVE_LIBUSB20_TRUE@hald_probe_usb2_interface_LDADD = \ -+@HAVE_LIBUSB20_TRUE@ $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la \ -+@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-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) -+ $(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 - 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) -+ $(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) -+ $(LINK) $(hald_probe_usb2_interface_OBJECTS) $(hald_probe_usb2_interface_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 - -+@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_volume-freebsd_dvd_rw_utils.Po@am__quote@ -@@ -375,6 +431,8 @@ distclean-compile: - @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@ - - .c.o: - @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@@ -397,6 +455,20 @@ distclean-compile: - @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 -+@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 -+@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@ 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@ $(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 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 ee627c451..000000000 --- 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 fd69bf341..000000000 --- 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: patch-hald_freebsd_probing_probe-mouse.c,v 1.1 2009-05-17 05:02:48 marcus Exp $ -+ * -+ * 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 d67ce03bf..000000000 --- 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 a81b93ca8..000000000 --- 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: patch-hald_freebsd_probing_probe-usb2-device.c,v 1.3 2009-05-30 07:25:09 marcus Exp $ -+ * -+ * 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 deleted file mode 100644 index d8010b3e7..000000000 --- a/sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-interface.c +++ /dev/null @@ -1,143 +0,0 @@ ---- hald/freebsd/probing/probe-usb2-interface.c.orig 2009-02-24 00:36:27.000000000 -0500 -+++ hald/freebsd/probing/probe-usb2-interface.c 2009-02-24 00:39:42.000000000 -0500 -@@ -0,0 +1,140 @@ -+/*************************************************************************** -+ * CVSID: $Id: patch-hald_freebsd_probing_probe-usb2-interface.c,v 1.1 2009-05-17 05:02:48 marcus Exp $ -+ * -+ * 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; -+ -+ busstr = getenv("HAL_PROP_USB_DEVICE_BUS_NUMBER"); -+ if (! busstr) -+ goto end; -+ -+ addrstr = getenv("HAL_PROP_USB_DEVICE_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; -+} diff --git a/sysutils/hal/files/patch-hald_freebsd_probing_probe-volume.c b/sysutils/hal/files/patch-hald_freebsd_probing_probe-volume.c deleted file mode 100644 index c92b70266..000000000 --- a/sysutils/hal/files/patch-hald_freebsd_probing_probe-volume.c +++ /dev/null @@ -1,74 +0,0 @@ ---- 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); - } - -- 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); -+ 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++) -+ { -+ 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); -+ dbus_error_free(&hfp_error); -+ if (mounted) -+ { -+ 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 deleted file mode 100644 index a699ca827..000000000 --- a/sysutils/hal/files/patch-hald_hf-storage.c +++ /dev/null @@ -1,279 +0,0 @@ ---- 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 @@ - #include <limits.h> - #include <inttypes.h> - #include <string.h> -+#include <unistd.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; - } - -+ 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/"))) -+ { -+ g_strfreev(fields); -+ continue; -+ } -+ - 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. */ -+ if (! strcmp(fields[1], "LABEL")) -+ { -+ int j; -+ -+ for (j = 3; g_strv_length(fields) > (j + 2) && -+ strcmp(fields[j + 2], "i"); j++) -+ { -+ char *tmp; -+ -+ tmp = g_strdup_printf("%s %s", geom_obj->dev, fields[j]); -+ g_free(geom_obj->dev); -+ geom_obj->dev = tmp; -+ } -+ } -+ - 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; - char *conftxt; - GSList *new_disks; - -- if (hf_is_waiting) -- return TRUE; -+ if (! data || strcmp(system, "DEVFS") || strcmp(subsystem, "CDEV") || -+ (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; - -+ 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", ""); -+ - 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 - } - - void -@@ -719,8 +818,6 @@ hf_storage_device_add (HalDevice *device - { - g_return_if_fail(HAL_IS_DEVICE(device)); - -- hf_storage_init_geom(); -- - if (hf_device_preprobe(device)) - { - hf_storage_device_probe(device, FALSE); -@@ -738,7 +835,7 @@ hf_storage_get_geoms (const char *devnam - - g_return_val_if_fail(devname != NULL, NULL); - -- hf_storage_init_geom(); -+ hf_storage_init_geom(FALSE); - - hash = g_str_hash(devname); - node = g_node_find(hf_storage_geom_tree, G_PRE_ORDER, G_TRAVERSE_ALL, -@@ -801,3 +898,7 @@ HFHandler hf_storage_handler = { - .probe = hf_storage_probe, - .device_rescan = hf_storage_device_rescan - }; -+ -+HFDevdHandler hf_storage_devd_handler = { -+ .notify = hf_storage_devd_notify -+}; diff --git a/sysutils/hal/files/patch-tools_hal-storage-eject.c b/sysutils/hal/files/patch-tools_hal-storage-eject.c deleted file mode 100644 index 730e2a076..000000000 --- a/sysutils/hal/files/patch-tools_hal-storage-eject.c +++ /dev/null @@ -1,11 +0,0 @@ ---- tools/hal-storage-eject.c.orig 2008-10-27 13:23:11.000000000 -0400 -+++ tools/hal-storage-eject.c 2008-10-27 13:23:23.000000000 -0400 -@@ -190,7 +190,7 @@ main (int argc, char *argv[]) - unknown_eject_error ("Cannot obtain lock on /media/.hal-mtab"); - } - handle_unmount (hal_ctx, -- udi, volume_to_unmount, drive, -+ volume_udi, volume_to_unmount, drive, - libhal_volume_get_device_file (volume_to_unmount), - invoked_by_uid, invoked_by_syscon_name, - FALSE, FALSE); /* use neither lazy nor force */ diff --git a/sysutils/hal/files/patch-tools_hal-storage-mount.c b/sysutils/hal/files/patch-tools_hal-storage-mount.c deleted file mode 100644 index 390d35111..000000000 --- a/sysutils/hal/files/patch-tools_hal-storage-mount.c +++ /dev/null @@ -1,91 +0,0 @@ ---- tools/hal-storage-mount.c.orig 2008-05-07 19:24:23.000000000 -0400 -+++ tools/hal-storage-mount.c 2008-10-09 00:54:34.000000000 -0400 -@@ -56,8 +56,9 @@ - - #ifdef __FreeBSD__ - #define MOUNT "/sbin/mount" --#define MOUNT_OPTIONS "noexec,nosuid" -+#define MOUNT_OPTIONS "nosuid" - #define MOUNT_TYPE_OPT "-t" -+#define FUSE_DB "/tmp/.fuse-mnts" - #elif sun - #define MOUNT "/sbin/mount" - #define MOUNT_OPTIONS "noexec,nosuid" -@@ -255,6 +256,51 @@ out: - return f; - } - -+#ifdef __FreeBSD__ -+static char * -+resolve_fuse (const char *special) -+{ -+ gchar *contents; -+ gchar **lines; -+ gsize len; -+ int i; -+ -+ if (! g_file_get_contents (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) { -+ g_strfreev (fields); -+ g_strfreev (lines); -+ return g_strdup (fields[1]); -+ } -+ } -+ g_strfreev (fields); -+ } -+ -+ g_strfreev (lines); -+ -+ return g_strdup (special); -+} -+#endif -+ -+static char * -+resolve_special (const char *special) -+{ -+#ifdef __FreeBSD__ -+ if (strstr(special, "fuse")) -+ return resolve_fuse (special); -+#endif -+ return g_strdup (special); -+} -+ - static LibHalVolume * - volume_findby (LibHalContext *hal_ctx, const char *property, const char *value) - { -@@ -400,18 +446,20 @@ device_is_mounted (const char *device, c - unknown_error ("Cannot open /etc/mtab or equivalent"); - } - while (((entry = mtab_next (handle, mount_point)) != NULL) && (ret == FALSE)) { -- char *resolved; -+ char *resolved, *rspecial; - - resolved = resolve_symlink (entry); -+ rspecial = resolve_special (resolved); -+ g_free (resolved); - #ifdef DEBUG -- printf ("/proc/mounts: device %s -> %s \n", entry, resolved); -+ printf ("/proc/mounts: device %s -> %s \n", entry, rspecial); - #endif -- if (strcmp (device, resolved) == 0) { -- printf ("%s (-> %s) found in mount list. Not mounting.\n", entry, resolved); -+ if (strcmp (device, rspecial) == 0) { -+ printf ("%s (-> %s) found in mount list. Not mounting.\n", entry, rspecial); - ret = TRUE; - } - -- g_free (resolved); -+ g_free (rspecial); - } - mtab_close (handle); - return ret; diff --git a/sysutils/hal/files/patch-tools_hal-storage-shared.c b/sysutils/hal/files/patch-tools_hal-storage-shared.c deleted file mode 100644 index 1ed7fe907..000000000 --- a/sysutils/hal/files/patch-tools_hal-storage-shared.c +++ /dev/null @@ -1,45 +0,0 @@ ---- tools/hal-storage-shared.c.orig 2008-05-07 19:24:24.000000000 -0400 -+++ tools/hal-storage-shared.c 2008-10-20 14:53:35.000000000 -0400 -@@ -297,6 +297,9 @@ handle_unmount (LibHalContext *hal_ctx, - char *mount_point_to_unmount; - gboolean mounted_by_other_uid; - FILE *hal_mtab_new; -+#ifdef __FreeBSD__ -+ char *rdevice = NULL; -+#endif - - #ifdef DEBUG - printf ("device = %s\n", device); -@@ -473,7 +476,20 @@ line_found: - #endif - if (option_force) - args[na++] = "-f"; -- args[na++] = (char *) device; -+#ifdef __FreeBSD__ -+ dbus_error_init (&error); -+ if (libhal_device_property_exists (hal_ctx, udi, "volume.freebsd.real_mounted_device", NULL)) { -+ rdevice = libhal_device_get_property_string (hal_ctx, udi, "volume.freebsd.real_mounted_device", &error); -+ if (dbus_error_is_set (&error)) { -+ dbus_error_free (&error); -+ unknown_error ("Error while getting volume.freebsd.real_mounted_device"); -+ } -+ } -+ if (rdevice) -+ args[na++] = rdevice; -+ else -+#endif -+ args[na++] = (char *) device; - args[na++] = NULL; - - #ifdef DEBUG -@@ -497,6 +513,10 @@ line_found: - unknown_error ("Cannot spawn " UMOUNT); - } - -+#ifdef __FreeBSD__ -+ g_free (rdevice); -+#endif -+ - /* check if unmount was succesful */ - if (exit_status != 0) { - printf ("%s error %d, stdout='%s', stderr='%s'\n", UMOUNT, exit_status, sout, serr); diff --git a/sysutils/hal/files/pkg-deinstall.in b/sysutils/hal/files/pkg-deinstall.in deleted file mode 100644 index 4650d60fe..000000000 --- a/sysutils/hal/files/pkg-deinstall.in +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -[ "$2" != DEINSTALL ] && exit 0 - -USER=haldaemon - -%%LOCALBASE%%/bin/polkit-auth --user ${USER} --revoke \ - org.freedesktop.policykit.read - -for pair in %%RC_FILES%%; do - file=`echo $pair | cut -f 1 -d :` - destdir=`echo $pair | cut -f 2 -d :` - - if cmp -s %%DATADIR%%/dist/$file $destdir/$file; then - rm -f $destdir/$file - fi -done diff --git a/sysutils/hal/files/pkg-install.in b/sysutils/hal/files/pkg-install.in deleted file mode 100644 index 253eef1f0..000000000 --- a/sysutils/hal/files/pkg-install.in +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -case $2 in -POST-INSTALL) - USER=haldaemon - GROUP=${USER} - - /usr/bin/install -d -o ${USER} -g ${GROUP} /var/run/hald - /usr/bin/install -d -o ${USER} -g ${GROUP} /var/cache/hald - /usr/bin/install -d -o ${USER} -g ${GROUP} /var/lib/hal - %%LOCALBASE%%/bin/polkit-auth --user ${USER} --grant \ - org.freedesktop.policykit.read - - for pair in %%RC_FILES%%; do - file=`echo $pair | cut -f 1 -d :` - destdir=`echo $pair | cut -f 2 -d :` - - if [ ! -f $destdir/$file ]; then - mkdir -p $destdir - cp -p %%DATADIR%%/dist/$file $destdir/$file - fi - done - exit 0 - ;; -esac |