blob: 19256fb89c7a5eeba24c417d44c50b817d795e0e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-025-r1.ebuild,v 1.6 2004/06/24 22:54:19 agriffis Exp $
# Note: Cannot use external libsysfs with klibc ..
USE_KLIBC="no"
inherit eutils
DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
HOMEPAGE="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ"
SRC_URI="mirror://kernel/linux/utils/kernel/hotplug/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="x86 ~ppc ~sparc ~mips ~alpha arm ~hppa amd64"
IUSE=""
DEPEND="virtual/glibc
sys-apps/hotplug-base"
RDEPEND="${DEPEND}
>=sys-apps/baselayout-1.8.6.12-r3"
# We need some changes for devfs type layout
PROVIDE="virtual/dev-manager"
pkg_setup() {
[ "${USE_KLIBC}" = "yes" ] && check_KV
return 0
}
src_unpack() {
unpack ${A}
cd ${S}
# patches go here...
# epatch ${FILESDIR}/${P}-udev_add_c-gcc295-compat.patch
# No need to clutter the logs ...
sed -ie '/^DEBUG/ c\DEBUG = false' Makefile
# Do not use optimization flags from the package
sed -ie 's|$(OPTIMIZATION)||g' Makefile
# Make sure there is no sudden changes to udev.rules.gentoo
# (more for my own needs than anything else ...)
if [ "`md5sum < "${S}/etc/udev/udev.rules.gentoo"`" != \
"1b240acdcf4cbfacf9b749b55271e26b -" ]
then
echo
eerror "udev.rules.gentoo has been updated, please validate!"
die "udev.rules.gentoo has been updated, please validate!"
fi
# Setup things for klibc
if [ "${USE_KLIBC}" = "yes" ]
then
ln -snf ${ROOT}/usr/src/linux ${S}/klibc/linux
fi
}
src_compile() {
local myconf=
local extras="extras/scsi_id"
# DBUS support?
# disabled for now as it's currently broken.
# if which pkg-config &>/dev/null && pkg-config dbus-1 &>/dev/null
# then
# myconf="USE_DBUS=true"
# fi
# Device-mapper support?
if false
then
extras="${extras} extras/multipath"
fi
# Do not work with emake
make EXTRAS="${extras}" \
udevdir="/dev/" \
${myconf} || die
}
src_install() {
dobin udevinfo udevtest
into /
dosbin udev udevd udevsend udevstart
dosbin extras/scsi_id/scsi_id
# Device-mapper support?
if false
then
dosbin extras/multipath/{multipath,devmap_name}
exeinto /etc/hotplug.d/scsi/
doexe extras/multipath/multipath.hotplug
fi
exeinto /etc/udev/scripts
doexe extras/ide-devfs.sh
doexe extras/scsi-devfs.sh
insinto /etc/udev
newins ${FILESDIR}/udev.conf.post_024 udev.conf
# newins etc/udev/udev.rules udev.rules.example
# For devfs style layout
insinto /etc/udev/rules.d/
newins etc/udev/udev.rules.gentoo 50-udev.rules
# Our own custom udev.permissions
insinto /etc/udev/permissions.d/
newins etc/udev/udev.permissions.gentoo 50-udev.permissions
# doins ${FILESDIR}/udev.permissions
# doins etc/udev/udev.permissions
insinto /etc
doins extras/scsi_id/scsi_id.config
# DBUS support?
# if which pkg-config &>/dev/null && pkg-config dbus-1 &>/dev/null
# then
# insinto /etc/dbus-1/system.d
# doins etc/dbus-1/system.d/udev_sysbus_policy.conf
# fi
dodir /etc/hotplug.d/default
dosym ../../../sbin/udevsend /etc/hotplug.d/default/udev.hotplug
# set up the /etc/dev.d directory tree
dodir /etc/dev.d/default
dodir /etc/dev.d/net
exeinto /etc/dev.d/net
doexe etc/dev.d/net/hotplug.dev
doman *.8
doman extras/scsi_id/scsi_id.8
dodoc COPYING ChangeLog FAQ HOWTO-udev_for_dev README TODO
dodoc docs/{overview,udev-OLS2003.pdf,udev_vs_devfs,RFC-dev.d}
}
pkg_preinst() {
if [ -f "${ROOT}/etc/udev/udev.config" -a \
! -f "${ROOT}/etc/udev/udev.rules" ]
then
mv -f ${ROOT}/etc/udev/udev.config ${ROOT}/etc/udev/udev.rules
fi
}
pkg_postinst() {
if [ "${ROOT}" = "/" -a -n "`pidof udevd`" ]
then
killall -15 udevd &>/dev/null
sleep 1
killall -9 udevd &>/dev/null
fi
}
|