--- /usr/portage/eclass/linux-mod.eclass 2004-12-29 11:45:25.000000000 +0100 +++ eclass/linux-mod.eclass 2005-01-01 19:47:40.416333472 +0100 @@ -257,7 +257,8 @@ } linux-mod_src_compile() { - local modulename moduledir sourcedir moduletemp xarch i + local modulename moduledir sourcedir moduletemp xarch i curdir + curdir="$(pwd)" xarch="${ARCH}" unset ARCH @@ -275,13 +276,16 @@ einfo "Preparing ${modulename} module" cd ${sourcedir} - emake ${BUILD_PARAMS} ${BUILD_TARGETS:-clean module} || die Unable to make ${BUILD_PARAMS} ${BUILD_TARGETS:-clean module}. + emake ${BUILD_PARAMS} ${BUILD_TARGETS:-clean module} || \ + die "Unable to make ${BUILD_PARAMS} ${BUILD_TARGETS:-clean module}." done ARCH="${xarch}" + cd ${curdir} } linux-mod_src_install() { - local modulename moduledir sourcedir moduletemp i + local modulename moduledir sourcedir moduletemp i curdir j unevaled + curdir="$(pwd)" for i in ${MODULE_NAMES} do @@ -301,7 +305,26 @@ doins ${modulename}.${KV_OBJ} [ -z "${NO_MODULESD}" ] && generate_modulesd ${sourcedir}/${modulename} + + if use modulesrc; + then + einfo "Cleaning and installing ${modulename} sources" + emake clean + insinto /usr/src/linux-mod/${moduledir}/${modulename} + for j in $(ls ${sourcedir}); do doins ${sourcedir}/${j}; done + + 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\}} + echo "${unevaled}" > \ + ${D}/usr/src/linux-mod/${moduledir}/${modulename}/BUILD_PARAMS + echo "${BUILD_TARGETS}" > \ + ${D}/usr/src/linux-mod/${moduledir}/${modulename}/BUILD_TARGETS + fi done + cd ${curdir} } linux-mod_pkg_postinst() {