/[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.9 - (hide annotations) (download)
Fri Aug 31 14:19:51 2007 UTC (7 years ago) by cardoe
Branch: MAIN
Changes since 1.8: +2 -3 lines
change libparted depend as suggested by agaffney in bug #190860
(Portage version: 2.1.3.7)

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

  ViewVC Help
Powered by ViewVC 1.1.20