summaryrefslogtreecommitdiffstats
path: root/sysutils/hal
diff options
context:
space:
mode:
authormarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2009-10-05 11:45:49 +0800
committermarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2009-10-05 11:45:49 +0800
commitd47f31db2219a90b72bfe92aecc54f3d5460648e (patch)
tree4930fe17c8b9bd2cdc67d2e101b293e2d227ebf8 /sysutils/hal
parent2e207bc02fce4d9d966186fdc891ffeb9f123950 (diff)
downloadmarcuscom-ports-d47f31db2219a90b72bfe92aecc54f3d5460648e.tar
marcuscom-ports-d47f31db2219a90b72bfe92aecc54f3d5460648e.tar.gz
marcuscom-ports-d47f31db2219a90b72bfe92aecc54f3d5460648e.tar.bz2
marcuscom-ports-d47f31db2219a90b72bfe92aecc54f3d5460648e.tar.lz
marcuscom-ports-d47f31db2219a90b72bfe92aecc54f3d5460648e.tar.xz
marcuscom-ports-d47f31db2219a90b72bfe92aecc54f3d5460648e.tar.zst
marcuscom-ports-d47f31db2219a90b72bfe92aecc54f3d5460648e.zip
Expand the ufsid check to include BSD types as well as LABEL.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@13091 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'sysutils/hal')
-rw-r--r--sysutils/hal/Makefile4
-rw-r--r--sysutils/hal/files/patch-hald_hf-storage.c27
2 files changed, 16 insertions, 15 deletions
diff --git a/sysutils/hal/Makefile b/sysutils/hal/Makefile
index 7f5c9fc3d..a175c2e85 100644
--- a/sysutils/hal/Makefile
+++ b/sysutils/hal/Makefile
@@ -3,12 +3,12 @@
# Whom: Joe Marcus Clarke <marcus@FreeBSD.org>
#
# $FreeBSD$
-# $MCom: ports/sysutils/hal/Makefile,v 1.67 2009/09/26 08:01:20 marcus Exp $
+# $MCom: ports/sysutils/hal/Makefile,v 1.68 2009/10/04 19:34:31 marcus Exp $
#
PORTNAME= hal
DISTVERSION= 0.5.13
-PORTREVISION= 9
+PORTREVISION= 10
CATEGORIES= sysutils
MASTER_SITES= http://hal.freedesktop.org/releases/
diff --git a/sysutils/hal/files/patch-hald_hf-storage.c b/sysutils/hal/files/patch-hald_hf-storage.c
index db2fdd405..b8ce958fb 100644
--- a/sysutils/hal/files/patch-hald_hf-storage.c
+++ b/sysutils/hal/files/patch-hald_hf-storage.c
@@ -1,5 +1,5 @@
--- hald/freebsd/hf-storage.c.orig 2009-05-12 08:24:28.000000000 -0400
-+++ hald/freebsd/hf-storage.c 2009-10-04 15:28:44.000000000 -0400
++++ hald/freebsd/hf-storage.c 2009-10-04 23:45:07.000000000 -0400
@@ -30,6 +30,8 @@
#include <limits.h>
#include <inttypes.h>
@@ -60,7 +60,7 @@
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,32 @@ hf_storage_parse_conftxt (const char *co
+@@ -403,13 +410,33 @@ hf_storage_parse_conftxt (const char *co
continue;
}
@@ -78,7 +78,8 @@
+ * the actual device is mounted or not. If we don't then strange
+ * things happen in applications like nautilus.
+ */
-+ if (! strcmp(fields[1], "LABEL") &&
++ if ((! strcmp(fields[1], "LABEL") ||
++ ! strcmp(fields[1], "BSD")) &&
+ ! strncmp(fields[2], "ufsid/", strlen("ufsid/")))
+ {
+ g_strfreev(fields);
@@ -95,7 +96,7 @@
geom_obj->hash = hash;
if (g_strv_length(fields) >= 5)
-@@ -433,6 +459,30 @@ hf_storage_parse_conftxt (const char *co
+@@ -433,6 +460,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]);
@@ -126,7 +127,7 @@
else
geom_obj->type = atoi(fields[10]);
}
-@@ -541,17 +591,27 @@ hf_storage_device_rescan_real (HalDevice
+@@ -541,17 +592,27 @@ hf_storage_device_rescan_real (HalDevice
}
static gboolean
@@ -157,7 +158,7 @@
new_disks = hf_storage_parse_conftxt(conftxt);
g_free(conftxt);
-@@ -572,6 +632,7 @@ hf_storage_conftxt_timeout_cb (gpointer
+@@ -572,6 +633,7 @@ hf_storage_conftxt_timeout_cb (gpointer
if (! hf_storage_find_disk(disks, disk->name))
{
osspec_probe(); /* catch new disk(s) */
@@ -165,7 +166,7 @@
break;
}
}
-@@ -593,7 +654,10 @@ hf_storage_conftxt_timeout_cb (gpointer
+@@ -593,7 +655,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))
@@ -177,7 +178,7 @@
}
}
else
-@@ -601,7 +665,10 @@ hf_storage_conftxt_timeout_cb (gpointer
+@@ -601,7 +666,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"))
@@ -189,7 +190,7 @@
}
}
}
-@@ -610,17 +677,30 @@ hf_storage_conftxt_timeout_cb (gpointer
+@@ -610,17 +678,30 @@ hf_storage_conftxt_timeout_cb (gpointer
g_slist_free(disks);
disks = new_disks;
@@ -222,7 +223,7 @@
return;
conftxt = hf_get_string_sysctl(NULL, "kern.geom.conftxt");
-@@ -636,8 +716,10 @@ hf_storage_init_geom (void)
+@@ -636,8 +717,10 @@ hf_storage_init_geom (void)
static void
hf_storage_init (void)
{
@@ -234,7 +235,7 @@
}
void
-@@ -719,8 +801,6 @@ hf_storage_device_add (HalDevice *device
+@@ -719,8 +802,6 @@ hf_storage_device_add (HalDevice *device
{
g_return_if_fail(HAL_IS_DEVICE(device));
@@ -243,7 +244,7 @@
if (hf_device_preprobe(device))
{
hf_storage_device_probe(device, FALSE);
-@@ -738,7 +818,7 @@ hf_storage_get_geoms (const char *devnam
+@@ -738,7 +819,7 @@ hf_storage_get_geoms (const char *devnam
g_return_val_if_fail(devname != NULL, NULL);
@@ -252,7 +253,7 @@
hash = g_str_hash(devname);
node = g_node_find(hf_storage_geom_tree, G_PRE_ORDER, G_TRAVERSE_ALL,
-@@ -801,3 +881,7 @@ HFHandler hf_storage_handler = {
+@@ -801,3 +882,7 @@ HFHandler hf_storage_handler = {
.probe = hf_storage_probe,
.device_rescan = hf_storage_device_rescan
};