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

Contents of /sys-apps/hal/hal-0.5.9.1-r3.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download)
Mon Nov 12 16:19:15 2007 UTC (10 years, 6 months ago) by drac
Branch: MAIN
Changes since 1.2: +2 -2 lines
amd64 stable, still detects my usbstick, automounts in, lshal is fine and same for dvd movie which started automatically by thunar-volman in xfce4
(Portage version: 2.1.3.19)

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

  ViewVC Help
Powered by ViewVC 1.1.20