blob: 48166e3c92309886080bc5dce4db7ac4dba2fe9c [file] [log] [blame]
# Copyright 1999-2011 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.16-r1.ebuild,v 1.4 2011/08/16 13:18:35 chainsaw 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
mirror://gentoo/${P}-man.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86"
IUSE="static"
RESTRICT="test"
DEPEND="sys-libs/zlib"
RDEPEND="${DEPEND}
!<sys-apps/baselayout-2.0.1
!sys-apps/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() {
# this manually runs configure and stuff, so ignore it
./tests/runtests -v || 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
cat <<-EOF > "${T}"/usb-load-ehci-first.conf
install ohci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe --ignore-install ohci_hcd \$CMDLINE_OPTS
install uhci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe --ignore-install uhci_hcd \$CMDLINE_OPTS
EOF
insinto /etc/modprobe.d
doins "${T}"/usb-load-ehci-first.conf || die #260139
}
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
}