--- /usr/portage/eclass/linux-mod.eclass 2005-01-17 01:13:15.000000000 +0100 +++ linux-mod.eclass 2005-01-19 21:21:59.000000000 +0100 @@ -108,7 +108,7 @@ } update_modules() { - if [ -x /sbin/modules-update ] ; + if [ -x /sbin/modules-update ] && [ -e ${D}/etc/modules.d ] then ebegin "Updating modules.conf" /sbin/modules-update @@ -374,6 +374,33 @@ cd ${OLDPWD} [ -z "${NO_MODULESD}" ] && generate_modulesd ${objdir}/${modulename} + + if use modulesrc + then + if [ ! -f "${srcdir}/.installed" ] + then + einfo "Cleaning and installing ${modulename} sources" + insinto /usr/src/linux-mod/${PN}/${srcdir/${WORKDIR}} + for j in $(ls -A ${srcdir}); do doins ${srcdir}/${j}; done + cd ${D}/usr/src/linux-mod/${PN}/${srcdir/${WORKDIR}} + make clean || rm *.o *.ko *.mod.c + rm .[^.]* -r + unevaled=${BUILD_PARAMS/${KV_DIR}/\$\{KV_DIR\}} + unevaled=${unevaled/${KV_OUT_DIR}/\$\{KV_OUT_DIR\}} + unevaled=${unevaled/${KV_FULL}/\$\{KV_FULL\}} + unevaled=${unevaled/${KV_MAJOR}/\$\{KV_MAJOR\}} + unevaled=${unevaled/${KV_MINOR}/\$\{KV_MINOR\}} + unevaled=${unevaled/${KERNEL_DIR}/\$\{KERNEL_DIR\}} + echo -e \ + "BUILD_PARAMS=\"${unevaled}\"\nBUILD_TARGETS=\"${BUILD_TARGETS}\"" \ + > ${D}/usr/src/linux-mod/${PN}/${srcdir/${WORKDIR}}/BUILD + echo "${srcdir/${WORKDIR}\/}" >> \ + ${D}/usr/src/linux-mod/${PN}/SRCDIRS + fi + echo "${libdir}:${modulename}" >> \ + ${D}/usr/src/linux-mod/${PN}/${srcdir/${WORKDIR}}/MODULE_NAMES + touch ${srcdir}/.installed + fi done }