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

  ViewVC Help
Powered by ViewVC 1.1.20