summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2007-04-27 18:37:09 +0000
committerDoug Goldstein <cardoe@gentoo.org>2007-04-27 18:37:09 +0000
commit78b11731c26e5a2c02f405a3dc12e6b38eb1512f (patch)
tree3d111c19c2f85822bdab30a52e78a77f389d0d5a /sys-apps
parentNew version. As-needed patches have been applied upstream. This version can't... (diff)
downloadgentoo-2-78b11731c26e5a2c02f405a3dc12e6b38eb1512f.tar.gz
gentoo-2-78b11731c26e5a2c02f405a3dc12e6b38eb1512f.tar.bz2
gentoo-2-78b11731c26e5a2c02f405a3dc12e6b38eb1512f.zip
Add version that's locked to a certain patchset.
(Portage version: 2.1.2.4)
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/hal/ChangeLog8
-rw-r--r--sys-apps/hal/files/0.5.9/17_autoconf_cflag_cleanup.patch91
-rw-r--r--sys-apps/hal/files/digest-hal-0.5.9-r13
-rw-r--r--sys-apps/hal/hal-0.5.9-r1.ebuild256
4 files changed, 323 insertions, 35 deletions
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 <cardoe@gentoo.org>
+ 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 <cardoe@gentoo.org>
files/0.5.9/18_hal_fix_info.category_for_laptop_panel_v2.patch:
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,8 +30,8 @@ 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 \
@@ -62,6 +39,11 @@ Index: b/configure.in
+-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" ;;
- esac
@@ -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 <cardoe@gentoo.org>
++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"
+}