summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2006-09-16 17:40:16 +0000
committerDoug Goldstein <cardoe@gentoo.org>2006-09-16 17:40:16 +0000
commit5e0af9c754522ee07e25580c80ddd513eb4789d5 (patch)
tree87dfb755c40813e800e3d98c50e7fba1d5f86420 /sys-apps/hal
parentmasking new HAL patch (diff)
downloadgentoo-2-5e0af9c754522ee07e25580c80ddd513eb4789d5.tar.gz
gentoo-2-5e0af9c754522ee07e25580c80ddd513eb4789d5.tar.bz2
gentoo-2-5e0af9c754522ee07e25580c80ddd513eb4789d5.zip
patch to fix sr driver based drives. bug #147598
(Portage version: 2.1.1)
Diffstat (limited to 'sys-apps/hal')
-rw-r--r--sys-apps/hal/ChangeLog8
-rw-r--r--sys-apps/hal/files/digest-hal-0.5.7.1-r13
-rw-r--r--sys-apps/hal/files/hal-0.5.7.1-sr-driver.patch13
-rw-r--r--sys-apps/hal/hal-0.5.7.1-r1.ebuild193
4 files changed, 216 insertions, 1 deletions
diff --git a/sys-apps/hal/ChangeLog b/sys-apps/hal/ChangeLog
index 338fd1fd70a8..a8dace1e983e 100644
--- a/sys-apps/hal/ChangeLog
+++ b/sys-apps/hal/ChangeLog
@@ -1,6 +1,12 @@
# 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.102 2006/09/04 15:50:02 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/ChangeLog,v 1.103 2006/09/16 17:40:16 cardoe Exp $
+
+*hal-0.5.7.1-r1 (16 Sep 2006)
+
+ 16 Sep 2006; Doug Goldstein <cardoe@gentoo.org>
+ +files/hal-0.5.7.1-sr-driver.patch, +hal-0.5.7.1-r1.ebuild:
+ patch to fix sr driver based drives. bug #147598
04 Sep 2006; Doug Goldstein <cardoe@gentoo.org>
-files/hal-0.4.7-dont_add_device_twice-r1.patch, files/0.5-hald.rc,
diff --git a/sys-apps/hal/files/digest-hal-0.5.7.1-r1 b/sys-apps/hal/files/digest-hal-0.5.7.1-r1
new file mode 100644
index 000000000000..3042516ecf0a
--- /dev/null
+++ b/sys-apps/hal/files/digest-hal-0.5.7.1-r1
@@ -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-sr-driver.patch b/sys-apps/hal/files/hal-0.5.7.1-sr-driver.patch
new file mode 100644
index 000000000000..00de4ef77ff4
--- /dev/null
+++ b/sys-apps/hal/files/hal-0.5.7.1-sr-driver.patch
@@ -0,0 +1,13 @@
+diff -ru hal-0.5.7.1.orig/hald/linux2/hotplug.c hal-0.5.7.1/hald/linux2/hotplug.c
+--- hal-0.5.7.1.orig/hald/linux2/hotplug.c 2006-07-26 11:03:17.000000000 -0700
++++ hal-0.5.7.1/hald/linux2/hotplug.c 2006-08-30 19:50:22.000000000 -0700
+@@ -282,7 +282,8 @@
+ size_t len;
+
+ len = strlen(hotplug_event->sysfs.sysfs_path);
+- is_partition = isdigit(hotplug_event->sysfs.sysfs_path[len - 1]) ||
++ is_partition = (isdigit(hotplug_event->sysfs.sysfs_path[len - 1])
++ && ! strstr(hotplug_event->sysfs.sysfs_path, "/block/sr")) ||
+ strstr (hotplug_event->sysfs.sysfs_path, "/fakevolume") ;
+
+ if (hotplug_event->action == HOTPLUG_ACTION_ADD) {
diff --git a/sys-apps/hal/hal-0.5.7.1-r1.ebuild b/sys-apps/hal/hal-0.5.7.1-r1.ebuild
new file mode 100644
index 000000000000..052752105b66
--- /dev/null
+++ b/sys-apps/hal/hal-0.5.7.1-r1.ebuild
@@ -0,0 +1,193 @@
+# 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.1 2006/09/16 17:40:16 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
+ >=sys-apps/dbus-0.60
+ >=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
+ 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() {
+ linux-info_pkg_setup
+
+ kernel_is ge 2 6 15 || die "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}"
+
+ # sony screen brightness patch
+# epatch "${FILESDIR}"/${PN}-0.5.7-sony-brightness.patch
+
+ # handle ignored volumes properly
+ epatch "${FILESDIR}"/${PN}-0.5.7-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
+}
+
+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"
+}