Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Sep 2012 18:17:59 +0000 (UTC)
From:      Koop Mast <kwm@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r305045 - in head/sysutils/hal: . files
Message-ID:  <201209291817.q8TIHx1J071264@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kwm
Date: Sat Sep 29 18:17:59 2012
New Revision: 305045
URL: http://svn.freebsd.org/changeset/ports/305045

Log:
  Make sure /var is populated correctly before hal is started, like dbus does
  already in its rc.d script. [1]
  Don't list entries twice, set some more details about storage devices like
  the linux backend does. [2]
  
  PR:		ports/171568 [1]
  PR:		ports/171727 [2]
  Submitted by:	Norbert Koch <nkoch@demig.de> [1], avilla@ [2]
  Reviewed by:	marcus@

Added:
  head/sysutils/hal/files/patch-hald_freebsd_hf-drm.c   (contents, props changed)
  head/sysutils/hal/files/patch-hald_freebsd_probing_probe-storage.c   (contents, props changed)
Modified:
  head/sysutils/hal/Makefile   (contents, props changed)
  head/sysutils/hal/files/hald.in   (contents, props changed)

Modified: head/sysutils/hal/Makefile
==============================================================================
--- head/sysutils/hal/Makefile	Sat Sep 29 18:10:12 2012	(r305044)
+++ head/sysutils/hal/Makefile	Sat Sep 29 18:17:59 2012	(r305045)
@@ -8,7 +8,7 @@
 
 PORTNAME=	hal
 DISTVERSION=	0.5.14
-PORTREVISION=	19
+PORTREVISION=	20
 CATEGORIES=	sysutils
 MASTER_SITES=	http://hal.freedesktop.org/releases/
 

Modified: head/sysutils/hal/files/hald.in
==============================================================================
--- head/sysutils/hal/files/hald.in	Sat Sep 29 18:10:12 2012	(r305044)
+++ head/sysutils/hal/files/hald.in	Sat Sep 29 18:17:59 2012	(r305045)
@@ -41,6 +41,43 @@ local_force_depend()
    return 0
 }
 
+init_var_policykit()
+{
+  local USER=polkit
+  local GROUP=${USER}
+  local PREFIX=/usr/local
+
+  /usr/bin/install -d -o root -m 0770 -g ${GROUP} /var/run/PolicyKit
+  /usr/bin/install -d -o root -m 0770 -g ${GROUP} /var/lib/PolicyKit
+  /usr/bin/install -d -o ${USER} -m 0755 -g wheel /var/lib/PolicyKit-public
+  /bin/mkdir -p /var/lib/misc
+  /usr/bin/touch -f /var/lib/misc/PolicyKit.reload
+  /usr/sbin/chown ${USER}:${GROUP} /var/lib/misc/PolicyKit.reload
+  /bin/chmod 0664 /var/lib/misc/PolicyKit.reload
+}
+
+init_var_polkit()
+{
+  mkdir -p /var/lib/polkit-1/localauthority
+  for i in 10-vendor.d 20-org.d 30-site.d 50-local.d 90-mandatory.d
+  do
+    mkdir -p /var/lib/polkit-1/localauthority/${i}
+  done
+  chmod 0700 /var/lib/polkit-1
+}
+
+init_var_hal()
+{
+  local USER=haldaemon
+  local 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
+  /usr/local/bin/polkit-auth --user ${USER} --grant \
+          org.freedesktop.policykit.read 1> /dev/null 2>&1
+}
+
 hald_precmd()
 {
     if ! checkyesno dbus_enable
@@ -48,6 +85,10 @@ hald_precmd()
 	local_force_depend dbus || return 1
     fi
 
+    init_var_policykit
+    init_var_polkit
+    init_var_hal
+
     chmod 0755 /var/cache
 
     mkdir -p $(dirname $pidfile)

Added: head/sysutils/hal/files/patch-hald_freebsd_hf-drm.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/hal/files/patch-hald_freebsd_hf-drm.c	Sat Sep 29 18:17:59 2012	(r305045)
@@ -0,0 +1,15 @@
+--- hald/freebsd/hf-drm.c.orig	2008-08-10 15:50:10.000000000 +0200
++++ hald/freebsd/hf-drm.c	2012-09-27 12:04:28.000000000 +0200
+@@ -234,6 +234,12 @@
+   {
+     HalDevice *parent = HAL_DEVICE(l->data);
+ 
++    if (hf_device_store_match(hald_get_gdl(),
++			      "info.parent", HAL_PROPERTY_TYPE_STRING, hal_device_get_udi(parent),
++			      "info.subsystem", HAL_PROPERTY_TYPE_STRING, "drm",
++			      NULL))
++      continue;
++
+     if (! hal_device_property_get_bool(parent, "info.ignore"))
+       {
+         Card *card;

Added: head/sysutils/hal/files/patch-hald_freebsd_probing_probe-storage.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/hal/files/patch-hald_freebsd_probing_probe-storage.c	Sat Sep 29 18:17:59 2012	(r305045)
@@ -0,0 +1,39 @@
+--- hald/freebsd/probing/probe-storage.c.orig	2009-08-24 14:42:29.000000000 +0200
++++ hald/freebsd/probing/probe-storage.c	2012-09-27 12:03:02.000000000 +0200
+@@ -236,7 +236,27 @@
+ 
+       hfp_cdrom_free(cdrom);
+     }
+-  else if (! has_children) /* by definition, if it has children it has no fs */
++  else
++    {
++      int fd;
++      off_t size;
++
++      fd = open(device_file, O_RDONLY | O_NONBLOCK);
++      if (fd > -1)
++	{
++	  libhal_device_set_property_bool(hfp_ctx, hfp_udi, "storage.removable.media_available", TRUE, &hfp_error);
++	  if (ioctl (fd, DIOCGMEDIASIZE, &size) == 0)
++	    {
++	      libhal_device_set_property_uint64(hfp_ctx, hfp_udi, "storage.removable.media_size", size, &hfp_error);
++	    }
++	  close(fd);
++	}
++      else
++	{
++	  libhal_device_set_property_bool(hfp_ctx, hfp_udi, "storage.removable.media_available", FALSE, &hfp_error);
++	}
++
++      if (! has_children) /* by definition, if it has children it has no fs */
+     {
+       struct volume_id *vid;
+ 
+@@ -249,6 +269,7 @@
+ 
+       volume_id_close(vid);
+     }
++    }
+ 
+  end:
+   return ret;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209291817.q8TIHx1J071264>