diff options
author | Aron Griffis <agriffis@gentoo.org> | 2005-06-27 16:19:25 +0000 |
---|---|---|
committer | Aron Griffis <agriffis@gentoo.org> | 2005-06-27 16:19:25 +0000 |
commit | 1aee9eb4aeff077ef3776d2c1c626f3bdc6d6bec (patch) | |
tree | ad2b17f99bbe2539ce9f54c32656ed18064a2384 /sys-apps/module-init-tools/module-init-tools-3.2_pre7.ebuild | |
parent | ~amd64 (diff) | |
download | gentoo-2-1aee9eb4aeff077ef3776d2c1c626f3bdc6d6bec.tar.gz gentoo-2-1aee9eb4aeff077ef3776d2c1c626f3bdc6d6bec.tar.bz2 gentoo-2-1aee9eb4aeff077ef3776d2c1c626f3bdc6d6bec.zip |
Bump to 3.2-pre7
(Portage version: 2.0.51.22-r1)
Diffstat (limited to 'sys-apps/module-init-tools/module-init-tools-3.2_pre7.ebuild')
-rw-r--r-- | sys-apps/module-init-tools/module-init-tools-3.2_pre7.ebuild | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/sys-apps/module-init-tools/module-init-tools-3.2_pre7.ebuild b/sys-apps/module-init-tools/module-init-tools-3.2_pre7.ebuild new file mode 100644 index 000000000000..0b97d8da6fcd --- /dev/null +++ b/sys-apps/module-init-tools/module-init-tools-3.2_pre7.ebuild @@ -0,0 +1,193 @@ +# 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_pre7.ebuild,v 1.1 2005/06/27 16:19:25 agriffis Exp $ + +inherit flag-o-matic eutils gnuconfig toolchain-funcs + +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 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="" +#IUSE="no-old-linux" + +DEPEND="virtual/libc + sys-libs/zlib + !virtual/modutils" +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. + # + # <drobbins@gentoo.org> (26 Mar 2003) +# if ! use no-old-linux ; then + cd ${WORKDIR}/modutils-${MODUTILS_PV} + epatch ${FILESDIR}/modutils-2.4.22-no-above-below.patch + epatch ${FILESDIR}/modutils-2.4.27-PATH_MAX.patch + epatch ${FILESDIR}/modutils-2.4.27-gcc34.patch + epatch ${FILESDIR}/modutils-2.4.27-gcc4.patch +# fi + + # Support legacy .o modules + cd ${S}; epatch ${FILESDIR}/${PN}-0.9.15-legacy-modext-support.patch + + # 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 + + 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 + export WANT_AUTOMAKE=1.6 + automake --add-missing + + cd ${S} + gnuconfig_update +# if ! use no-old-linux ; then + cp config.{guess,sub} ${WORKDIR}/modutils-${MODUTILS_PV}/ +# fi +} + +src_compile() { + 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 +} |