From 69750b07f313e5011da55da6ea86d431ed6c4882 Mon Sep 17 00:00:00 2001 From: Jon Portnoy Date: Mon, 3 May 2004 20:53:27 +0000 Subject: Fix for 2.4 static insmod, bug 45279 --- sys-apps/module-init-tools/ChangeLog | 7 +- sys-apps/module-init-tools/Manifest | 20 +-- .../files/digest-module-init-tools-3.0-r1 | 2 + .../module-init-tools-3.0-r1.ebuild | 174 +++++++++++++++++++++ 4 files changed, 193 insertions(+), 10 deletions(-) create mode 100644 sys-apps/module-init-tools/files/digest-module-init-tools-3.0-r1 create mode 100644 sys-apps/module-init-tools/module-init-tools-3.0-r1.ebuild (limited to 'sys-apps') diff --git a/sys-apps/module-init-tools/ChangeLog b/sys-apps/module-init-tools/ChangeLog index 6e0d975035d2..86a403209e13 100644 --- a/sys-apps/module-init-tools/ChangeLog +++ b/sys-apps/module-init-tools/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-apps/module-init-tools # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/sys-apps/module-init-tools/ChangeLog,v 1.59 2004/04/26 19:27:17 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/module-init-tools/ChangeLog,v 1.60 2004/05/03 20:53:27 avenj Exp $ + +*module-init-tools-3.0-r1 + 03 May 2004; Jon Portnoy module-init-tools-3.0-r1.ebuild : + Install static insmod for 2.4 kernels. Fix from Sascha Silbe in bug + #45279. 26 Apr 2004; Aron Griffis module-init-tools-0.9.15_pre4.ebuild, module-init-tools-3.0.ebuild, diff --git a/sys-apps/module-init-tools/Manifest b/sys-apps/module-init-tools/Manifest index 6ccbe8ea67b7..952ce3796167 100644 --- a/sys-apps/module-init-tools/Manifest +++ b/sys-apps/module-init-tools/Manifest @@ -1,15 +1,17 @@ +MD5 e6239944e742e86a88c5028ef1404439 ChangeLog 12746 +MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164 MD5 603128dc7e59d1e29e116163704d8907 module-init-tools-3.0_pre5.ebuild 4536 -MD5 53ca6150e0c2cc29857f7a98630e975b module-init-tools-3.0_pre10.ebuild 4544 -MD5 588958b0405ea8b7627f4c6335b2c28e module-init-tools-3.0.ebuild 4672 +MD5 2fbfd673a5946793b2c1ee853726268d module-init-tools-3.0.ebuild 4674 +MD5 2e9ab59ee6cac2360d95c689e826aaa3 module-init-tools-3.0-r1.ebuild 4694 MD5 f40f4b41c8016d15de878304a83dd231 module-init-tools-3.0_pre9.ebuild 4703 MD5 9f00d86a625b6b78a41543a4c402599f module-init-tools-0.9.15_pre4.ebuild 4534 -MD5 0831ad5429759a41df1913215f22d7ee ChangeLog 12559 -MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164 -MD5 f493caa88d59d74b3dac1f7ae71e93d2 files/digest-module-init-tools-3.0_pre10 148 -MD5 060ce311606657915548168939e965b4 files/modutils-2.4.22-no-above-below.patch 382 -MD5 3094756336026a6697bd37484bf68fb1 files/digest-module-init-tools-0.9.15_pre4 150 -MD5 dad38206451c8832f56fc4fb5fe98845 files/module-init-tools-3.0_pre9-properly-handle-alias_off.patch 377 +MD5 53ca6150e0c2cc29857f7a98630e975b module-init-tools-3.0_pre10.ebuild 4544 MD5 4b22ce79fdc8ce1efad2ac57c7f1fe34 files/digest-module-init-tools-3.0_pre5 147 -MD5 aefb12b59f79db8ea8f5cb17983e0d96 files/digest-module-init-tools-3.0_pre9 147 MD5 83210e779956a7d7b917a6fb8202dd4b files/digest-module-init-tools-3.0 142 +MD5 83210e779956a7d7b917a6fb8202dd4b files/digest-module-init-tools-3.0-r1 142 +MD5 aefb12b59f79db8ea8f5cb17983e0d96 files/digest-module-init-tools-3.0_pre9 147 +MD5 3094756336026a6697bd37484bf68fb1 files/digest-module-init-tools-0.9.15_pre4 150 +MD5 dad38206451c8832f56fc4fb5fe98845 files/module-init-tools-3.0_pre9-properly-handle-alias_off.patch 377 +MD5 f493caa88d59d74b3dac1f7ae71e93d2 files/digest-module-init-tools-3.0_pre10 148 MD5 07aa415fd57ac42cd0c11527edc9782d files/module-init-tools-0.9.15-legacy-modext-support.patch 481 +MD5 060ce311606657915548168939e965b4 files/modutils-2.4.22-no-above-below.patch 382 diff --git a/sys-apps/module-init-tools/files/digest-module-init-tools-3.0-r1 b/sys-apps/module-init-tools/files/digest-module-init-tools-3.0-r1 new file mode 100644 index 000000000000..43cd7b6234e9 --- /dev/null +++ b/sys-apps/module-init-tools/files/digest-module-init-tools-3.0-r1 @@ -0,0 +1,2 @@ +MD5 f8bfc480c4168978eca7037cd341da07 module-init-tools-3.0.tar.bz2 120768 +MD5 704c8d2834bcaa6f31d4ad79d154157a modutils-2.4.26.tar.bz2 235135 diff --git a/sys-apps/module-init-tools/module-init-tools-3.0-r1.ebuild b/sys-apps/module-init-tools/module-init-tools-3.0-r1.ebuild new file mode 100644 index 000000000000..48ae1c2c49ce --- /dev/null +++ b/sys-apps/module-init-tools/module-init-tools-3.0-r1.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# 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.0-r1.ebuild,v 1.1 2004/05/03 20:53:27 avenj Exp $ + +# This ebuild includes backwards compatability for stable 2.4 kernels +IUSE="" + +inherit flag-o-matic eutils gnuconfig + +MYP="${P/_pre/-pre}" +S="${WORKDIR}/${MYP}" +MODUTILS_PV="2.4.26" +DESCRIPTION="Kernel module tools for the development kernel >=2.5.48" +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" +HOMEPAGE="http://www.kernel.org/pub/linux/kernel/people/rusty/modules" + +KEYWORDS="~x86 ~amd64 ~ppc ~sparc ~alpha ~mips ~ia64 ~arm ~ppc64 ~hppa ~s390" +LICENSE="GPL-2" +SLOT="0" + +DEPEND="virtual/glibc + sys-libs/zlib" + +PROVIDE="virtual/modutils" + +src_unpack() { + unpack ${A} + + # With the b0rked modutils, "modprobe hid" does work. But if something + # (like hotplug) tries to auto-load hid (because another module needs it, + # via the kernel module auto-loader) and keybdev.o or mousedev.o don't + # exist, then the "above" clause fails and the hid module never gets + # loaded, and then things like USB will fail. Thus we remove it all + # together. + # + # (26 Mar 2003) + cd ${WORKDIR}/modutils-${MODUTILS_PV} + epatch ${FILESDIR}/modutils-2.4.22-no-above-below.patch + + # Support legacy .o modules + cd ${S}; epatch ${FILESDIR}/${PN}-0.9.15-legacy-modext-support.patch + + cd ${S} + rm -f missing + export WANT_AUTOMAKE=1.6 + automake --add-missing +} + +src_compile() { + + # If running mips64, we need updated configure data + use mips && gnuconfig_update + + local myconf= + + filter-flags -fPIC + + einfo "Building modutils..." + cd ${WORKDIR}/modutils-${MODUTILS_PV} + + econf \ + --disable-strip \ + --prefix=/ \ + --enable-insmod-static \ + --disable-zlib \ + ${myconf} || die "econf failed" + + if [ "${ARCH}" = "hppa" ] + then + mymake="ARCH=hppa" + fi + + emake ${mymake} || die "emake modutils failed" + einfo "Building module-init-tools..." + cd ${S} + + econf \ + --prefix=/ \ + --enable-zlib \ + ${myconf} || die "econf failed" + + emake || die "emake module-init-tools failed" +} + +src_install () { + + if [ "${ARCH}" = "hppa" ] + then + mymake="ARCH=hppa" + fi + + cd ${WORKDIR}/modutils-${MODUTILS_PV} + einstall prefix="${D}" ${mymake} + + docinto modutils-${MODUTILS_PV} + dodoc COPYING 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 + + einstall prefix=${D} + + # Install compat symlink + dosym ../bin/lsmod /sbin/lsmod + 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 COPYING 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 +} + -- cgit v1.2.3-65-gdbad