/[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.3 - (hide annotations) (download)
Wed Aug 1 13:51:20 2007 UTC (7 years, 2 months ago) by cardoe
Branch: MAIN
Changes since 1.2: +4 -2 lines
update libparted version requirements to include 1.8.7 per bug #187322
(Portage version: 2.1.3_rc9)

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

  ViewVC Help
Powered by ViewVC 1.1.20