Index: linux-info.eclass =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/linux-info.eclass,v retrieving revision 1.7 diff -u -b -B -r1.7 linux-info.eclass --- linux-info.eclass 5 Dec 2004 12:46:58 -0000 1.7 +++ linux-info.eclass 5 Dec 2004 15:25:03 -0000 @@ -304,6 +304,15 @@ if [ -n "${error}" ] ; then + if [ ! -z "${CONFIG_CHECK_ERROR}" ] ; + then + echo + IFS="$(echo -en "\n\b")" + for i in ${CONFIG_CHECK_ERROR} + do eerror ${i} + done + echo + fi eerror "Please check to make sure these options are set correctly." eerror "Once you have satisfied these options, please try merging" eerror "this package again." Index: linux-mod.eclass =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/linux-mod.eclass,v retrieving revision 1.5 diff -u -b -B -r1.5 linux-mod.eclass --- linux-mod.eclass 28 Nov 2004 09:47:31 -0000 1.5 +++ linux-mod.eclass 5 Dec 2004 15:25:03 -0000 @@ -104,6 +104,65 @@ echo } +# produce /etc/modules.d file +modconfig_generate() { +local modulename conf i params readme numaliases opts optsexample opttext + + modulename="$1" + + [ -z "$(eval echo \$\{!MODCONFIG_${modulename}_*\})" ] && return + + conf="${WORKDIR}/modconf-${modulename}" + readme="$(eval echo \$\{MODCONFIG_${modulename}_README\})" + opts="$(eval echo \$\{MODCONFIG_${modulename}_OPTS\})" + opttext="$(eval echo \$\{MODCONFIG_${modulename}_OPTSTEXT\})" + optsexample="$(eval echo \$\{MODCONFIG_${modulename}_OPTSEXAMPLEONLY\})" + numaliases="$(eval echo \$\{#MODCONFIG_${modulename}_ALIASES[*]\})" + + einfo "Installing ${modulename} module config file" + + echo "# Configuration file for ${modulename} module" > ${conf} + echo >> ${conf} + + if [ ${numaliases} > 0 ] + then + echo "# Internal aliases, do not edit" >> ${conf} + (( numaliases-- )) + for i in $(seq 0 ${numaliases}) + do + echo "alias $(eval echo \$\{MODCONFIG_${modulename}_ALIASES[$i]\})" >> ${conf} + done + echo >> ${conf} + fi + + params="$(modinfo -p ${modulename}.${KV_OBJ})" + if [ ! -z "${params}" ] + then + echo "# Configurable module parameters" >> ${conf} + [ ! -z "$readme" ] && echo "# For more details, see $readme" >> ${conf} + echo "#" >> ${conf} + + IFS="$(echo -en "\n\b")" + for i in ${params} + do + echo "# ${i%%:*} - ${i#*:}" >> ${conf} + done + echo >> ${conf} + fi + + if [ ! -z "${opts}" ] + then + [ ! -z ${opttext} ] && echo "# ${opttext}" >> ${conf} \ + || echo "# For example:" >> ${conf} + [ ! -z "${optsexample}" ] && echo "# options ${modulename} ${opts}" >> ${conf} \ + || echo "options ${modulename} ${opts}" >> ${conf} + fi + + insinto /etc/modules.d + newins ${WORKDIR}/modconf-${modulename} ${modulename} + +} + # default ebuild functions # -------------------------------- @@ -153,6 +212,8 @@ cd ${sourcedir} insinto /lib/modules/${KV_FULL}/${moduledir} doins ${modulename}.${KV_OBJ} + + modconfig_generate ${modulename} done }