diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-12-28 20:38:33 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-12-28 20:38:33 +0000 |
commit | a3f4cd4aad0ebd9bbb046330ae4c5c17329949a1 (patch) | |
tree | cf8f63398606ebd827d99251f7d6a0178d744609 /sys-apps/module-init-tools/module-init-tools-3.2.2.ebuild | |
parent | fixed building gnat on x86 off gcc-3.4 (#90685). (diff) | |
download | gentoo-2-a3f4cd4aad0ebd9bbb046330ae4c5c17329949a1.tar.gz gentoo-2-a3f4cd4aad0ebd9bbb046330ae4c5c17329949a1.tar.bz2 gentoo-2-a3f4cd4aad0ebd9bbb046330ae4c5c17329949a1.zip |
Version bump #116986 by Michael Cramer.
(Portage version: 2.1_pre2)
Diffstat (limited to 'sys-apps/module-init-tools/module-init-tools-3.2.2.ebuild')
-rw-r--r-- | sys-apps/module-init-tools/module-init-tools-3.2.2.ebuild | 187 |
1 files changed, 187 insertions, 0 deletions
diff --git a/sys-apps/module-init-tools/module-init-tools-3.2.2.ebuild b/sys-apps/module-init-tools/module-init-tools-3.2.2.ebuild new file mode 100644 index 000000000000..f91792f9afe2 --- /dev/null +++ b/sys-apps/module-init-tools/module-init-tools-3.2.2.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2005 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.2.2.ebuild,v 1.1 2005/12/28 20:38:33 vapier Exp $ + +inherit flag-o-matic eutils toolchain-funcs fixheadtails + +MYP="${P/_pre/-pre}" +S="${WORKDIR}/${MYP}" +MODUTILS_PV="2.4.27" +DESCRIPTION="Kernel module tools for the development kernel >=2.5.48" +HOMEPAGE="http://www.kernel.org/pub/linux/kernel/people/rusty/modules" +SRC_URI="mirror://kernel/linux/kernel/people/rusty/modules/${MYP}.tar.bz2 + mirror://kernel/linux/kernel/people/rusty/modules/old/${MYP}.tar.bz2 + mirror://kernel/linux/utils/kernel/modutils/v2.4/modutils-${MODUTILS_PV}.tar.bz2" +# !no-old-linux? ( mirror://kernel/linux/utils/kernel/modutils/v2.4/modutils-${MODUTILS_PV}.tar.bz2 )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="" +#IUSE="no-old-linux" +# The test code runs `make clean && configure` and screws up src_compile() +RESTRICT="test" + +DEPEND="sys-libs/zlib + !virtual/modutils" +PROVIDE="virtual/modutils" + +src_unpack() { + unpack ${A} + + # Patches for old modutils +# if ! use no-old-linux ; then + cd "${WORKDIR}"/modutils-${MODUTILS_PV} + epatch "${FILESDIR}"/modutils-2.4.27-alias.patch + epatch "${FILESDIR}"/modutils-2.4.27-gcc.patch + epatch "${FILESDIR}"/modutils-2.4.27-flex.patch + epatch "${FILESDIR}"/modutils-2.4.27-no-nested-function.patch +# fi + + ht_fix_file "${S}"/tests/test-depmod/10badcommand.sh + # Test fails due since it needs to write to /lib/modules so disable it + rm -f "${S}"/tests/test-depmod/01backcompat.sh + + # Fix bug 49926: This patch allows generate-modprobe.conf to + # accept the --assume-kernel=x.x.x option for generating livecds. + # This is a companion to a patch in baselayout-1.9.0 which allows + # the same flag to modules-update. + cd "${S}"; epatch "${FILESDIR}"/${PN}-3.1_generate-modprobe-assume-kernel.patch + + # Abort if we fail to run modprobe, bug #68689 + cd "${S}"; epatch "${FILESDIR}"/${PN}-3.2_pre7-abort-on-modprobe-failure.patch + + cd "${S}" + # make sure we don't try to regen the manpages + cp "${FILESDIR}"/3.1-modprobe.d.5.bz2 modprobe.d.5.bz2 || die + bunzip2 modprobe.d.5.bz2 || die + touch *.5 + + rm -f missing + automake --add-missing || die +} + +src_compile() { + # Configure script uses BUILDCFLAGS for cross-compiles but this + # defaults to CFLAGS which can be bad mojo + export BUILDCFLAGS=-pipe + export BUILDCC="$(tc-getBUILD_CC)" + +# if ! use no-old-linux ; then + einfo "Building modutils..." + cd ${WORKDIR}/modutils-${MODUTILS_PV} + econf \ + --disable-strip \ + --prefix=/ \ + --enable-insmod-static \ + --disable-zlib \ + || die "econf failed" + local mymake="" + [ "${ARCH}" = "hppa" ] && mymake="ARCH=hppa" + emake ${mymake} || die "emake modutils failed" +# fi + + einfo "Building module-init-tools..." + cd "${S}" + econf \ + --prefix=/ \ + --enable-zlib \ + || die "econf failed" + + # Our zlib.so is in /lib vs /usr/lib so it's safe to link with. + # this also fixes text relocations that were showing up in this pkg + emake LDADD="-lz" || die "emake module-init-tools failed" +} + +src_install() { +# if ! use no-old-linux ; then + local mymake="" + [ "${ARCH}" = "hppa" ] && mymake="ARCH=hppa" + cd ${WORKDIR}/modutils-${MODUTILS_PV} + einstall prefix="${D}" ${mymake} + + docinto modutils-${MODUTILS_PV} + dodoc CREDITS ChangeLog NEWS README TODO + + cd "${S}" + # This copies the old version of modutils to *.old so it still works + # with kernels <= 2.4; new versions will execve() the .old version if + # a 2.4 kernel is running... + # This code was borrowed from the module-init-tools Makefile + local runme= + local f= + for f in lsmod modprobe rmmod depmod insmod insmod.static modinfo + do + if [ -L ${D}/sbin/${f} ] + then + einfo "Moving symlink $f to ${f}.old" + #runme = the target of the symlink with a .old tagged on. + runme="`ls -l ${D}/sbin/${f} | sed 's/.* -> //'`.old" + [ ! -e ${D}/sbin/${runme} ] || einfo "${D}/sbin/${runme} not found" + dosym $runme /sbin/${f} || die + elif [ -e ${D}/sbin/${f} ] + then + einfo "Moving executable $f to ${f}.old" + fi + mv -f ${D}/sbin/${f} ${D}/sbin/${f}.old + done + # Move the man pages as well. We only do this for the man pages of the + # tools that module-init-tools will replace. + for f in ${D}/usr/share/man/man8/{lsmod,modprobe,rmmod,depmod,insmod}.8 + do + mv -f ${f} ${f%\.*}.old.${f##*\.} + done + # Fix the ksyms links #35601 + for f in ksyms kallsyms ; do + dosym insmod.old /sbin/${f} + dosym insmod.static.old /sbin/${f}.static + done +# fi + + cd "${S}" + einstall prefix=${D} + + # Install compat symlink + dosym ../bin/lsmod /sbin/lsmod + #use no-old-linux || + dosym ../sbin/insmod.old /bin/lsmod.old + # Install the modules.conf2modprobe.conf tool, so we can update + # modprobe.conf. + into / + dosbin "${S}"/generate-modprobe.conf + # Create the new modprobe.conf + dodir /etc + rm -f ${D}/etc/modprobe.conf + if [ ! -f ${ROOT}/etc/modprobe.devfs ] + then + # Support file for the devfs hack .. needed else modprobe borks. + # Baselayout-1.8.6.3 or there abouts will have a modules-update that + # will correctly generate /etc/modprobe.devfs .... + echo "### This file is automatically generated by modules-update" \ + > ${D}/etc/modprobe.devfs + else + # This is dynamic, so we do not want this in the package ... + rm -f ${D}/etc/modprobe.devfs + fi + + doman *.[1-8] + docinto / + dodoc AUTHORS ChangeLog INSTALL NEWS README TODO +} + +pkg_postinst() { + if [ "${ROOT}" = "/" ] + then + einfo "Updating config files..." + if [ -x /sbin/modules-update ] + then + /sbin/modules-update + elif [ -x /sbin/update-modules ] + then + /sbin/update-modules + elif [ -x /usr/sbin/update-modules ] + then + /usr/sbin/update-modules + fi + fi +} |