# Copyright 1999-2012 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.8 2012/02/04 00:33:38 williamh 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}
	! "${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
}