| 1 | # Copyright 1999-2007 Gentoo Foundation |
1 | # Copyright 1999-2008 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/Attic/hal-0.5.9.1-r1.ebuild,v 1.10 2007/11/23 06:43:51 compnerd Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/Attic/hal-0.5.9.1-r1.ebuild,v 1.11 2008/02/08 20:11:00 wolf31o2 Exp $ |
| 4 | |
4 | |
| 5 | inherit eutils linux-info autotools flag-o-matic |
5 | inherit eutils linux-info autotools flag-o-matic |
| 6 | |
6 | |
| 7 | DESCRIPTION="Hardware Abstraction Layer" |
7 | DESCRIPTION="Hardware Abstraction Layer" |
| 8 | HOMEPAGE="http://www.freedesktop.org/Software/hal" |
8 | HOMEPAGE="http://www.freedesktop.org/Software/hal" |
| … | |
… | |
| 48 | |
48 | |
| 49 | ## HAL Daemon drops privledges so we need group access to read disks |
49 | ## HAL Daemon drops privledges so we need group access to read disks |
| 50 | HALDAEMON_GROUPS_LINUX="haldaemon,plugdev,disk,cdrom,cdrw,floppy,usb" |
50 | HALDAEMON_GROUPS_LINUX="haldaemon,plugdev,disk,cdrom,cdrw,floppy,usb" |
| 51 | HALDAEMON_GROUPS_FREEBSD="haldaemon,plugdev,operator" |
51 | HALDAEMON_GROUPS_FREEBSD="haldaemon,plugdev,operator" |
| 52 | |
52 | |
| 53 | function notify_uevent() { |
53 | function check_hotplug_net() { |
| 54 | ewarn |
54 | local CONFIG_CHECK="~HOTPLUG ~NET" |
| 55 | ewarn "You must enable Kernel Userspace Events in your kernel." |
55 | local WARNING_HOTPLUG="CONFIG_HOTPLUG:\tis not set (required for HAL)" |
| 56 | ewarn "For this you need to enable 'Hotplug' under 'General Setup' and" |
56 | local WARNING_NET="CONFIG_NET:\tis not set (required for HAL)" |
| 57 | ewarn "basic networking. They are marked CONFIG_HOTPLUG and CONFIG_NET" |
57 | check_extra_config |
| 58 | ewarn "in the config file." |
58 | echo |
| 59 | ewarn |
|
|
| 60 | ebeep 5 |
|
|
| 61 | } |
59 | } |
| 62 | |
60 | |
| 63 | function notify_procfs() { |
|
|
| 64 | ewarn |
|
|
| 65 | ewarn "You must enable the proc filesystem in your kernel." |
|
|
| 66 | ewarn "For this you need to enable '/proc file system support' under" |
|
|
| 67 | ewarn "'Pseudo filesystems' in 'File systems'. It is marked" |
|
|
| 68 | ewarn "CONFIG_PROC_FS in the config file." |
|
|
| 69 | ewarn |
|
|
| 70 | ebeep 5 |
|
|
| 71 | } |
|
|
| 72 | |
|
|
| 73 | function notify_inotify() { |
61 | function check_inotify() { |
| 74 | ewarn |
62 | local CONFIG_CHECK="~INOTIFY_USER" |
| 75 | ewarn "You must enable the Inotify system in your kernel." |
63 | local WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER:\tis not set (required for HAL)" |
| 76 | ewarn "For this you need to enable 'Inotify support for userspace'" |
64 | check_extra_config |
| 77 | ewarn "in 'File systems'. It is marked CONFIG_INOTIFY_USER in the config file." |
65 | echo |
| 78 | ewarn |
66 | } |
| 79 | ebeep 5 |
67 | |
|
|
68 | function check_procfs() { |
|
|
69 | local CONFIG_CHECK="~PROC_FS" |
|
|
70 | local WARNING_PROC_FS="CONFIG_PROC_FS:\tis not set (required for HAL)" |
|
|
71 | check_extra_config |
|
|
72 | echo |
| 80 | } |
73 | } |
| 81 | |
74 | |
| 82 | pkg_setup() { |
75 | pkg_setup() { |
| 83 | if ! built_with_use --missing false sys-apps/pciutils hal ; then |
76 | if ! built_with_use --missing true sys-apps/pciutils hal ; then |
| 84 | if built_with_use --missing false sys-apps/pciutils zlib ; then |
77 | if built_with_use --missing false sys-apps/pciutils zlib ; then |
| 85 | eerror "You MUST build sys-apps/pciutils without the zlib USE flag" |
|
|
| 86 | die "You MUST build sys-apps/pciutils without the zlib USE flag" |
78 | die "You MUST build sys-apps/pciutils without the zlib USE flag" |
| 87 | fi |
79 | fi |
| 88 | fi |
80 | fi |
| 89 | |
81 | |
| 90 | if use kernel_linux; then |
82 | if use kernel_linux ; then |
|
|
83 | if [ -e ${ROOT}/usr/src/linux/.config ] ; then |
|
|
84 | kernel_is ge 2 6 17 || \ |
| 91 | kernel_is ge 2 6 17 || ewarn "HAL requires a kernel version 2.6.17 or newer" |
85 | ewarn "HAL requires a kernel version 2.6.17 or newer" |
| 92 | |
|
|
| 93 | if ! ( linux_chkconfig_present HOTPLUG && linux_chkconfig_present NET ) |
|
|
| 94 | then |
|
|
| 95 | notify_uevent |
|
|
| 96 | fi |
86 | fi |
| 97 | |
87 | |
| 98 | linux_chkconfig_present INOTIFY_USER || notify_inotify |
88 | check_hotplug_net |
| 99 | |
89 | check_inotify |
| 100 | if use acpi ; then |
90 | use acpi && check_procfs |
| 101 | linux_chkconfig_present PROC_FS || notify_procfs |
|
|
| 102 | fi |
|
|
| 103 | fi |
91 | fi |
| 104 | |
92 | |
| 105 | if [[ -d ${ROOT}/etc/hal/device.d ]]; then |
93 | if [[ -d ${ROOT}/etc/hal/device.d ]]; then |
| 106 | eerror "HAL 0.5.x will not run with the HAL 0.4.x series of" |
94 | eerror "HAL 0.5.x will not run with the HAL 0.4.x series of" |
| 107 | eerror "/etc/hal/device.d/ so please remove this directory" |
95 | eerror "/etc/hal/device.d/ so please remove this directory" |