Fixed bug #133743 and bug #161057
authorDoug Goldstein <cardoe@gentoo.org>
Thu, 18 Jan 2007 05:34:42 +0000 (05:34 +0000)
committerDoug Goldstein <cardoe@gentoo.org>
Thu, 18 Jan 2007 05:34:42 +0000 (05:34 +0000)
Package-Manager: portage-2.1.2

sys-apps/hal/ChangeLog
sys-apps/hal/files/digest-hal-0.5.7.1-r3 [new file with mode: 0644]
sys-apps/hal/files/hal-0.5.7.1-hibernate-fix-r1.patch [new file with mode: 0644]
sys-apps/hal/hal-0.5.7.1-r2.ebuild
sys-apps/hal/hal-0.5.7.1-r3.ebuild [new file with mode: 0644]

index dfe746a9edeae9ebe3071ab4e8b3fa4da3edd697..ed673d0b535bf8874d287cf127f963ad381b631f 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for sys-apps/hal
 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/ChangeLog,v 1.113 2007/01/05 04:41:12 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/ChangeLog,v 1.114 2007/01/18 05:34:42 cardoe Exp $
+
+*hal-0.5.7.1-r3 (18 Jan 2007)
+
+  18 Jan 2007; Doug Goldstein <cardoe@gentoo.org>
+  +files/hal-0.5.7.1-hibernate-fix-r1.patch, -hal-0.5.7.1-r1.ebuild,
+  hal-0.5.7.1-r2.ebuild, +hal-0.5.7.1-r3.ebuild:
+  Fixed bug #133743 and bug #161057
 
   05 Jan 2007; Diego Pettenò <flameeyes@gentoo.org> hal-0.5.5.1-r3.ebuild,
   hal-0.5.7-r3.ebuild, hal-0.5.7.1-r1.ebuild, hal-0.5.7.1-r2.ebuild:
diff --git a/sys-apps/hal/files/digest-hal-0.5.7.1-r3 b/sys-apps/hal/files/digest-hal-0.5.7.1-r3
new file mode 100644 (file)
index 0000000..3042516
--- /dev/null
@@ -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-r1.patch b/sys-apps/hal/files/hal-0.5.7.1-hibernate-fix-r1.patch
new file mode 100644 (file)
index 0000000..71a299b
--- /dev/null
@@ -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
index 5f0753cf60c0d91752eb19bfc316b7825be35cc9..512717f97bdac67010bd58525708fc0fa1270534 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2007 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.4 2007/01/05 04:41:12 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/hal-0.5.7.1-r2.ebuild,v 1.5 2007/01/18 05:34:42 cardoe Exp $
 
 inherit eutils linux-info
 
@@ -130,10 +130,19 @@ src_unpack() {
 }
 
 src_compile() {
+       if [ -r "${ROOT}/usr/share/misc/pci.ids.gz" ] ; then
+               hwdata="${ROOT}/usr/share/misc/pci.ids.gz"
+       elif [ -r "${ROOT}/usr/share/misc/pci.ids" ] ; then
+               hwdata="${ROOT}/usr/share/misc/pci.ids"
+       else
+               die "pci.ids file not found. please file a bug @ bugs.gentoo.org"
+       fi
+
        econf \
                --with-doc-dir=/usr/share/doc/${PF} \
                --with-os-type=gentoo \
                --with-pid-file=/var/run/hald.pid \
+               --with-data=${hwdata}
                --enable-hotplug-map \
                $(use_enable debug verbose-mode) \
                $(use_enable pcmcia pcmcia-support) \
diff --git a/sys-apps/hal/hal-0.5.7.1-r3.ebuild b/sys-apps/hal/hal-0.5.7.1-r3.ebuild
new file mode 100644 (file)
index 0000000..9ee23aa
--- /dev/null
@@ -0,0 +1,204 @@
+# Copyright 1999-2007 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-r3.ebuild,v 1.1 2007/01/18 05:34:42 cardoe Exp $
+
+inherit eutils linux-info
+
+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-apps/dbus-0.60 ) )
+       >=sys-fs/udev-083
+       >=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-base
+       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-r1.patch
+}
+
+src_compile() {
+       if [ -r "${ROOT}/usr/share/misc/pci.ids.gz" ] ; then
+               hwdata="${ROOT}/usr/share/misc/pci.ids.gz"
+       elif [ -r "${ROOT}/usr/share/misc/pci.ids" ] ; then
+               hwdata="${ROOT}/usr/share/misc/pci.ids"
+       else
+               die "pci.ids file not found. please file a bug @ bugs.gentoo.org"
+       fi
+
+       econf \
+               --with-doc-dir=/usr/share/doc/${PF} \
+               --with-os-type=gentoo \
+               --with-pid-file=/var/run/hald.pid \
+               --with-data=${hwdata}
+               --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"
+}