diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2010-09-04 10:43:02 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2010-09-04 10:43:02 +0000 |
commit | e87b38ad1f42b554bd7bc7d160c954f4056b03fe (patch) | |
tree | 49f6f5e34246bd6ab1b0e2e7d624458651211733 /sys-apps/module-init-tools/module-init-tools-3.12-r1.ebuild | |
parent | Automated update of use.local.desc (diff) | |
download | gentoo-2-e87b38ad1f42b554bd7bc7d160c954f4056b03fe.tar.gz gentoo-2-e87b38ad1f42b554bd7bc7d160c954f4056b03fe.tar.bz2 gentoo-2-e87b38ad1f42b554bd7bc7d160c954f4056b03fe.zip |
Install /etc/modprobe.d/usb-load-ehci-first.conf that will ensure ehci is loaded before uhci or ohci wrt #260139. Thanks to Szymon Zygmunt, Martin Mokrejš, Pacho Ramos and Mike Frysinger.
(Portage version: 2.2_rc69/cvs/Linux x86_64)
Diffstat (limited to 'sys-apps/module-init-tools/module-init-tools-3.12-r1.ebuild')
-rw-r--r-- | sys-apps/module-init-tools/module-init-tools-3.12-r1.ebuild | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/sys-apps/module-init-tools/module-init-tools-3.12-r1.ebuild b/sys-apps/module-init-tools/module-init-tools-3.12-r1.ebuild new file mode 100644 index 000000000000..d823044f0923 --- /dev/null +++ b/sys-apps/module-init-tools/module-init-tools-3.12-r1.ebuild @@ -0,0 +1,97 @@ +# 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-r1.ebuild,v 1.1 2010/09/04 10:43:02 ssuominen 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 + + 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 +} |