As you may be aware modutils has now been deprecated in favour of module-init-tools which incorporates all the previous functionality and behaviour. This is a request for those archs which still have modutils in the virtual/modutils in their profiles to migrate to using module-init-tools. Regards, John
This is not an option at this time for the embedded/uclibc profiles. Here is what happens for us on x86 for example. >>> Unpacking modutils-2.4.26.tar.bz2 to /var/tmp/portage/module-init-tools-3.0-r2/work * Applying modutils-2.4.22-no-above-below.patch... [ ok ] * Applying module-init-tools-0.9.15-legacy-modext-support.patch... [ ok ] * Applying generate-modprobe-assume-kernel.patch... [ ok ]configure.in: installing `./missing' >>> Source unpacked. * Building modutils... configure: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used. checking build system type... i686-pc-linux-gnu checking host system type... Invalid configuration `i386-pc-linux-uclibc': machine `i386-pc-linux' not recognized configure: error: /bin/sh ./config.sub i386-pc-linux-uclibc failed ----------------------------------- Now what we normally do is call gnuconfig_update which updates the config.sub config.guess. However updating these files works for every package I've encountered so far bug this _one_ Modutils on the other hand works quite well. I really was not planning to doing any sort of indepth debugging the why this is happening quite yet. So... What to do other than say virtual/modutils needs to remain..??? I can provide you with a complete development environment about ~9Megs if you wish to test and debug.
Created attachment 34916 [details, diff] module-init-tools-3.0-r2.ebuild.patch This patch allows modules-init-tools to build in the uclibc environment, but may raise some repoman (or that aliz thing) QA questions about redefining S= from within a function for a temp operation. There is no easy thing to say about this other than this is exactly what it needs to do..
Oh... and it seems we no longer need to filter-flags -fPIC
solar, I've just committed a new gnuconfig.eclass that allows the first argument to gnuconfig_update to be the starting directory for the update. so you can change the patch to simply gnuconfig_update ${WORKDIR} Additionally please don't do it conditionally on architecture or USE flags. gnuconfig_update is entirely safe and has never ever caused a problem. Generally if it is needed in one case then it is needed in others, so we end up with ridiculous stuff like this: use uclibc && gnuconfig_update use alpha && gnuconfig_update use mips && gnuconfig_update and then later I have to come along and add in ia64! Kinda stupid. Rather just call gnuconfig_update regardless of architecture or flags. I generally insert a comment in that case: # needed at least for mips and uclibc gnuconfig_update Hope that helps.
confirmed here to work with the following test: >>> sys-apps/module-init-tools-3.0-r2 merged. >>> Recording sys-apps/module-init-tools in "world" favorites file... keeptemp mv: cannot stat `/var/tmp/portage/module-init-tools-3.0-r2/temp/environment': No such file or directory keepwork >>> clean: No packages selected for removal. >>> Auto-cleaning packages ... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. # cat /etc/make.conf # These settings were set by the catalyst build script that automatically built this stage # Please consult /etc/make.conf.example for a more detailed example #CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer -fforce-addr" CHOST="i386-pc-linux-gnu" CXXFLAGS="${CFLAGS}" USE="hardened nptl static pic pie" FEATURES="nostrip keeptemp keepwork debug quickpkg" CFLAGS="-O2 -fPIC -Wl,-pie" KEYWORDS="~x86" PORTDIR_OVERLAY="/usr/portage-overlay" # gcc -v Reading specs from /usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/specs Configured with: /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/configure --prefix=/usr --bindir=/usr/i386-pc-linux-gnu/gcc-bin/3.3 --includedir=/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include --datadir=/usr/share/gcc-data/i386-pc-linux-gnu/3.3 --mandir=/usr/share/gcc-data/i386-pc-linux-gnu/3.3/man --infodir=/usr/share/gcc-data/i386-pc-linux-gnu/3.3/info --enable-shared --host=i386-pc-linux-gnu --target=i386-pc-linux-gnu --with-system-zlib --enable-languages=c,c++ --enable-threads=posix --enable-long-long --disable-checking --disable-libunwind-exceptions --enable-cstdio=stdio --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/g++-v3 --with-local-prefix=/usr/local --enable-shared --enable-nls --without-included-gettext --disable-multilib --enable-__cxa_atexit --enable-clocale=generic Thread model: posix gcc version 3.3.3 20040412 (Gentoo Hardened Linux 3.3.3-r6, ssp-3.3.2-2, pie-8.7.6) # file $(which insmod) /sbin/insmod: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped # emerge info Portage 2.0.50-r7 (hardened-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.4.26-py) ================================================================= System uname: 2.4.26-py i686 Mobile Intel(R) Pentium(R) 4 - M CPU 1.80GHz Gentoo Base System version 1.4.15 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -fPIC -Wl,-pie" CHOST="i386-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache debug keeptemp keepwork nostrip quickpkg sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage-overlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="berkdb crypt hardened nls nptl pam perl pic pie python readline ssl static tcpd x86 zlib
fixed hppa/arm
mips all set.
sparc 'lovin done.
uclibc profiles are up2date now
can ppc confirm this yet please?
PPC done
ok, this will def be happening for everyone in 2004.3 since the cascading profiles all use it
hrmm. I guess nobody else from hardened looks at bugzilla ;/ Anyway hardened has a 2.4 and 2.6 profile. Each profile enables the correct virtuals. Is the plan here to completely drop the modutils all together or just make better effective use of it? From an ACL/policy perspective when using 2.4 it's sorta mess to have module-init-utils installed which execve() things as blah.old vs blah. ie people will have to update their policies which is probably not a big deal but you (2.6 fans) should give them warning.