From 01ff148ff97e2a238e96b39b989c5e76b653935b Mon Sep 17 00:00:00 2001 From: Doug Goldstein Date: Fri, 27 Apr 2007 18:37:09 +0000 Subject: [PATCH] Add version that's locked to a certain patchset. Package-Manager: portage-2.1.2.4 --- sys-apps/hal/ChangeLog | 8 +- sys-apps/hal/Manifest | 29 +- .../0.5.9/17_autoconf_cflag_cleanup.patch | 91 ++++--- sys-apps/hal/files/digest-hal-0.5.9-r1 | 3 + sys-apps/hal/hal-0.5.9-r1.ebuild | 256 ++++++++++++++++++ 5 files changed, 341 insertions(+), 46 deletions(-) create mode 100644 sys-apps/hal/files/digest-hal-0.5.9-r1 create mode 100644 sys-apps/hal/hal-0.5.9-r1.ebuild diff --git a/sys-apps/hal/ChangeLog b/sys-apps/hal/ChangeLog index 0049ae3a3811..be8ce37fc0ed 100644 --- a/sys-apps/hal/ChangeLog +++ b/sys-apps/hal/ChangeLog @@ -1,6 +1,12 @@ # 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.179 2007/04/25 20:20:14 cardoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/ChangeLog,v 1.180 2007/04/27 18:37:09 cardoe Exp $ + +*hal-0.5.9-r1 (27 Apr 2007) + + 27 Apr 2007; Doug Goldstein + files/0.5.9/17_autoconf_cflag_cleanup.patch, +hal-0.5.9-r1.ebuild: + Add version that's locked to a certain patchset. 25 Apr 2007; Doug Goldstein files/0.5.9/18_hal_fix_info.category_for_laptop_panel_v2.patch: diff --git a/sys-apps/hal/Manifest b/sys-apps/hal/Manifest index 722c1801bcc9..1e9c72559809 100644 --- a/sys-apps/hal/Manifest +++ b/sys-apps/hal/Manifest @@ -77,10 +77,10 @@ AUX 0.5.9/16_dev_root_is_mounted.patch 5417 RMD160 d66edb0a43cb579b548be40f0cdee MD5 df7cad356333b0dcefc619df107c7cdb files/0.5.9/16_dev_root_is_mounted.patch 5417 RMD160 d66edb0a43cb579b548be40f0cdeea0bb305a90e files/0.5.9/16_dev_root_is_mounted.patch 5417 SHA256 cd2c580d264e6d22635db3d55249ad5ef733ff0f3e4c0c45d59de643f9196dec files/0.5.9/16_dev_root_is_mounted.patch 5417 -AUX 0.5.9/17_autoconf_cflag_cleanup.patch 4001 RMD160 157766a207c9afb0d659e119bd3c9334292c41bd SHA1 21c756c7bd7fe3334c0378b70ac6a26ea46b4e2e SHA256 e30480b18f30f97562781b1879d4d02e963704d5c774ee60cf204903f247ab45 -MD5 1db8be4fb0558c130e8fd12061ce5d0a files/0.5.9/17_autoconf_cflag_cleanup.patch 4001 -RMD160 157766a207c9afb0d659e119bd3c9334292c41bd files/0.5.9/17_autoconf_cflag_cleanup.patch 4001 -SHA256 e30480b18f30f97562781b1879d4d02e963704d5c774ee60cf204903f247ab45 files/0.5.9/17_autoconf_cflag_cleanup.patch 4001 +AUX 0.5.9/17_autoconf_cflag_cleanup.patch 4807 RMD160 d8c53f77ec7a6d225571de2ce265229ce4aa6d4a SHA1 d29aa7c5265c4bc2162a3717e9435c57fdadfdda SHA256 60c63900e5eaadc7024dc898e8fffa51bf2aabc5ecbd8909319a59932d191568 +MD5 c5a8e8b0ee056db20adc94d3c9f30787 files/0.5.9/17_autoconf_cflag_cleanup.patch 4807 +RMD160 d8c53f77ec7a6d225571de2ce265229ce4aa6d4a files/0.5.9/17_autoconf_cflag_cleanup.patch 4807 +SHA256 60c63900e5eaadc7024dc898e8fffa51bf2aabc5ecbd8909319a59932d191568 files/0.5.9/17_autoconf_cflag_cleanup.patch 4807 AUX 0.5.9/18_hal_fix_info.category_for_laptop_panel_v2.patch 4979 RMD160 d215dbb22538287adbaed59e7035f357048ad62f SHA1 1ac81c0810d283297de2fdbb5bffed367ed86a4a SHA256 8867de054071e97d1d131a07337c0c70c4d984772c2c6190fbc6dd02f3159337 MD5 f310e85485c5a8cff31e06956b39b96e files/0.5.9/18_hal_fix_info.category_for_laptop_panel_v2.patch 4979 RMD160 d215dbb22538287adbaed59e7035f357048ad62f files/0.5.9/18_hal_fix_info.category_for_laptop_panel_v2.patch 4979 @@ -203,14 +203,18 @@ EBUILD hal-0.5.7.1-r5.ebuild 6426 RMD160 ba28bce7126639c77de28ac2fc8d233475bb498 MD5 709ca20b11819f2e13e381be47e19535 hal-0.5.7.1-r5.ebuild 6426 RMD160 ba28bce7126639c77de28ac2fc8d233475bb498e hal-0.5.7.1-r5.ebuild 6426 SHA256 6e020d3a29d82b993984f58ab8ef3659d837c11bce25f3ad25df6f4748e11207 hal-0.5.7.1-r5.ebuild 6426 +EBUILD hal-0.5.9-r1.ebuild 8399 RMD160 859f6382f505323f3ec68024179f75934b2c28d0 SHA1 b83e0946730a277bd0741a3732b471b20df5fb83 SHA256 970046e2a25fc042aafe84e373cd63f811ea32d226e8df42ad1fe028f1314265 +MD5 1e7b7be5e59b830f4d32c7c9890bc126 hal-0.5.9-r1.ebuild 8399 +RMD160 859f6382f505323f3ec68024179f75934b2c28d0 hal-0.5.9-r1.ebuild 8399 +SHA256 970046e2a25fc042aafe84e373cd63f811ea32d226e8df42ad1fe028f1314265 hal-0.5.9-r1.ebuild 8399 EBUILD hal-0.5.9.ebuild 7177 RMD160 cf9131b3eb91be3e90efe501d125a02b18398062 SHA1 df399bd689fcf38581523d5aaeb54efbfc52c031 SHA256 dd9f4b2e4aba2a1dc43bb83f060cc5d13d09291ae861b412b51a75f81534b59c MD5 5bf97425f9c1ebe14d09e69b12078a8e hal-0.5.9.ebuild 7177 RMD160 cf9131b3eb91be3e90efe501d125a02b18398062 hal-0.5.9.ebuild 7177 SHA256 dd9f4b2e4aba2a1dc43bb83f060cc5d13d09291ae861b412b51a75f81534b59c hal-0.5.9.ebuild 7177 -MISC ChangeLog 29777 RMD160 5f9dbec5fd154fe9097d5d6422d7ad137e178af5 SHA1 0182b34c271f5c8a8f2c6bea0bf7aca2c992f96a SHA256 3aadc3bc5d2a648c4810fadf13be011719d56ed8e3ff5eccc8fa4207655f5b72 -MD5 87292914aeda81b7bf0e0e154e022631 ChangeLog 29777 -RMD160 5f9dbec5fd154fe9097d5d6422d7ad137e178af5 ChangeLog 29777 -SHA256 3aadc3bc5d2a648c4810fadf13be011719d56ed8e3ff5eccc8fa4207655f5b72 ChangeLog 29777 +MISC ChangeLog 29977 RMD160 574b97a2ac7cf2c0310290fda9243deb463c2950 SHA1 05a0e3bf68774395c7a2694e6e55dd3688b917fe SHA256 f9aa0f7a2ed0efb347681205117790dc190c6fb408d28f8c19641d64cf600192 +MD5 5291d4cb72df84ef7f6ce1e9e516d7a8 ChangeLog 29977 +RMD160 574b97a2ac7cf2c0310290fda9243deb463c2950 ChangeLog 29977 +SHA256 f9aa0f7a2ed0efb347681205117790dc190c6fb408d28f8c19641d64cf600192 ChangeLog 29977 MISC metadata.xml 345 RMD160 aa6e810e9546542453ebe5d6ca46804e99f447f2 SHA1 fef829210e8555807f9b69ba5afedffb8af8d02c SHA256 0c9aeabf473a6836c25a5db2ca86b880dec1efa9e52310725e08d1e0df93447d MD5 3317c4000387b670183d305ef9937b75 metadata.xml 345 RMD160 aa6e810e9546542453ebe5d6ca46804e99f447f2 metadata.xml 345 @@ -224,10 +228,13 @@ SHA256 6fede189bf70fa0a1009bcefea0a23a8941a051256e7fafc16793324db3c61c0 files/di MD5 75c89219e1c767bdbfa9942258c86827 files/digest-hal-0.5.9 232 RMD160 6244ab5be8bbc652f1130c2715f32bf881710f31 files/digest-hal-0.5.9 232 SHA256 d862b002c9a5547954874b2a0cbadd614381d085e850539e6aef2dd9e9d52dfe files/digest-hal-0.5.9 232 +MD5 75c89219e1c767bdbfa9942258c86827 files/digest-hal-0.5.9-r1 232 +RMD160 6244ab5be8bbc652f1130c2715f32bf881710f31 files/digest-hal-0.5.9-r1 232 +SHA256 d862b002c9a5547954874b2a0cbadd614381d085e850539e6aef2dd9e9d52dfe files/digest-hal-0.5.9-r1 232 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.3 (GNU/Linux) -iD4DBQFGL8cfoeSe8B0zEfwRArJ2AJUWQXsKx4Qsikr+q+dXLa3XhqFoAJ9A9w+e -zvw1TJipw7tThJr1jujw5w== -=NpBl +iD8DBQFGMkKfoeSe8B0zEfwRAqoOAJoCp312tQ0d/cPIcfYyAUXAushx1ACeP0/v +wQk7AqPTyO2gArqARgcBN9o= +=Cy+U -----END PGP SIGNATURE----- diff --git a/sys-apps/hal/files/0.5.9/17_autoconf_cflag_cleanup.patch b/sys-apps/hal/files/0.5.9/17_autoconf_cflag_cleanup.patch index 34d5642c3153..2dc43c6bfea7 100644 --- a/sys-apps/hal/files/0.5.9/17_autoconf_cflag_cleanup.patch +++ b/sys-apps/hal/files/0.5.9/17_autoconf_cflag_cleanup.patch @@ -1,28 +1,10 @@ Index: b/configure.in =================================================================== --- a/configure.in 2007-04-03 00:36:44.000000000 -0400 -+++ b/configure.in 2007-04-24 16:57:54.000000000 -0400 -@@ -234,79 +234,66 @@ - fi ++++ b/configure.in 2007-04-26 02:16:37.000000000 -0400 +@@ -235,78 +235,48 @@ #### gcc warning flags -+dnl checks compiler support for CFLAG -+AC_DEFUN([HAL_CC_TRY_FLAG], [ -+ AC_MSG_CHECKING([whether $CC supports $1]) -+ -+ hal_save_CFLAGS="$CFLAGS" -+ CFLAGS="$CFLAGS $1" -+ -+ AC_COMPILE_IFELSE([ ], [hal_cc_flag=yes], [hal_cc_flag=no]) -+ CFLAGS="$hal_save_CFLAGS" -+ -+ if test "x$hal_cc_flag" = "xyes"; then -+ ifelse([$2], , :, [$2]) -+ else -+ ifelse([$3], , :, [$3]) -+ fi -+ AC_MSG_RESULT([$hal_cc_flag]) -+]) -if test "x$GCC" = "xyes"; then - changequote(,)dnl @@ -35,16 +17,11 @@ Index: b/configure.in - *[\ \ ]-Wchar-subscripts[\ \ ]*) ;; - *) CFLAGS="$CFLAGS -Wchar-subscripts" ;; - esac -- -- case " $CFLAGS " in -- *[\ \ ]-Wmissing-declarations[\ \ ]*) ;; -- *) CFLAGS="$CFLAGS -Wmissing-declarations" ;; -- esac +dnl Use as many warning flags as possible with gcc and compatible compilers - case " $CFLAGS " in -- *[\ \ ]-Wnested-externs[\ \ ]*) ;; -- *) CFLAGS="$CFLAGS -Wnested-externs" ;; +- *[\ \ ]-Wmissing-declarations[\ \ ]*) ;; +- *) CFLAGS="$CFLAGS -Wmissing-declarations" ;; - esac +dnl If you change anything below in the variable, the cache is automatically +dnl ignored and everything is rechecked. So just add a flag and that's it. @@ -53,14 +30,19 @@ Index: b/configure.in +dnl first, and the negating flags last - case " $CFLAGS " in -- *[\ \ ]-Wpointer-arith[\ \ ]*) ;; -- *) CFLAGS="$CFLAGS -Wpointer-arith" ;; +- *[\ \ ]-Wnested-externs[\ \ ]*) ;; +- *) CFLAGS="$CFLAGS -Wnested-externs" ;; - esac +MAYBE_WARN="-Wall -Wextra \ +-Wchar-subscripts -Wmissing-declarations -Wnested-externs \ +-Wpointer-arith -Wcast-align -Wsign-compare -Wbad-function-cast \ +-Waggregate-return -Wcast-align -Wcast-qual -Wshadow -Wredundant-decls" +- case " $CFLAGS " in +- *[\ \ ]-Wpointer-arith[\ \ ]*) ;; +- *) CFLAGS="$CFLAGS -Wpointer-arith" ;; +- esac +- - case " $CFLAGS " in - *[\ \ ]-Wcast-align[\ \ ]*) ;; - *) CFLAGS="$CFLAGS -Wcast-align" ;; @@ -83,7 +65,7 @@ Index: b/configure.in - *) CFLAGS="$CFLAGS -ansi" ;; - esac + for W in $MAYBE_WARN; do -+ HAL_CC_TRY_FLAG([$W], [CFLAGS="$CFLAGS $W"]) ++ AC_CC_TRY_FLAG([$W], [CFLAGS="$CFLAGS $W"]) + done - case " $CFLAGS " in @@ -106,8 +88,8 @@ Index: b/configure.in - esac +if test "x$GCC" = "xyes"; then + if test "x$enable_ansi" = "xyes"; then -+ HAL_CC_TRY_FLAG([-ansi], [CFLAGS="$CFLAGS -ansi"]) -+ HAL_CC_TRY_FLAG([-pedanitc], [CFLAGS="$CFLAGS -pedantic"]) ++ AC_CC_TRY_FLAG([-ansi], [CFLAGS="$CFLAGS -ansi"]) ++ AC_CC_TRY_FLAG([-pedanitc], [CFLAGS="$CFLAGS -pedantic"]) + CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE" fi - if test x$enable_gcov = xyes; then @@ -123,10 +105,51 @@ Index: b/configure.in - ## remove optimization - CFLAGS=`echo "$CFLAGS" | sed -e 's/-O[0-9]*//g'` + if test "x$enable_gcov" = "xyes"; then -+ HAL_CC_TRY_FLAG([-fprofile-arcs], [CFLAGS="$CFLAGS -fprofile-arcs"]) -+ HAL_CC_TRY_FLAG([-ftest-coverage], [CFLAGS="$CFLAGS -ftest-coverage"]) ++ AC_CC_TRY_FLAG([-fprofile-arcs], [CFLAGS="$CFLAGS -fprofile-arcs"]) ++ AC_CC_TRY_FLAG([-ftest-coverage], [CFLAGS="$CFLAGS -ftest-coverage"]) fi - changequote([,])dnl else if test x$enable_gcov = xyes; then AC_MSG_ERROR([--enable-gcov can only be used with gcc]) +Index: b/m4/try_flag.m4 +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ b/m4/try_flag.m4 2007-04-26 02:15:05.000000000 -0400 +@@ -0,0 +1,23 @@ ++dnl Copied from Cairo configure.in ++dnl Tweaked for more general use by Doug Goldstein ++dnl ++dnl check compiler flags ++dnl $1 - flag to check ++dnl $2 - when successful do this ++dnl $3 - when not successful, do this ++AC_DEFUN([AC_CC_TRY_FLAG], [ ++ AC_MSG_CHECKING([whether $CC supports $1]) ++ ++ ac_save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS $1" ++ AC_COMPILE_IFELSE([ ], [ac_cc_flag=yes], [ac_cc_flag=no]) ++ CFLAGS="$ac_save_CFLAGS" ++ ++ if test "x$ac_cc_flag" = "xyes"; then ++ ifelse([$2], , :, [$2]) ++ else ++ ifelse([$3], , :, [$3]) ++ fi ++ ++ AC_MSG_RESULT([$ac_cc_flag]) ++]) +Index: b/Makefile.am +=================================================================== +--- a/Makefile.am 2007-03-07 16:52:19.000000000 -0500 ++++ b/Makefile.am 2007-04-26 02:15:42.000000000 -0400 +@@ -3,6 +3,8 @@ + SUBDIRS = libhal libhal-storage partutil hald hald-runner tools \ + fdi doc po privileges + ++ACLOCAL_AMFLAGS = -I m4 ++ + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = hal.pc hal-storage.pc + diff --git a/sys-apps/hal/files/digest-hal-0.5.9-r1 b/sys-apps/hal/files/digest-hal-0.5.9-r1 new file mode 100644 index 000000000000..bf095eb8f645 --- /dev/null +++ b/sys-apps/hal/files/digest-hal-0.5.9-r1 @@ -0,0 +1,3 @@ +MD5 a6f532770cf9286e1de38d6570cbc6bc hal-0.5.9.tar.gz 1587364 +RMD160 bc97bf63e35d36bdb5731c3447036425dc7adeb9 hal-0.5.9.tar.gz 1587364 +SHA256 65d8f8eeb61e7609a8c5001b6660d90e7a482c4b74b4e226d09b433dc1a80c9d hal-0.5.9.tar.gz 1587364 diff --git a/sys-apps/hal/hal-0.5.9-r1.ebuild b/sys-apps/hal/hal-0.5.9-r1.ebuild new file mode 100644 index 000000000000..debc3004c2d6 --- /dev/null +++ b/sys-apps/hal/hal-0.5.9-r1.ebuild @@ -0,0 +1,256 @@ +# 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.9-r1.ebuild,v 1.1 2007/04/27 18:37:09 cardoe Exp $ + +inherit eutils linux-info autotools flag-o-matic + +DESCRIPTION="Hardware Abstraction Layer" +HOMEPAGE="http://www.freedesktop.org/Software/hal" +SRC_URI="http://people.freedesktop.org/~david/dist/${P}.tar.gz" + +LICENSE="|| ( GPL-2 AFL-2.0 )" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ia64 -mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" + +KERNEL_IUSE="kernel_linux kernel_FreeBSD" +IUSE="acpi crypt debug dell disk-partition doc pcmcia selinux ${KERNEL_IUSE}" + +RDEPEND=">=dev-libs/glib-2.6 + >=dev-libs/dbus-glib-0.61 + kernel_linux? ( >=sys-fs/udev-104 ) + kernel_linux? ( >=sys-apps/util-linux-2.12r-r1 ) + kernel_linux? ( >=sys-kernel/linux-headers-2.6.17 ) + kernel_FreeBSD? ( dev-libs/libvolume_id ) + >=dev-libs/expat-1.95.8 + >=sys-apps/pciutils-2.2.3 + >=dev-libs/libusb-0.1.10a + virtual/eject + amd64? ( >=sys-apps/dmidecode-2.7 ) + x86? ( >=sys-apps/dmidecode-2.7 ) + ia64? ( >=sys-apps/dmidecode-2.7 ) + dell? ( >=sys-libs/libsmbios-0.13.4 ) + disk-partition? ( >=sys-apps/parted-1.7.1 ) + kernel_linux? ( crypt? ( >=sys-fs/cryptsetup-luks-1.0.1 ) ) + selinux? ( sys-libs/libselinux + sec-policy/selinux-hal )" +# pam? ( sys-auth/consolekit )" + +DEPEND="${RDEPEND} + dev-util/pkgconfig + >=dev-util/intltool-0.35 + doc? ( app-doc/doxygen app-text/docbook-sgml-utils )" + +PDEPEND="app-misc/hal-info" + +## 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_procfs() { + ewarn + ewarn "You must enable the proc filesystem in your kernel." + ewarn "For this you need to enable '/proc file system support' under" + ewarn "'Pseudo filesystems' in 'File systems'. It is marked" + ewarn "CONFIG_PROC_FS 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 +} + +pkg_setup() { + if built_with_use --missing false sys-apps/pciutils zlib ; then + eerror "You MUST build sys-apps/pciutils without the zlib USE flag" + die "You MUST build sys-apps/pciutils without the zlib USE flag" + fi + + if use kernel_linux; then + kernel_is ge 2 6 17 || ewarn "HAL requires a kernel version 2.6.17 or newer" + + if ! ( linux_chkconfig_present HOTPLUG && linux_chkconfig_present NET ) + then + notify_uevent + fi + + linux_chkconfig_present INOTIFY_USER || notify_inotify + + if use acpi ; then + linux_chkconfig_present PROC_FS || notify_procfs + fi + 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} + + # Patches accepted upstream + epatch ${FILESDIR}/${PV}/01_luks_mount_fix.patch + epatch ${FILESDIR}/${PV}/02_acpi_repeated_property_change.patch + epatch ${FILESDIR}/${PV}/03_crasher_fix_fail_to_return_value.patch + epatch ${FILESDIR}/${PV}/04_cache_regen_return_fix.patch + epatch ${FILESDIR}/${PV}/05_freebsd_partutil_make_fix.patch + epatch ${FILESDIR}/${PV}/06_freebsd_backend_fix.patch + epatch ${FILESDIR}/${PV}/07_malloc_h_for_stdlib_h.patch + epatch ${FILESDIR}/${PV}/08_contains_not_fdi_directive.patch + epatch ${FILESDIR}/${PV}/09_hald_addon_keyboard_start_one.patch + epatch ${FILESDIR}/${PV}/10_freebsd_storage_reprobe_fix.patch + epatch ${FILESDIR}/${PV}/11_hal_fix_segfault_probe_volume.patch + epatch ${FILESDIR}/${PV}/12_hal_fix-vol_label_probe_volume.patch + epatch ${FILESDIR}/${PV}/13_detect_newer_macbooks.patch + epatch ${FILESDIR}/${PV}/14_ntfs_allows_utf8.patch + epatch ${FILESDIR}/${PV}/15_spec_fdi_matching.patch + epatch ${FILESDIR}/${PV}/16_dev_root_is_mounted.patch + epatch ${FILESDIR}/${PV}/18_hal_fix_info.category_for_laptop_panel_v2.patch + epatch ${FILESDIR}/${PV}/19_hald_runner_catch_dbus_disconnect.patch + + # Gentoo patchset + epatch ${FILESDIR}/${PV}/95_gentoo_man_page.patch + epatch ${FILESDIR}/${PV}/96_plugdev_allow_send.patch + epatch ${FILESDIR}/${PV}/97_ignore_fixed_drives.patch + + eautoreconf +} + +src_compile() { + local backend="" + local acpi="" + + # TODO :: policykit should have a pam useflag + append-flags -rdynamic + + if use kernel_linux ; then + backend="linux" + use acpi && acpi="--enable-acpi-toshiba --enable-acpi-ibm" + elif use kernel_FreeBSD ; then + backend="freebsd" + else + eerror "Invalid backend" + fi + + if ! use acpi ; then + acpi="--disable-acpi-proc --disable-acpi-acpid" + fi + + econf --disable-policy-kit \ + --with-doc-dir=/usr/share/doc/${PF} \ + --with-os-type=gentoo \ + --with-pid-file=/var/run/hald.pid \ + --with-socket-dir=/var/run/hald \ + --with-hwdata=/usr/share/misc \ + --enable-hotplug-map \ + --enable-man-pages \ + --with-backend=${backend} \ + $(use_enable debug verbose-mode) \ + $(use_with dell dell-backlight) \ + $(use_enable disk-partition parted) \ + $(use_enable pcmcia pcmcia-support) \ + $(use_enable doc docbook-docs) \ + $(use_enable doc doxygen-docs) \ + $(use_enable selinux) \ + --disable-console-kit \ + ${acpi} \ + || die "configure failed" +#$(use_enable pam console-kit) + + 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.9-hald.rc hald + cp "${FILESDIR}"/0.5.9-hald.conf "${WORKDIR}"/ +# if use pam; then +# sed -e 's:RC_NEED="":RC_NEED="consolekit":' -i "${WORKDIR}"/0.5.9-hald.conf +# fi + if use debug; then + sed -e 's:HALD_VERBOSE="no":HALD_VERBOSE="yes":' \ + -i "${WORKDIR}"/0.5.9-hald.conf + fi + newconfd "${WORKDIR}"/0.5.9-hald.conf hald + + # 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 +} + +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) + 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 + + 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" +} -- 2.26.2