/[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.15 - (show annotations) (download)
Fri Dec 19 17:37:01 2008 UTC (5 years, 9 months ago) by pva
Branch: MAIN
Changes since 1.14: +5 -7 lines
Removed || die after enewuser/enewgroup, bug #237286.
(Portage version: 2.2_rc17/cvs/Linux 2.6.26-openvz.git-89451f9 i686)

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.14 2008/05/20 04:30:38 compnerd 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
207 enewgroup plugdev
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 elif use kernel_FreeBSD; then
214 enewuser haldaemon -1 "-1" /dev/null ${HALDAEMON_GROUPS_FREEBSD}
215 fi
216
217 # Make sure that the haldaemon user is in the ${HALDAEMON_GROUPS}
218 # If users have a problem with this, let them file a bug
219 if [[ ${ROOT} == / ]] ; then
220 if use kernel_linux; then
221 usermod -G ${HALDAEMON_GROUPS_LINUX} haldaemon
222 elif use kernel_FreeBSD; then
223 pw usermod haldaemon -G ${HALDAEMON_GROUPS_FREEBSD}
224 fi
225 fi
226
227 elog "The HAL daemon needs to be running for certain applications to"
228 elog "work. Suggested is to add the init script to your start-up"
229 elog "scripts, this should be done like this :"
230 elog "\`rc-update add hald default\`"
231 echo
232 elog "Looking for automounting support? Add yourself to the plugdev group"
233 }

  ViewVC Help
Powered by ViewVC 1.1.20