diff options
Diffstat (limited to 'sys-apps/hal')
-rw-r--r-- | sys-apps/hal/ChangeLog | 12 | ||||
-rw-r--r-- | sys-apps/hal/files/digest-hal-0.5.7.1-r2 | 3 | ||||
-rw-r--r-- | sys-apps/hal/files/hal-0.5.7.1-hibernate-fix.patch | 12 | ||||
-rw-r--r-- | sys-apps/hal/files/hal-0.5.7.1-ignored-volumes.patch | 65 | ||||
-rw-r--r-- | sys-apps/hal/hal-0.5.7.1-r1.ebuild | 4 | ||||
-rw-r--r-- | sys-apps/hal/hal-0.5.7.1-r2.ebuild | 194 |
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" +} |