/[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 - (hide annotations) (download)
Tue Jan 30 16:42:06 2007 UTC (7 years, 8 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 flameeyes 1.4 # Copyright 1999-2007 Gentoo Foundation
2 cardoe 1.1 # Distributed under the terms of the GNU General Public License v2
3 cardoe 1.6 # $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 cardoe 1.1
5 flameeyes 1.4 inherit eutils linux-info
6 cardoe 1.1
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 cardoe 1.3 || ( >=dev-libs/dbus-glib-0.71
18     ( <sys-apps/dbus-0.90 >=sys-apps/dbus-0.60 ) )
19 cardoe 1.2 >=sys-fs/udev-083
20 cardoe 1.1 >=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 cardoe 1.2 sys-apps/hotplug-base
27 cardoe 1.1 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 cardoe 1.5 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 cardoe 1.1 econf \
142     --with-doc-dir=/usr/share/doc/${PF} \
143     --with-os-type=gentoo \
144     --with-pid-file=/var/run/hald.pid \
145 cardoe 1.5 --with-data=${hwdata}
146 cardoe 1.1 --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