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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.13 - (show annotations) (download)
Mon Apr 14 18:36:31 2008 UTC (6 years, 2 months ago) by cardoe
Branch: MAIN
Changes since 1.12: +2 -3 lines
cryptsetup-luks -> cryptsetup
(Portage version: 2.1.5_rc3)

1 # Copyright 1999-2008 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.9.1-r1.ebuild,v 1.12 2008/02/20 02:49:13 wolf31o2 Exp $
4
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 ~x86-fbsd"
14
15 KERNEL_IUSE="kernel_linux kernel_FreeBSD"
16 IUSE="acpi crypt debug dell disk-partition doc pcmcia selinux ${KERNEL_IUSE}"
17
18 RDEPEND=">=dev-libs/glib-2.6
19 >=dev-libs/dbus-glib-0.61
20 kernel_linux? ( >=sys-fs/udev-104 )
21 kernel_linux? ( >=sys-apps/util-linux-2.12r-r1 )
22 kernel_linux? ( >=sys-kernel/linux-headers-2.6.17 )
23 kernel_FreeBSD? ( dev-libs/libvolume_id )
24 >=dev-libs/expat-1.95.8
25 >=sys-apps/pciutils-2.2.3
26 >=dev-libs/libusb-0.1.10a
27 sys-apps/usbutils
28 virtual/eject
29 amd64? ( >=sys-apps/dmidecode-2.7 )
30 x86? ( >=sys-apps/dmidecode-2.7 )
31 ia64? ( >=sys-apps/dmidecode-2.7 )
32 dell? ( >=sys-libs/libsmbios-0.13.4 )
33 disk-partition? ( <=sys-apps/parted-1.8.7 )
34 kernel_linux? ( crypt? ( >=sys-fs/cryptsetup-1.0.5 ) )
35 selinux? ( sys-libs/libselinux
36 sec-policy/selinux-hal )"
37 # pam? ( sys-auth/consolekit )"
38
39 DEPEND="${RDEPEND}
40 dev-util/pkgconfig
41 >=dev-util/intltool-0.35
42 doc? ( app-doc/doxygen
43 app-text/docbook-sgml-utils
44 app-text/xmlto )"
45
46 PDEPEND="app-misc/hal-info"
47
48 ## HAL Daemon drops privledges so we need group access to read disks
49 HALDAEMON_GROUPS_LINUX="haldaemon,plugdev,disk,cdrom,cdrw,floppy,usb"
50 HALDAEMON_GROUPS_FREEBSD="haldaemon,plugdev,operator"
51
52 function check_hotplug_net() {
53 local CONFIG_CHECK="~HOTPLUG ~NET"
54 local WARNING_HOTPLUG="CONFIG_HOTPLUG:\tis not set (required for HAL)
55 "
56 local WARNING_NET="CONFIG_NET:\tis not set (required for HAL)
57 "
58 check_extra_config
59 }
60
61 function check_inotify() {
62 local CONFIG_CHECK="~INOTIFY_USER"
63 local WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER:\tis not set (required for HAL)
64 "
65 check_extra_config
66 }
67
68 function check_procfs() {
69 local CONFIG_CHECK="~PROC_FS"
70 local WARNING_PROC_FS="CONFIG_PROC_FS:\tis not set (required for HAL)
71 "
72 check_extra_config
73 }
74
75 pkg_setup() {
76 if ! built_with_use --missing true sys-apps/pciutils hal ; then
77 if built_with_use --missing false sys-apps/pciutils zlib ; then
78 die "You MUST build sys-apps/pciutils without the zlib USE flag"
79 fi
80 fi
81
82 if use kernel_linux ; then
83 if [ -e ${ROOT}/usr/src/linux/.config ] ; then
84 kernel_is ge 2 6 17 || \
85 ewarn "HAL requires a kernel version 2.6.17 or newer"
86 fi
87
88 check_hotplug_net
89 check_inotify
90 use acpi && check_procfs
91 fi
92
93 if [[ -d ${ROOT}/etc/hal/device.d ]]; then
94 eerror "HAL 0.5.x will not run with the HAL 0.4.x series of"
95 eerror "/etc/hal/device.d/ so please remove this directory"
96 eerror "with rm -rf /etc/hal/device.d/ and then re-emerge."
97 eerror "This is due to configuration protection of /etc/"
98 die "remove /etc/hal/device.d/"
99 fi
100 }
101
102 src_unpack() {
103 unpack ${A}
104 cd "${S}"
105
106 # Gentoo patchset
107 epatch "${FILESDIR}/0.5.9/07_malloc_h_for_stdlib_h.patch"
108 epatch "${FILESDIR}/0.5.9/23_runner_64bit_values.patch"
109 epatch "${FILESDIR}/0.5.9/24_libparted_1_8_7.patch"
110 #epatch ${FILESDIR}/0.5.9/95_gentoo_man_page.patch
111 epatch "${FILESDIR}/0.5.9/96_plugdev_allow_send.patch"
112 epatch "${FILESDIR}/0.5.9/97_ignore_fixed_drives.patch"
113 epatch "${FILESDIR}/0.5.9/98_hald_cache_test_path.patch"
114 epatch "${FILESDIR}/0.5.9/99_sun_disklabel_ignore.patch"
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