/[gentoo-x86]/sys-apps/hal/hal-0.5.9.ebuild
Gentoo

Contents of /sys-apps/hal/hal-0.5.9.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.10 - (hide annotations) (download)
Mon Apr 9 01:08:54 2007 UTC (7 years ago) by cardoe
Branch: MAIN
Changes since 1.9: +12 -1 lines
add Inotify support warning
(Portage version: 2.1.2.3)

1 steev 1.1 # Copyright 1999-2007 Gentoo Foundation
2     # Distributed under the terms of the GNU General Public License v2
3 cardoe 1.10 # $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/hal-0.5.9.ebuild,v 1.9 2007/04/07 00:43:57 cardoe Exp $
4 steev 1.1
5     inherit eutils linux-info autotools flag-o-matic
6    
7     DESCRIPTION="Hardware Abstraction Layer"
8     HOMEPAGE="http://www.freedesktop.org/Software/hal"
9     SRC_URI="http://people.freedesktop.org/~david/dist/${P}.tar.gz"
10    
11     LICENSE="|| ( GPL-2 AFL-2.0 )"
12     SLOT="0"
13     KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 -mips ~ppc ~ppc64 ~sh ~sparc ~x86"
14 cardoe 1.6
15     KERNEL_IUSE="kernel_linux kernel_FreeBSD"
16     IUSE="acpi crypt debug dell disk-partition doc pam pcmcia selinux ${KERNEL_IUSE}"
17 steev 1.1
18     RDEPEND=">=dev-libs/glib-2.6
19     >=dev-libs/dbus-glib-0.61
20     >=sys-fs/udev-104
21 cardoe 1.7 kernel_linux? ( >=sys-apps/util-linux-2.12r-r1 )
22 cardoe 1.4 kernel_linux? ( >=sys-kernel/linux-headers-2.6.17 )
23 steev 1.1 >=dev-libs/expat-1.95.8
24     >=sys-apps/pciutils-2.2.3
25     >=dev-libs/libusb-0.1.10a
26     virtual/eject
27     amd64? ( >=sys-apps/dmidecode-2.7 )
28     x86? ( >=sys-apps/dmidecode-2.7 )
29     ia64? ( >=sys-apps/dmidecode-2.7 )
30     dell? ( >=sys-libs/libsmbios-0.13.4 )
31     disk-partition? ( >=sys-apps/parted-1.7.1 )
32     crypt? ( >=sys-fs/cryptsetup-luks-1.0.1 )
33 cardoe 1.9 selinux? ( sys-libs/libselinux
34 cardoe 1.8 sec-policy/selinux-hal )
35 cardoe 1.4 pam? ( sys-auth/consolekit )"
36 steev 1.1
37     DEPEND="${RDEPEND}
38     dev-util/pkgconfig
39     >=dev-util/intltool-0.35
40     doc? ( app-doc/doxygen app-text/docbook-sgml-utils )"
41    
42     PDEPEND="app-misc/hal-info"
43    
44     ## HAL Daemon drops privledges so we need group access to read disks
45     HALDAEMON_GROUPS="haldaemon,plugdev,disk,cdrom,cdrw,floppy,usb"
46    
47     function notify_uevent() {
48     ewarn
49     ewarn "You must enable Kernel Userspace Events in your kernel."
50     ewarn "For this you need to enable 'Hotplug' under 'General Setup' and"
51     ewarn "basic networking. They are marked CONFIG_HOTPLUG and CONFIG_NET"
52     ewarn "in the config file."
53     ewarn
54     ebeep 5
55     }
56    
57     function notify_procfs() {
58     ewarn
59     ewarn "You must enable the proc filesystem in your kernel."
60     ewarn "For this you need to enable '/proc file system support' under"
61     ewarn "'Pseudo filesystems' in 'File systems'. It is marked"
62     ewarn "CONFIG_PROC_FS in the config file."
63     ewarn
64     ebeep 5
65     }
66    
67 cardoe 1.10 function notify_inotify() {
68     ewarn
69     ewarn "You must enable the Inotify filesystem in your kernel."
70     ewarn "For this you need to enable 'Inotify file change notification support'"
71     ewarn "in 'File systems'. It is marked CONFIG_INOTIFY in the config file."
72     ewarn
73     ebeep 5
74     }
75    
76 steev 1.1 pkg_setup() {
77     kernel_is ge 2 6 17 || ewarn "HAL requires a kernel version 2.6.17 or newer"
78    
79     if ! ( linux_chkconfig_present HOTPLUG && linux_chkconfig_present NET )
80     then
81     notify_uevent
82     fi
83    
84 cardoe 1.10 linux_chkconfig_present INOTIFY || notify_inotify
85    
86 steev 1.1 if use acpi ; then
87     linux_chkconfig_present PROC_FS || notify_procfs
88     fi
89    
90     if [[ -d ${ROOT}/etc/hal/device.d ]]; then
91     eerror "HAL 0.5.x will not run with the HAL 0.4.x series of"
92     eerror "/etc/hal/device.d/ so please remove this directory"
93     eerror "with rm -rf /etc/hal/device.d/ and then re-emerge."
94     eerror "This is due to configuration protection of /etc/"
95     die "remove /etc/hal/device.d/"
96     fi
97     }
98    
99     src_unpack() {
100     unpack ${A}
101     cd ${S}
102 cardoe 1.2
103     # Gentoo Patch Set
104     EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" epatch ${FILESDIR}/${PV}
105 steev 1.1 }
106    
107     src_compile() {
108 cardoe 1.4 local backend=""
109     local acpi=""
110    
111 steev 1.1 # TODO :: policykit should have a pam useflag
112     append-flags -rdynamic
113    
114 cardoe 1.4 if use kernel_linux ; then
115     backend="linux"
116     elif use kernel_FreeBSD ; then
117     backend="freebsd"
118     else
119     eerror "Invalid backend"
120     fi
121    
122     if use acpi ; then
123     acpi="--enable-acpi-toshiba --enable-acpi-ibm"
124     else
125     acpi="--disable-acpi-proc --disable-acpi-acpid"
126     fi
127    
128 steev 1.1 econf --disable-policy-kit \
129     --with-doc-dir=/usr/share/doc/${PF} \
130     --with-os-type=gentoo \
131     --with-pid-file=/var/run/hald.pid \
132     --with-hwdata=/usr/share/misc \
133     --enable-hotplug-map \
134 cardoe 1.4 --enable-man-pages \
135     --with-backend=${backend} \
136 steev 1.1 $(use_enable debug verbose-mode) \
137 cardoe 1.5 $(use_with dell dell-backlight) \
138 steev 1.1 $(use_enable disk-partition parted) \
139     $(use_enable pcmcia pcmcia-support) \
140     $(use_enable doc docbook-docs) \
141     $(use_enable doc doxygen-docs) \
142     $(use_enable selinux) \
143 cardoe 1.4 $(use_enable pam console-kit) \
144     ${acpi} \
145 steev 1.1 || die "configure failed"
146    
147     emake || die "make failed"
148     }
149    
150     src_install() {
151     make DESTDIR="${D}" install || die
152     dodoc AUTHORS ChangeLog NEWS README
153    
154     # remove dep on gnome-python
155     mv "${D}"/usr/bin/hal-device-manager "${D}"/usr/share/hal/device-manager/
156    
157     # hal umount for unclean unmounts
158     exeinto /lib/udev/
159     newexe "${FILESDIR}"/hal-unmount.dev hal_unmount
160    
161     # initscript
162 cardoe 1.3 newinitd "${FILESDIR}"/0.5.9-hald.rc hald
163 steev 1.1
164     # We now create and keep /media here as both gnome-mount and pmount
165     # use these directories, to avoid collision.
166     keepdir /media
167 cardoe 1.3
168 steev 1.1 # We also need to create and keep /etc/fdi/{information,policy,preprobe}
169     # or else hal bombs.
170     keepdir /etc/hal/fdi/{information,policy,preprobe}
171 cardoe 1.3
172     # HAL stores it's fdi cache in /var/lib/cache/hald
173     keepdir /var/lib/cache/hald
174 steev 1.1 }
175    
176     pkg_postinst() {
177     # Despite what people keep changing this location. Either one works.. it doesn't matter
178     # http://dev.gentoo.org/~plasmaroo/devmanual/ebuild-writing/functions/
179    
180     # Create groups for hotplugging and HAL
181     enewgroup haldaemon || die "Problem adding haldaemon group"
182     enewgroup plugdev || die "Problem adding plugdev group"
183    
184     # HAL drops priviledges by default now ...
185     # ... so we must make sure it can read disk/cdrom info (ie. be in ${HALDAEMON_GROUPS} groups)
186     enewuser haldaemon -1 "-1" /dev/null ${HALDAEMON_GROUPS} || die "Problem adding haldaemon user"
187    
188     # Make sure that the haldaemon user is in the ${HALDAEMON_GROUPS}
189     # If users have a problem with this, let them file a bug
190     usermod -G ${HALDAEMON_GROUPS} haldaemon
191    
192     elog "The HAL daemon needs to be running for certain applications to"
193     elog "work. Suggested is to add the init script to your start-up"
194     elog "scripts, this should be done like this :"
195     elog "\`rc-update add hald default\`"
196     echo
197     elog "Looking for automounting support? Add yourself to the plugdev group"
198     }

  ViewVC Help
Powered by ViewVC 1.1.20