blob: 1a66ac51fc64a17be6a19e99074324923ffc654c (
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
|
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/module-init-tools/module-init-tools-3.12.ebuild,v 1.2 2010/08/06 05:56:00 vapier Exp $
inherit eutils flag-o-matic
DESCRIPTION="tools for managing linux kernel modules"
HOMEPAGE="http://modules.wiki.kernel.org/"
SRC_URI="mirror://kernel/linux/utils/kernel/module-init-tools/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
IUSE="static"
DEPEND="sys-libs/zlib
>=sys-apps/baselayout-2.0.1
!virtual/modutils"
PROVIDE="virtual/modutils"
src_unpack() {
unpack ${A}
cd "${S}"
touch *.5 *.8 # dont regen manpages
}
src_compile() {
mkdir build && cd build #290207
use static && append-ldflags -static
ECONF_SOURCE=.. \
econf \
--prefix=/ \
--enable-zlib \
--enable-zlib-dynamic \
--disable-static-utils
emake || die
}
src_test() {
./tests/runtests || die
}
src_install() {
emake -C build install DESTDIR="${D}" || die
dodoc AUTHORS ChangeLog NEWS README TODO
into /
newsbin "${FILESDIR}"/update-modules-3.5.sh update-modules || die
doman "${FILESDIR}"/update-modules.8 || die
}
pkg_postinst() {
# cheat to keep users happy
if grep -qs modules-update "${ROOT}"/etc/init.d/modules ; then
sed -i 's:modules-update:update-modules:' "${ROOT}"/etc/init.d/modules
fi
# For files that were upgraded but not renamed via their ebuild to
# have a proper .conf extension, rename them so etc-update tools can
# take care of things. #274942
local i f cfg
eshopts_push -s nullglob
for f in "${ROOT}"etc/modprobe.d/* ; do
# The .conf files need no upgrading unless a non-.conf exists,
# so skip this until later ...
[[ ${f} == *.conf ]] && continue
# If a .conf doesn't exist, then a package needs updating, or
# the user created it, or it's orphaned. Either way, we don't
# really know, so leave it alone.
[[ ! -f ${f}.conf ]] && continue
i=0
while :; do
cfg=$(printf "%s/._cfg%04d_%s.conf" "${f%/*}" ${i} "${f##*/}")
[[ ! -e ${cfg} ]] && break
((i++))
done
elog "Updating ${f}; please run 'etc-update'"
mv "${f}.conf" "${cfg}"
mv "${f}" "${f}.conf"
done
# Whine about any non-.conf files that are left
for f in "${ROOT}"etc/modprobe.d/* ; do
[[ ${f} == *.conf ]] && continue
ewarn "The '${f}' file needs to be upgraded to end with a '.conf'."
ewarn "Either upgrade the package that owns it, or manually rename it."
done
eshopts_pop
}
|