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

Contents of /sys-apps/hal/hal-0.5.7.1-r2.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (show annotations) (download)
Tue Jan 30 16:42:06 2007 UTC (7 years, 9 months ago) by cardoe
Branch: MAIN
CVS Tags: HEAD
Changes since 1.5: +1 -1 lines
FILE REMOVED
Fixed hotplug depend. Fixed installing old unused udev rule. Fix for bug #133743 from Gilles Dartiguelongue <dartigug@esiee.fr>. Fix bug #154648. Fix bug #158304. Fix bug #163233.
(Portage version: 2.1.2-r5)

1 # Copyright 1999-2007 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/hal-0.5.7.1-r2.ebuild,v 1.5 2007/01/18 05:34:42 cardoe Exp $
4
5 inherit eutils linux-info
6
7 DESCRIPTION="Hardware Abstraction Layer"
8 HOMEPAGE="http://www.freedesktop.org/Software/hal"
9 SRC_URI="http://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 ~ppc ~ppc64 ~sh ~sparc ~x86"
14 IUSE="acpi crypt debug doc dmi pcmcia selinux"
15
16 RDEPEND=">=dev-libs/glib-2.6
17 || ( >=dev-libs/dbus-glib-0.71
18 ( <sys-apps/dbus-0.90 >=sys-apps/dbus-0.60 ) )
19 >=sys-fs/udev-083
20 >=sys-apps/util-linux-2.12r
21 || ( >=sys-kernel/linux-headers-2.6 >=sys-kernel/mips-headers-2.6 )
22 dev-libs/expat
23 sys-libs/libcap
24 sys-apps/pciutils
25 dev-libs/libusb
26 sys-apps/hotplug-base
27 virtual/eject
28 dmi? ( >=sys-apps/dmidecode-2.7 )
29 crypt? ( >=sys-fs/cryptsetup-luks-1.0.1 )
30 selinux? ( sys-libs/libselinux )"
31
32 DEPEND="${RDEPEND}
33 dev-util/pkgconfig
34 >=dev-util/intltool-0.29
35 doc? ( app-doc/doxygen app-text/docbook-sgml-utils )"
36
37 ## HAL Daemon drops privledges so we need group access to read disks
38 HALDAEMON_GROUPS="haldaemon,plugdev,disk,cdrom,cdrw,floppy,usb"
39
40 function notify_uevent() {
41 eerror
42 eerror "You must enable Kernel Userspace Events in your kernel."
43 eerror "This can be set under 'General Setup'. It is marked as"
44 eerror "CONFIG_KOBJECT_UEVENT in the config file."
45 eerror
46 ebeep 5
47 }
48
49 function notify_uevent_2_6_16() {
50 eerror
51 eerror "You must enable Kernel Userspace Events in your kernel."
52 eerror "For this you need to enable 'Hotplug' under 'General Setup' and"
53 eerror "basic networking. They are marked CONFIG_HOTPLUG and CONFIG_NET"
54 eerror "in the config file."
55 eerror
56 ebeep 5
57 }
58
59 function notify_procfs() {
60 eerror
61 eerror "You must enable the proc filesystem in your kernel."
62 eerror "For this you need to enable '/proc file system support' under"
63 eerror "'Pseudo filesystems' in 'File systems'. It is marked"
64 eerror "CONFIG_PROC_FS in the config file."
65 eerror
66 ebeep 5
67 }
68
69 pkg_setup() {
70 get_version || eerror "Unable to calculate Linux Kernel version"
71
72 kernel_is ge 2 6 15 || eerror "HAL requires a kernel version 2.6.15 or newer"
73
74 if kernel_is lt 2 6 16 ; then
75 linux_chkconfig_present KOBJECT_UEVENT || notify_uevent
76 else
77 (linux_chkconfig_present HOTPLUG && linux_chkconfig_present NET) \
78 || notify_uevent_2_6_16
79 fi
80
81 if use acpi ; then
82 linux_chkconfig_present PROC_FS || notify_procfs
83 fi
84
85 if [ -d ${ROOT}/etc/hal/device.d ]; then
86 eerror "HAL 0.5.x will not run with the HAL 0.4.x series of"
87 eerror "/etc/hal/device.d/ so please remove this directory"
88 eerror "with rm -rf /etc/hal/device.d/ and then re-emerge."
89 eerror "This is due to configuration protection of /etc/"
90 die "remove /etc/hal/device.d/"
91 fi
92 }
93
94 src_unpack() {
95 unpack ${A}
96 cd "${S}"
97
98 # handle ignored volumes properly
99 epatch "${FILESDIR}"/${PN}-0.5.7.1-ignored-volumes.patch
100
101 # Fix bash in hald scripts
102 epatch "${FILESDIR}"/${PN}-0.5.7-hald-scripts.patch
103
104 # probe partition table
105 epatch "${FILESDIR}"/${PN}-0.5.7-part-table.patch
106
107 # fix pmu support crash
108 epatch "${FILESDIR}"/${PN}-0.5.7-pmu-fix.patch
109
110 # unclean unmount
111 epatch "${FILESDIR}"/${PN}-0.5.7-unclean-unmount-r1.patch
112
113 # allow plugdev group people to mount
114 epatch "${FILESDIR}"/${PN}-0.5.7-plugdev-allow-send.patch
115
116 # rescan devices on resume
117 epatch "${FILESDIR}"/${PN}-0.5.7-rescan-on-resume.patch
118
119 # detect hibernate-ram script as well
120 epatch "${FILESDIR}"/${PN}-0.5.7-hibernate.patch
121
122 # dbus deprecated dbus_connection_disconnect
123 epatch "${FILESDIR}"/${PN}-0.5.7.1-dbus-close.patch
124
125 # sr driver fix
126 epatch "${FILESDIR}"/${PN}-0.5.7.1-sr-driver.patch
127
128 # hibernate sequence fix
129 epatch "${FILESDIR}"/${PN}-0.5.7.1-hibernate-fix.patch
130 }
131
132 src_compile() {
133 if [ -r "${ROOT}/usr/share/misc/pci.ids.gz" ] ; then
134 hwdata="${ROOT}/usr/share/misc/pci.ids.gz"
135 elif [ -r "${ROOT}/usr/share/misc/pci.ids" ] ; then
136 hwdata="${ROOT}/usr/share/misc/pci.ids"
137 else
138 die "pci.ids file not found. please file a bug @ bugs.gentoo.org"
139 fi
140
141 econf \
142 --with-doc-dir=/usr/share/doc/${PF} \
143 --with-os-type=gentoo \
144 --with-pid-file=/var/run/hald.pid \
145 --with-data=${hwdata}
146 --enable-hotplug-map \
147 $(use_enable debug verbose-mode) \
148 $(use_enable pcmcia pcmcia-support) \
149 $(use_enable acpi acpi-proc) \
150 $(use_enable doc docbook-docs) \
151 $(use_enable doc doxygen-docs) \
152 $(use_enable selinux) \
153 || die "configure failed"
154
155 emake || die "make failed"
156 }
157
158 src_install() {
159 make DESTDIR="${D}" install || die
160 dodoc AUTHORS ChangeLog NEWS README
161
162 # remove dep on gnome-python
163 mv "${D}"/usr/bin/hal-device-manager "${D}"/usr/share/hal/device-manager/
164
165 # hal umount for unclean unmounts
166 exeinto /lib/udev/
167 newexe "${FILESDIR}"/hal-unmount.dev hal_unmount
168
169 # initscript
170 newinitd "${FILESDIR}"/0.5-hald.rc hald
171
172 # Script to unmount devices if they are yanked out (from upstream)
173 exeinto /etc/dev.d/default
174 doexe "${FILESDIR}"/hal-unmount.dev
175
176 # We now create and keep /media here as both gnome-mount and pmount
177 # use these directories, to avoid collision.
178 dodir /media
179 keepdir /media
180 }
181
182 pkg_postinst() {
183 # Despite what people keep changing this location. Either one works.. it doesn't matter
184 # http://dev.gentoo.org/~plasmaroo/devmanual/ebuild-writing/functions/
185
186 # Create groups for hotplugging and HAL
187 enewgroup haldaemon || die "Problem adding haldaemon group"
188 enewgroup plugdev || die "Problem adding plugdev group"
189
190 # HAL drops priviledges by default now ...
191 # ... so we must make sure it can read disk/cdrom info (ie. be in ${HALDAEMON_GROUPS} groups)
192 enewuser haldaemon -1 "-1" /dev/null ${HALDAEMON_GROUPS} || die "Problem adding haldaemon user"
193
194 # Make sure that the haldaemon user is in the ${HALDAEMON_GROUPS}
195 # If users have a problem with this, let them file a bug
196 usermod -G ${HALDAEMON_GROUPS} haldaemon
197
198 elog "The HAL daemon needs to be running for certain applications to"
199 elog "work. Suggested is to add the init script to your start-up"
200 elog "scripts, this should be done like this :"
201 elog "\`rc-update add hald default\`"
202 echo
203 elog "Looking for automounting support? Add yourself to the plugdev group"
204 }

  ViewVC Help
Powered by ViewVC 1.1.20