From 4cb6040aba2b2ff58db522d88e4dbd759e0cdbb1 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Sun, 13 Jan 2008 18:01:37 -0800 Subject: revbump testing time --- sys-apps/hal/Manifest | 8 + sys-apps/hal/files/0.5.10-hald.conf | 6 + sys-apps/hal/files/0.5.10-hald.rc | 39 +++ sys-apps/hal/files/96_plugdev_allow_send.patch | 42 +++ .../files/hal-0.5.9-hide-recovery-partitions.patch | 14 + sys-apps/hal/files/hal-unmount.dev | 17 ++ sys-apps/hal/hal-0.5.10-r1.ebuild | 311 +++++++++++++++++++++ 7 files changed, 437 insertions(+) create mode 100644 sys-apps/hal/Manifest create mode 100644 sys-apps/hal/files/0.5.10-hald.conf create mode 100644 sys-apps/hal/files/0.5.10-hald.rc create mode 100644 sys-apps/hal/files/96_plugdev_allow_send.patch create mode 100644 sys-apps/hal/files/hal-0.5.9-hide-recovery-partitions.patch create mode 100644 sys-apps/hal/files/hal-unmount.dev create mode 100644 sys-apps/hal/hal-0.5.10-r1.ebuild diff --git a/sys-apps/hal/Manifest b/sys-apps/hal/Manifest new file mode 100644 index 0000000..fee3b8b --- /dev/null +++ b/sys-apps/hal/Manifest @@ -0,0 +1,8 @@ +AUX 0.5.10-hald.conf 119 RMD160 06e205ba7fa8acfb6f68e84a247845a3ad028351 SHA1 c8a62a808c7f632154dda1686fe344a4a136e28f SHA256 b19e6df9c78b6f813405a7cbff20e049714db1a000e6b71ab2eca02d372d58af +AUX 0.5.10-hald.rc 1111 RMD160 e4b6aaf254a8b909781006151d40060990681412 SHA1 3ab3c81517ee286a6407ff7e068b1ab0e2695fe5 SHA256 6c36fb7d9c2e3f29e9f35332a7ea97ba85d977de4cdd6b355e3a7d6c2b82aca7 +AUX 96_plugdev_allow_send.patch 1781 RMD160 08f0cbb8960d4753d15d02c8694fae09a6ef2a02 SHA1 ad04ac23936ac8f1915b2d25cbc366d6db24cdc9 SHA256 090d666c8df223fc0ea30f473fa3d52412ef22aff85c1eebf609a3f00dbd652a +AUX hal-0.5.9-hide-recovery-partitions.patch 572 RMD160 bb59ba36f8db6724466cbe41404eb11a9bc4e256 SHA1 856113162e0bed503eab43374eae052637fd9d02 SHA256 85e586bbdb5e450d34b691a54d73d6bfa4beac3a38538cac289a104a01927bd7 +AUX hal-unmount.dev 397 RMD160 78286dd9527bbb421082e73b0d08e06cd514d275 SHA1 31169a28448fb1eb1dfee5d1699de9a02449a6b7 SHA256 747a4c483f8a558f2c75666e9547e539475f112363f1dbfc6ea19ca393c8e89b +DIST hal-0.5.10-gentoo-patches-1.tar.bz2 40483 RMD160 f080163f9a1afdc1d5c139044ada4b4abd904aac SHA1 700537330a1c54638060a3e005abcb5147b79841 SHA256 a6a81832e8b00215a52e27f35a4db193542ca8aae881fb2c0fed1a7c36db7c2f +DIST hal-0.5.10.tar.gz 1591146 RMD160 fafd90e671dbe95a8dd55a4ad257586a0289ef67 SHA1 8d67499df61590c11fd3203004d69e8a45abb8fa SHA256 5a71a18c40af2bac64f40f0b8add2b6789924b98d7f1cb79a0faf83cb77acb4c +EBUILD hal-0.5.10-r1.ebuild 9375 RMD160 a40559a3355a1dbace19695667f21ce50b35b23b SHA1 3ed3e62edd0929fc31e00049e47fd6744870652b SHA256 529e4f3520fbd900bb6e05335e9118362b0bc90f87f3e2c6989ff90cf24da67c diff --git a/sys-apps/hal/files/0.5.10-hald.conf b/sys-apps/hal/files/0.5.10-hald.conf new file mode 100644 index 0000000..941005a --- /dev/null +++ b/sys-apps/hal/files/0.5.10-hald.conf @@ -0,0 +1,6 @@ +# /etc/conf.d/hald + +# Should HAL be verbose to syslog? Useful for debugging +HALD_VERBOSE="no" + +# vim: ft=gentoo-conf-d diff --git a/sys-apps/hal/files/0.5.10-hald.rc b/sys-apps/hal/files/0.5.10-hald.rc new file mode 100644 index 0000000..f14e12a --- /dev/null +++ b/sys-apps/hal/files/0.5.10-hald.rc @@ -0,0 +1,39 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/files/0.5.10-hald.rc,v 1.2 2008/01/05 19:23:08 compnerd Exp $ + +depend() { + use logger acpid + need dbus + after coldplug dns nscd +} + +start() { + [ -z "${HALD_VERBOSE}" ] && HALD_VERBOSE="no" + ebegin "Starting Hardware Abstraction Layer daemon" + +# REAL_ROOT=`mount -fv / | cut -d' ' -f1` +# TEST_ROOT=`cat /proc/mounts | cut -d' ' -f1 | head -n 2 | tail -n 1` + +# if [ ! -e ${TEST_ROOT} ]; then +# echo "You need a ${TEST_ROOT} that points to your ${REAL_ROOT}" +# echo "See http://bugs.gentoo.org/show_bug.cgi?id=175243" +# echo "Quick fix is: ln -s ${REAL_ROOT} ${TEST_ROOT}" +# eend 2 +# fi + + if [ -f /proc/acpi/event ]; then + chgrp haldaemon /proc/acpi/event + chmod 440 /proc/acpi/event + fi + + start-stop-daemon --start -q --exec /usr/sbin/hald -- --use-syslog --verbose=${HALD_VERBOSE} + eend $? +} + +stop() { + ebegin "Stopping Hardware Abstraction Layer daemon" + start-stop-daemon --stop -q --pidfile /var/run/hald.pid + eend $? +} diff --git a/sys-apps/hal/files/96_plugdev_allow_send.patch b/sys-apps/hal/files/96_plugdev_allow_send.patch new file mode 100644 index 0000000..ea46278 --- /dev/null +++ b/sys-apps/hal/files/96_plugdev_allow_send.patch @@ -0,0 +1,42 @@ +Index: b/hal.conf +=================================================================== +--- a/hal.conf 2007-04-03 00:41:24.000000000 -0400 ++++ b/hal.conf 2007-04-06 20:36:53.000000000 -0400 +@@ -63,5 +63,16 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + +Index: b/hal.conf.in +=================================================================== +--- a/hal.conf.in 2007-03-07 16:52:19.000000000 -0500 ++++ b/hal.conf.in 2007-04-06 20:37:59.000000000 -0400 +@@ -63,5 +63,16 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + diff --git a/sys-apps/hal/files/hal-0.5.9-hide-recovery-partitions.patch b/sys-apps/hal/files/hal-0.5.9-hide-recovery-partitions.patch new file mode 100644 index 0000000..21ff6af --- /dev/null +++ b/sys-apps/hal/files/hal-0.5.9-hide-recovery-partitions.patch @@ -0,0 +1,14 @@ +--- hal-0.5.9/fdi/policy/10osvendor/20-storage-methods.fdi 2007-05-01 21:39:31.000000000 +0000 ++++ hal-0.5.9/fdi/policy/10osvendor/20-storage-methods.fdi 2007-05-01 21:51:14.000000000 +0000 +@@ -100,6 +100,11 @@ + + + ++ ++ ++ true ++ ++ + + + diff --git a/sys-apps/hal/files/hal-unmount.dev b/sys-apps/hal/files/hal-unmount.dev new file mode 100644 index 0000000..04d1fa8 --- /dev/null +++ b/sys-apps/hal/files/hal-unmount.dev @@ -0,0 +1,17 @@ +#!/bin/sh + +# sanity check. DEVNAME should start with a / +[ "$DEVNAME" != "${DEVNAME#/}" ] || exit 0 + +# Lazily unmount drives which are removed, but still mounted +if [ "$ACTION" = remove ] \ + && (grep -q "^$DEVNAME" /proc/mounts || grep -q "^$DEVNAME" /etc/mtab); then + if [ -x /usr/bin/pumount ] ; then + /usr/bin/pumount -l "$DEVNAME"; + else + /bin/umount -l "$DEVNAME"; + fi +fi + +exit 0 + diff --git a/sys-apps/hal/hal-0.5.10-r1.ebuild b/sys-apps/hal/hal-0.5.10-r1.ebuild new file mode 100644 index 0000000..aec339c --- /dev/null +++ b/sys-apps/hal/hal-0.5.10-r1.ebuild @@ -0,0 +1,311 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/hal-0.5.10.ebuild,v 1.8 2008/01/10 18:05:15 jer Exp $ + +inherit eutils linux-info autotools flag-o-matic + +PATCH_VER="1" + +DESCRIPTION="Hardware Abstraction Layer" +HOMEPAGE="http://www.freedesktop.org/Software/hal" +SRC_URI="http://hal.freedesktop.org/releases/${P}.tar.gz + http://dev.gentoo.org/~compnerd/files/${PN}/${P}-gentoo-patches-${PATCH_VER}.tar.bz2" + +LICENSE="|| ( GPL-2 AFL-2.0 )" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" + +KERNEL_IUSE="kernel_linux kernel_FreeBSD" +IUSE="acpi apm crypt debug dell disk-partition doc laptop selinux ${KERNEL_IUSE}" + +RDEPEND=">=dev-libs/glib-2.6 + >=dev-libs/dbus-glib-0.61 + >=dev-libs/expat-1.95.8 + >=sys-apps/pciutils-2.2.7-r1 + >=dev-libs/libusb-0.1.10a + >=dev-util/gperf-3.0.3 + sys-apps/usbutils + virtual/eject + amd64? ( >=sys-apps/dmidecode-2.7 ) + dell? ( >=sys-libs/libsmbios-0.13.4 ) + disk-partition? ( + || ( + ~sys-apps/parted-1.7.1 + ~sys-apps/parted-1.8.6 + ~sys-apps/parted-1.8.7 + ) + ) + ia64? ( >=sys-apps/dmidecode-2.7 ) + kernel_linux? ( + >=sys-fs/udev-111 + >=sys-apps/util-linux-2.13 + >=sys-kernel/linux-headers-2.6.19 + crypt? ( + || ( + >=sys-fs/cryptsetup-1.0.5 + >=sys-fs/cryptsetup-luks-1.0.1 + ) + ) + ) + kernel_FreeBSD? ( dev-libs/libvolume_id ) + x86? ( >=sys-apps/dmidecode-2.7 ) + selinux? ( sys-libs/libselinux sec-policy/selinux-hal )" +DEPEND="${RDEPEND} + dev-util/pkgconfig + >=dev-util/intltool-0.35 + >=dev-python/pyxf86config-0.3.34-r1 + doc? ( + app-doc/doxygen + app-text/docbook-sgml-utils + app-text/xmlto + dev-libs/libxml2 + )" +PDEPEND=">=app-misc/hal-info-20071011 + laptop? ( >=sys-power/pm-utils-0.99.3 )" + +## HAL Daemon drops privledges so we need group access to read disks +HALDAEMON_GROUPS_LINUX="haldaemon,plugdev,disk,cdrom,cdrw,floppy,usb" +HALDAEMON_GROUPS_FREEBSD="haldaemon,plugdev,operator" + +function notify_uevent() { + ewarn + ewarn "You must enable Kernel Userspace Events in your kernel." + ewarn "For this you need to enable 'Hotplug' under 'General Setup' and" + ewarn "basic networking. They are marked CONFIG_HOTPLUG and CONFIG_NET" + ewarn "in the config file." + ewarn + ebeep 5 +} + +function notify_inotify() { + ewarn + ewarn "You must enable the Inotify system in your kernel." + ewarn "For this you need to enable 'Inotify support for userspace'" + ewarn "in 'File systems'. It is marked CONFIG_INOTIFY_USER in the config file." + ewarn + ebeep 5 +} + +function notify_acpi_procfs() { + ewarn + ewarn "You must enable support for the ACPI proc files in your kernel." + ewarn "For this you need to enable '/proc/acpi files' in" + ewarn "'ACPI Support (Advanced Configuration and Power Interface) Support'." + ewarn "It is marked ewarn CONFIG_ACPI_PROCFS in the config file." + ewarn + ebeep 5 +} + +function notify_acpi_proc_event() { + ewarn + ewarn "You have not enabled support for the /proc/acpi/event interface." + ewarn "For this you need to enable '/proc/acpi/event support' in" + ewarn "ACPI Support (Advanced Configuration and Power Interface) Support" + ewarn + ebeep 5 +} + +pkg_setup() { + if use kernel_linux; then + kernel_is ge 2 6 19 || ewarn "HAL requires a kernel version 2.6.19 or newer" + + if ! ( linux_chkconfig_present HOTPLUG && linux_chkconfig_present NET ) + then + notify_uevent + fi + + linux_chkconfig_present INOTIFY_USER || notify_inotify + + if kernel_is lt 2 6 23 && use acpi ; then + linux_chkconfig_present ACPI_PROCFS || notify_acpi_procfs + linux_chkconfig_present ACPI_PROC_EVENT || notify_acpi_proc_event + fi + fi + + # http://devmanual.gentoo.org/ebuild-writing/functions/ + # http://bugs.gentoo.org/show_bug.cgi?id=191605 + + # 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) + if use kernel_linux; then + enewuser haldaemon -1 "-1" /dev/null ${HALDAEMON_GROUPS_LINUX} \ + || die "Problem adding haldaemon user" + elif use kernel_FreeBSD; then + enewuser haldaemon -1 "-1" /dev/null ${HALDAEMON_GROUPS_FREEBSD} \ + || die "Problem addding haldaemon user" + fi + + # Make sure that the haldaemon user is in the ${HALDAEMON_GROUPS} + # If users have a problem with this, let them file a bug + if [[ ${ROOT} == / ]] ; then + if use kernel_linux; then + usermod -G ${HALDAEMON_GROUPS_LINUX} haldaemon + elif use kernel_FreeBSD; then + pw usermod haldaemon -G ${HALDAEMON_GROUPS_FREEBSD} + fi + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + + EPATCH_MULTI_MSG="Applying Gentoo Patchset ..." \ + EPATCH_SUFFIX="patch" \ + EPATCH_SOURCE="${WORKDIR}/hal-0.5.10-patches/" \ + EPATCH_FORCE="yes" \ + epatch + + # Hide recovery partitions + epatch "${FILESDIR}/hal-0.5.9-hide-recovery-partitions.patch" + + # Enable plugdev support + epatch "${FILESDIR}/96_plugdev_allow_send.patch" + + eautoreconf +} + +src_compile() { + local acpi="$(use_enable acpi)" + local backend= + local hardware= + + append-flags -rdynamic + + if use kernel_linux ; then + backend="linux" + elif use kernel_FreeBSD ; then + backend="freebsd" + else + eerror "Invalid backend" + fi + + if use kernel_linux ; then + if use acpi ; then + # Using IBM ACPI and Toshiba ACPI results in double notification as this + # was merged into the Linux Kernel 2.6.22 + if kernel_is lt 2 6 22 ; then + acpi="$acpi --enable-acpi-ibm --enable-acpi-toshiba" + else + acpi="$acpi --disable-acpi-ibm --disable-acpi-toshiba" + fi + + acpi="$acpi --enable-acpi-proc --enable-acpi-acpid" + else + acpi="$acpi --disable-acpi-ibm --disable-acpi-toshiba" + acpi="$acpi --disable-acpi-proc --disable-acpi-acpid" + fi + + hardware="--with-cpufreq --with-usb-csr --with-keymaps" + use arm && hardware="$hardware --enable-omap" + + if use dell ; then + hardware="$hardware --with-dell-backlight" + else + hardware="$hardware --without-dell-backlight" + fi + else + hardware="--without-cpufreq --without-usb-csr --without-keymaps" + hardware="$hardware --disable-omap" + hardware="$hardware --without-dell-backlight" + hardware="$hardware --enable-acpi-ibm --enable-acpi-toshiba" + fi + + econf --with-backend=${backend} \ + --with-os-type=gentoo \ + --with-pid-file=/var/run/hald.pid \ + --with-hwdata=/usr/share/misc \ + --with-socket-dir=/var/run/hald \ + --enable-umount-helper \ + --enable-man-pages \ + --disable-policy-kit \ + --disable-console-kit \ + --disable-acl-management \ + --enable-pci \ + --enable-sonypic \ + $(use_enable apm) \ + $(use_enable arm pmu) \ + $(use_enable arm omap) \ + $(use_enable debug verbose-mode) \ + $(use_enable disk-partition parted) \ + $(use_enable doc docbook-docs) \ + $(use_enable doc doxygen-docs) \ + --docdir=/usr/share/doc/${PF} \ + --localstatedir=/var \ + ${acpi} ${hardware} \ + || die "configure failed" + + emake || die "make failed" +} + +src_install() { + make DESTDIR="${D}" install || die + dodoc AUTHORS ChangeLog NEWS README + + # hal umount for unclean unmounts + exeinto /lib/udev/ + newexe "${FILESDIR}"/hal-unmount.dev hal_unmount + + # initscript + newinitd "${FILESDIR}"/0.5.10-hald.rc hald + + # configuration + cp "${FILESDIR}"/0.5.10-hald.conf "${WORKDIR}"/ + + if use debug; then + sed -e 's:HALD_VERBOSE="no":HALD_VERBOSE="yes":' \ + -i "${WORKDIR}"/0.5.10-hald.conf + fi + newconfd "${WORKDIR}"/0.5.10-hald.conf hald + + # New Configuration Snippets + dodoc "${WORKDIR}/hal-0.5.10-extras/*" + + # Authomagic conversion! + "${WORKDIR}/hal-0.5.10-extras/migrate-xorg-to-fdi.py" 2> /dev/null > "${D}${ROOT}etc/hal/fdi/policy/10-x11-input.fdi" + + # We now create and keep /media here as both gnome-mount and pmount + # use these directories, to avoid collision. + keepdir /media + + # We also need to create and keep /etc/fdi/{information,policy,preprobe} + # or else hal bombs. + keepdir /etc/hal/fdi/{information,policy,preprobe} + + # HAL stores it's fdi cache in /var/lib/cache/hald + keepdir /var/lib/cache/hald + + # HAL keeps its unix socket here + keepdir /var/run/hald + keepdir /var/lib/hal +} + +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/ + + 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" + + elog "IF you have additional applications which consume ACPI events, you" + elog "should consider installing acpid to allow applications to share ACPI" + elog "events." + + elog "If you wish to use a non US layout, you may do so by executing:" + elog "setxkbmap or by utilizing your Desktop Environment's" + elog "Keyboard Layout Settings mechanism." + elog "Under GNOME, this is gnome-keyboard-properties, and under KDE" + elog "it is kxkb." + + elog "In order have suspend/hibernate function with HAL or apps that use HAL" + elog "(such as gnome-power-manager), you should build HAL with the laptop" + elog "useflag which will install pm-utils." +} -- cgit v1.2.3-65-gdbad