diff options
author | Doug Goldstein <cardoe@gentoo.org> | 2007-04-27 18:37:09 +0000 |
---|---|---|
committer | Doug Goldstein <cardoe@gentoo.org> | 2007-04-27 18:37:09 +0000 |
commit | 78b11731c26e5a2c02f405a3dc12e6b38eb1512f (patch) | |
tree | 3d111c19c2f85822bdab30a52e78a77f389d0d5a /sys-apps | |
parent | New version. As-needed patches have been applied upstream. This version can't... (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | sys-apps/hal/files/0.5.9/17_autoconf_cflag_cleanup.patch | 91 | ||||
-rw-r--r-- | sys-apps/hal/files/digest-hal-0.5.9-r1 | 3 | ||||
-rw-r--r-- | sys-apps/hal/hal-0.5.9-r1.ebuild | 256 |
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" +} |