summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/hal')
-rw-r--r--sys-apps/hal/ChangeLog12
-rw-r--r--sys-apps/hal/files/digest-hal-0.5.7.1-r23
-rw-r--r--sys-apps/hal/files/hal-0.5.7.1-hibernate-fix.patch12
-rw-r--r--sys-apps/hal/files/hal-0.5.7.1-ignored-volumes.patch65
-rw-r--r--sys-apps/hal/hal-0.5.7.1-r1.ebuild4
-rw-r--r--sys-apps/hal/hal-0.5.7.1-r2.ebuild194
6 files changed, 287 insertions, 3 deletions
diff --git a/sys-apps/hal/ChangeLog b/sys-apps/hal/ChangeLog
index 37ca3ae42e95..f515dce0864b 100644
--- a/sys-apps/hal/ChangeLog
+++ b/sys-apps/hal/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for sys-apps/hal
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/ChangeLog,v 1.107 2006/10/31 03:05:21 christel Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/ChangeLog,v 1.108 2006/11/15 21:02:48 cardoe Exp $
+
+*hal-0.5.7.1-r2 (15 Nov 2006)
+
+ 15 Nov 2006; Doug Goldstein <cardoe@gentoo.org>
+ +files/hal-0.5.7.1-hibernate-fix.patch,
+ +files/hal-0.5.7.1-ignored-volumes.patch, hal-0.5.7.1-r1.ebuild,
+ +hal-0.5.7.1-r2.ebuild:
+ Fixing bug #155275, bug #147867, bug #140666 (the HAL parts not the KDE
+ parts of it), bug #133743, and refactored patch from bug #146910 so I don't
+ have to kill Ivan and Fabio.
31 Oct 2006; <christel@gentoo.org> hal-0.5.7-r3.ebuild:
Alpha stable
diff --git a/sys-apps/hal/files/digest-hal-0.5.7.1-r2 b/sys-apps/hal/files/digest-hal-0.5.7.1-r2
new file mode 100644
index 000000000000..3042516ecf0a
--- /dev/null
+++ b/sys-apps/hal/files/digest-hal-0.5.7.1-r2
@@ -0,0 +1,3 @@
+MD5 d7a7741808ba130f8aff3f5d3b5689e4 hal-0.5.7.1.tar.gz 1503156
+RMD160 2861818b29546bd3628b1bda3d41238cf644c644 hal-0.5.7.1.tar.gz 1503156
+SHA256 f15320c1ec3e5c89307fc0a6fbf75b6619de12c15ce8cc1a689e7bc3f2c0831b hal-0.5.7.1.tar.gz 1503156
diff --git a/sys-apps/hal/files/hal-0.5.7.1-hibernate-fix.patch b/sys-apps/hal/files/hal-0.5.7.1-hibernate-fix.patch
new file mode 100644
index 000000000000..71a299b713d0
--- /dev/null
+++ b/sys-apps/hal/files/hal-0.5.7.1-hibernate-fix.patch
@@ -0,0 +1,12 @@
+--- tools/hal-system-power-suspend 2006-02-19 00:00:55.000000000 +0100
++++ tools/hal-system-power-suspend2 2006-09-23 11:22:42.000000000 +0200
+@@ -62,6 +62,9 @@
+ elif [ -x "/usr/sbin/pmi" ] ; then
+ /usr/sbin/pmi action suspend force
+ RET=$?
++ elif [ -x "/usr/sbin/hibernate-ram" ] ; then
++ /usr/sbin/hibernate-ram
++ RET=$?
+ elif [ -w "/sys/power/state" ] ; then
+ # Use the raw kernel sysfs interface
+ echo "mem" > /sys/power/state
diff --git a/sys-apps/hal/files/hal-0.5.7.1-ignored-volumes.patch b/sys-apps/hal/files/hal-0.5.7.1-ignored-volumes.patch
new file mode 100644
index 000000000000..a0cc0fd3023d
--- /dev/null
+++ b/sys-apps/hal/files/hal-0.5.7.1-ignored-volumes.patch
@@ -0,0 +1,65 @@
+--- hal-0.5.7.1/fdi/policy/10osvendor/20-storage-methods.fdi 2006-02-22 15:15:33.000000000
+0100
++++ hal-0.5.7.1/fdi/policy/10osvendor/20-storage-methods.fdi 2006-10-09 10:46:36.000000000
+0200
+@@ -63,21 +63,54 @@
+ </match>
+
+
++ <match key="volume.fsusage" string="crypto">
++
++ <!-- Here follow volumes we specifically want to ignore - it is the -->
++ <!-- responsibility of software higher in the stack (e.g. gnome-vfs) -->
++ <!-- amd mount programs (e.g. Mount() on HAL) to respect volume.ignore -->
++ <merge key="volume.ignore" type="bool">false</merge>
++ <match key="@block.storage_device:storage.hotpluggable" bool="false">
++ <match key="@block.storage_device:storage.removable" bool="false">
++ <merge key="volume.ignore" type="bool">true</merge>
++
++ <match key="volume.is_mounted" bool="true">
++ <!-- Show /media/ drives -->
++ <match key="volume.mount_point" compare_gt="/media">
++ <match key="volume.mount_point" compare_lt="/media0">
++ <merge key="volume.ignore" type="bool">false</merge>
++ </match>
++ </match>
++ </match>
++ </match>
++ </match>
++ </match>
++
+ <match key="volume.fsusage" string="filesystem">
+
+ <!-- Here follow volumes we specifically want to ignore - it is the -->
+ <!-- responsibility of software higher in the stack (e.g. gnome-vfs) -->
+ <!-- amd mount programs (e.g. Mount() on HAL) to respect volume.ignore -->
+ <merge key="volume.ignore" type="bool">false</merge>
++
++ <!-- Should always ignore Apple Bootstrap partitions (it would be -->
++ <!-- a security hole to mount it) - TODO: should use the bootable -->
++ <!-- flag from the Mac partition table instead -->
++ <match key="volume.fstype" string="hfs">
++ <match key="volume.label" string="bootstrap">
++ <merge key="volume.ignore" type="bool">true</merge>
++ </match>
++ </match>
++
+ <match key="@block.storage_device:storage.hotpluggable" bool="false">
+ <match key="@block.storage_device:storage.removable" bool="false">
++ <merge key="volume.ignore" type="bool">true</merge>
+
+- <!-- Should always ignore Apple Bootstrap partitions (it would be -->
+- <!-- a security hole to mount it) - TODO: should use the bootable -->
+- <!-- flag from the Mac partition table instead -->
+- <match key="volume.fstype" string="hfs">
+- <match key="volume.label" string="bootstrap">
+- <merge key="volume.ignore" type="bool">true</merge>
++ <match key="volume.is_mounted" bool="true">
++ <!-- Show /media/ drives -->
++ <match key="volume.mount_point" compare_gt="/media">
++ <match key="volume.mount_point" compare_lt="/media0">
++ <merge key="volume.ignore" type="bool">false</merge>
++ </match>
+ </match>
+ </match>
+
diff --git a/sys-apps/hal/hal-0.5.7.1-r1.ebuild b/sys-apps/hal/hal-0.5.7.1-r1.ebuild
index 5515c76184f1..13374354e2bb 100644
--- a/sys-apps/hal/hal-0.5.7.1-r1.ebuild
+++ b/sys-apps/hal/hal-0.5.7.1-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/hal-0.5.7.1-r1.ebuild,v 1.4 2006/10/16 17:48:16 genstef Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/hal-0.5.7.1-r1.ebuild,v 1.5 2006/11/15 21:02:48 cardoe Exp $
inherit eutils linux-info debug
@@ -14,7 +14,7 @@ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
IUSE="acpi crypt debug doc dmi pcmcia selinux"
RDEPEND=">=dev-libs/glib-2.6
- || ( dev-libs/dbus-glib sys-apps/dbus )
+ || ( >=dev-libs/dbus-glib-0.71 <sys-apps/dbus-0.90 )
>=sys-fs/udev-078
>=sys-apps/util-linux-2.12r
|| ( >=sys-kernel/linux-headers-2.6 >=sys-kernel/mips-headers-2.6 )
diff --git a/sys-apps/hal/hal-0.5.7.1-r2.ebuild b/sys-apps/hal/hal-0.5.7.1-r2.ebuild
new file mode 100644
index 000000000000..6436a54e2cc7
--- /dev/null
+++ b/sys-apps/hal/hal-0.5.7.1-r2.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/hal-0.5.7.1-r2.ebuild,v 1.1 2006/11/15 21:02:48 cardoe Exp $
+
+inherit eutils linux-info debug
+
+DESCRIPTION="Hardware Abstraction Layer"
+HOMEPAGE="http://www.freedesktop.org/Software/hal"
+SRC_URI="http://freedesktop.org/~david/dist/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 AFL-2.0 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE="acpi crypt debug doc dmi pcmcia selinux"
+
+RDEPEND=">=dev-libs/glib-2.6
+ || ( >=dev-libs/dbus-glib-0.71 <sys-apps/dbus-0.90 )
+ >=sys-fs/udev-078
+ >=sys-apps/util-linux-2.12r
+ || ( >=sys-kernel/linux-headers-2.6 >=sys-kernel/mips-headers-2.6 )
+ dev-libs/expat
+ sys-libs/libcap
+ sys-apps/pciutils
+ dev-libs/libusb
+ sys-apps/hotplug
+ virtual/eject
+ dmi? ( >=sys-apps/dmidecode-2.7 )
+ crypt? ( >=sys-fs/cryptsetup-luks-1.0.1 )
+ selinux? ( sys-libs/libselinux )"
+
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ >=dev-util/intltool-0.29
+ doc? ( app-doc/doxygen app-text/docbook-sgml-utils )"
+
+## HAL Daemon drops privledges so we need group access to read disks
+HALDAEMON_GROUPS="haldaemon,plugdev,disk,cdrom,cdrw,floppy,usb"
+
+function notify_uevent() {
+ eerror
+ eerror "You must enable Kernel Userspace Events in your kernel."
+ eerror "This can be set under 'General Setup'. It is marked as"
+ eerror "CONFIG_KOBJECT_UEVENT in the config file."
+ eerror
+ ebeep 5
+}
+
+function notify_uevent_2_6_16() {
+ eerror
+ eerror "You must enable Kernel Userspace Events in your kernel."
+ eerror "For this you need to enable 'Hotplug' under 'General Setup' and"
+ eerror "basic networking. They are marked CONFIG_HOTPLUG and CONFIG_NET"
+ eerror "in the config file."
+ eerror
+ ebeep 5
+}
+
+function notify_procfs() {
+ eerror
+ eerror "You must enable the proc filesystem in your kernel."
+ eerror "For this you need to enable '/proc file system support' under"
+ eerror "'Pseudo filesystems' in 'File systems'. It is marked"
+ eerror "CONFIG_PROC_FS in the config file."
+ eerror
+ ebeep 5
+}
+
+pkg_setup() {
+ get_version || eerror "Unable to calculate Linux Kernel version"
+
+ kernel_is ge 2 6 15 || eerror "HAL requires a kernel version 2.6.15 or newer"
+
+ if kernel_is lt 2 6 16 ; then
+ linux_chkconfig_present KOBJECT_UEVENT || notify_uevent
+ else
+ (linux_chkconfig_present HOTPLUG && linux_chkconfig_present NET) \
+ || notify_uevent_2_6_16
+ fi
+
+ if use acpi ; then
+ linux_chkconfig_present PROC_FS || notify_procfs
+ fi
+
+ if [ -d ${ROOT}/etc/hal/device.d ]; then
+ eerror "HAL 0.5.x will not run with the HAL 0.4.x series of"
+ eerror "/etc/hal/device.d/ so please remove this directory"
+ eerror "with rm -rf /etc/hal/device.d/ and then re-emerge."
+ eerror "This is due to configuration protection of /etc/"
+ die "remove /etc/hal/device.d/"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # handle ignored volumes properly
+ epatch "${FILESDIR}"/${PN}-0.5.7.1-ignored-volumes.patch
+
+ # Fix bash in hald scripts
+ epatch "${FILESDIR}"/${PN}-0.5.7-hald-scripts.patch
+
+ # probe partition table
+ epatch "${FILESDIR}"/${PN}-0.5.7-part-table.patch
+
+ # fix pmu support crash
+ epatch "${FILESDIR}"/${PN}-0.5.7-pmu-fix.patch
+
+ # unclean unmount
+ epatch "${FILESDIR}"/${PN}-0.5.7-unclean-unmount-r1.patch
+
+ # allow plugdev group people to mount
+ epatch "${FILESDIR}"/${PN}-0.5.7-plugdev-allow-send.patch
+
+ # rescan devices on resume
+ epatch "${FILESDIR}"/${PN}-0.5.7-rescan-on-resume.patch
+
+ # detect hibernate-ram script as well
+ epatch "${FILESDIR}"/${PN}-0.5.7-hibernate.patch
+
+ # dbus deprecated dbus_connection_disconnect
+ epatch "${FILESDIR}"/${PN}-0.5.7.1-dbus-close.patch
+
+ # sr driver fix
+ epatch "${FILESDIR}"/${PN}-0.5.7.1-sr-driver.patch
+
+ # hibernate sequence fix
+ epatch "${FILESDIR}"/${PN}-0.5.7.1-hibernate-fix.patch
+}
+
+src_compile() {
+ econf \
+ --with-doc-dir=/usr/share/doc/${PF} \
+ --with-os-type=gentoo \
+ --with-pid-file=/var/run/hald.pid \
+ --enable-hotplug-map \
+ $(use_enable debug verbose-mode) \
+ $(use_enable pcmcia pcmcia-support) \
+ $(use_enable acpi acpi-proc) \
+ $(use_enable doc docbook-docs) \
+ $(use_enable doc doxygen-docs) \
+ $(use_enable selinux) \
+ || die "configure failed"
+
+ emake || die "make failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog NEWS README
+
+ # remove dep on gnome-python
+ mv "${D}"/usr/bin/hal-device-manager "${D}"/usr/share/hal/device-manager/
+
+ # hal umount for unclean unmounts
+ exeinto /lib/udev/
+ newexe "${FILESDIR}"/hal-unmount.dev hal_unmount
+
+ # initscript
+ newinitd "${FILESDIR}"/0.5-hald.rc hald
+
+ # Script to unmount devices if they are yanked out (from upstream)
+ exeinto /etc/dev.d/default
+ doexe "${FILESDIR}"/hal-unmount.dev
+
+ # We now create and keep /media here as both gnome-mount and pmount
+ # use these directories, to avoid collision.
+ dodir /media
+ keepdir /media
+}
+
+pkg_postinst() {
+ # Despite what people keep changing this location. Either one works.. it doesn't matter
+ # http://dev.gentoo.org/~plasmaroo/devmanual/ebuild-writing/functions/
+
+ # Create groups for hotplugging and HAL
+ enewgroup haldaemon || die "Problem adding haldaemon group"
+ enewgroup plugdev || die "Problem adding plugdev group"
+
+ # HAL drops priviledges by default now ...
+ # ... so we must make sure it can read disk/cdrom info (ie. be in ${HALDAEMON_GROUPS} groups)
+ enewuser haldaemon -1 "-1" /dev/null ${HALDAEMON_GROUPS} || die "Problem adding haldaemon user"
+
+ # Make sure that the haldaemon user is in the ${HALDAEMON_GROUPS}
+ # If users have a problem with this, let them file a bug
+ usermod -G ${HALDAEMON_GROUPS} haldaemon
+
+ elog "The HAL daemon needs to be running for certain applications to"
+ elog "work. Suggested is to add the init script to your start-up"
+ elog "scripts, this should be done like this :"
+ elog "\`rc-update add hald default\`"
+ echo
+ elog "Looking for automounting support? Add yourself to the plugdev group"
+}