diff options
author | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2008-10-27 03:42:57 +0800 |
---|---|---|
committer | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2008-10-27 03:42:57 +0800 |
commit | c460de34c8a97fec7522b83576deb9d381496b13 (patch) | |
tree | 06e27b7a8b5ba3b810135cd8394685580a9c9d54 /sysutils/hal/files/patch-tools_hal-storage-shared.c | |
parent | c485145cd1aedb916b619b1908e7e90940873867 (diff) | |
download | marcuscom-ports-c460de34c8a97fec7522b83576deb9d381496b13.tar.gz marcuscom-ports-c460de34c8a97fec7522b83576deb9d381496b13.tar.zst marcuscom-ports-c460de34c8a97fec7522b83576deb9d381496b13.zip |
Re-add fuse support with some documentation and a helper script to make it
work. Also, temporarily revert the keyboard patch until X.Org 7.4 is
committed.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@11737 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'sysutils/hal/files/patch-tools_hal-storage-shared.c')
-rw-r--r-- | sysutils/hal/files/patch-tools_hal-storage-shared.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/sysutils/hal/files/patch-tools_hal-storage-shared.c b/sysutils/hal/files/patch-tools_hal-storage-shared.c new file mode 100644 index 000000000..1ed7fe907 --- /dev/null +++ b/sysutils/hal/files/patch-tools_hal-storage-shared.c @@ -0,0 +1,45 @@ +--- 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); |