summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/linux-mod.eclass')
-rw-r--r--eclass/linux-mod.eclass150
1 files changed, 64 insertions, 86 deletions
diff --git a/eclass/linux-mod.eclass b/eclass/linux-mod.eclass
index ff2294f1e4ef..22a779ba6125 100644
--- a/eclass/linux-mod.eclass
+++ b/eclass/linux-mod.eclass
@@ -199,14 +199,13 @@ DEPEND="${RDEPEND}
use_m() {
debug-print-function ${FUNCNAME} $*
- # if we haven't determined the version yet, we need too.
- get_version;
+ # If we haven't determined the version yet, we need to.
+ get_version
- # if the kernel version is greater than 2.6.6 then we should use
+ # If the kernel version is greater than 2.6.6 then we should use
# M= instead of SUBDIRS=
- [ ${KV_MAJOR} -ge 3 ] && return 0
- [ ${KV_MAJOR} -eq 2 -a ${KV_MINOR} -gt 5 -a ${KV_PATCH} -gt 5 ] && \
- return 0 || return 1
+ [[ ${KV_MAJOR} -ge 3 ]] && return 0
+ [[ ${KV_MAJOR} -eq 2 && ${KV_MINOR} -gt 5 && ${KV_PATCH} -gt 5 ]]
}
# @FUNCTION: convert_to_m
@@ -216,10 +215,10 @@ use_m() {
convert_to_m() {
debug-print-function ${FUNCNAME} $*
- if use_m
- then
- [ ! -f "${1}" ] && \
+ if use_m; then
+ [[ ! -f "${1}" ]] && \
die "convert_to_m() requires a filename as an argument"
+
ebegin "Converting ${1/${WORKDIR}\//} to use M= instead of SUBDIRS="
sed -i 's:SUBDIRS=:M=:g' "${1}"
eend $?
@@ -233,12 +232,11 @@ convert_to_m() {
update_depmod() {
debug-print-function ${FUNCNAME} $*
- # if we haven't determined the version yet, we need too.
- get_version;
+ # If we haven't determined the version yet, we need to.
+ get_version
ebegin "Updating module dependencies for ${KV_FULL}"
- if [ -r "${KV_OUT_DIR}"/System.map ]
- then
+ if [[ -r "${KV_OUT_DIR}"/System.map ]]; then
depmod -ae -F "${KV_OUT_DIR}"/System.map -b "${ROOT:-/}" ${KV_FULL}
eend $?
else
@@ -310,15 +308,15 @@ remove_moduledb() {
set_kvobj() {
debug-print-function ${FUNCNAME} $*
- if kernel_is ge 2 6
- then
+ if kernel_is ge 2 6; then
KV_OBJ="ko"
else
KV_OBJ="o"
fi
+
# Do we really need to know this?
- # Lets silence it.
- # einfo "Using KV_OBJ=${KV_OBJ}"
+ # Let's silence it.
+ #einfo "Using KV_OBJ=${KV_OBJ}"
}
# @FUNCTION: get-KERNEL_CC
@@ -334,7 +332,7 @@ get-KERNEL_CC() {
fi
local kernel_cc
- if [ -n "${KERNEL_ABI}" ]; then
+ if [[ -n "${KERNEL_ABI}" ]]; then
# In future, an arch might want to define CC_$ABI
#kernel_cc="$(get_abi_CC)"
#[ -z "${kernel_cc}" ] &&
@@ -358,14 +356,13 @@ get-KERNEL_CC() {
# At the end the documentation specified with MODULESD_<modulename>_DOCS is installed.
generate_modulesd() {
debug-print-function ${FUNCNAME} $*
- [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+ [[ -n "${MODULES_OPTIONAL_USE}" ]] && use !${MODULES_OPTIONAL_USE} && return
local currm_path currm currm_t t myIFS myVAR
local module_docs module_enabled module_aliases \
module_additions module_examples module_modinfo module_opts
- for currm_path in ${@}
- do
+ for currm_path in ${@}; do
currm=${currm_path//*\/}
currm=$(echo ${currm} | tr '[:lower:]' '[:upper:]')
currm_t=${currm}
@@ -388,8 +385,7 @@ generate_modulesd() {
[[ ${module_enabled} == no ]] && return 0
# unset any unwanted variables.
- for t in ${!module_*}
- do
+ for t in ${!module_*}; do
[[ -z ${!t} ]] && unset ${t}
done
@@ -427,19 +423,16 @@ generate_modulesd() {
fi
#-----------------------------------------------------------------------
- if [[ -n ${module_modinfo} ]]
- then
+ if [[ -n ${module_modinfo} ]]; then
echo >> "${module_config}"
echo "# Configurable module parameters" >> "${module_config}"
echo "# ------------------------------" >> "${module_config}"
myIFS="${IFS}"
IFS="$(echo -en "\n\b")"
- for t in ${module_modinfo}
- do
+ for t in ${module_modinfo}; do
myVAR="$(echo ${t#*:} | grep -o "[^ ]*[0-9][ =][^ ]*" | tail -1 | grep -o "[0-9]")"
- if [[ -n ${myVAR} ]]
- then
+ if [[ -n ${myVAR} ]]; then
module_opts="${module_opts} ${t%%:*}:${myVAR}"
fi
echo -e "# ${t%%:*}:\t${t#*:}" >> "${module_config}"
@@ -449,11 +442,9 @@ generate_modulesd() {
fi
#-----------------------------------------------------------------------
- if [[ $(eval echo \${MODULESD_${currm}_ALIASES[0]}) == guess ]]
- then
- # So lets do some guesswork eh?
- if [[ -n ${module_opts} ]]
- then
+ if [[ $(eval echo \${MODULESD_${currm}_ALIASES[0]}) == guess ]]; then
+ # So, let's do some guesswork, eh?
+ if [[ -n ${module_opts} ]]; then
echo "# For Example..." >> "${module_config}"
echo "# --------------" >> "${module_config}"
for t in ${module_opts}
@@ -462,12 +453,10 @@ generate_modulesd() {
done
echo '' >> "${module_config}"
fi
- elif [[ ${module_examples} -gt 0 ]]
- then
+ elif [[ ${module_examples} -gt 0 ]]; then
echo "# For Example..." >> "${module_config}"
echo "# --------------" >> "${module_config}"
- for((t=0; t<${module_examples}; t++))
- do
+ for ((t=0; t<${module_examples}; t++)); do
echo "options $(eval echo \${MODULESD_${currm}_EXAMPLES[$t]})" \
>> "${module_config}"
done
@@ -475,10 +464,8 @@ generate_modulesd() {
fi
#-----------------------------------------------------------------------
- if [[ ${module_additions} -gt 0 ]]
- then
- for((t=0; t<${module_additions}; t++))
- do
+ if [[ ${module_additions} -gt 0 ]]; then
+ for ((t=0; t<${module_additions}; t++)); do
echo "$(eval echo \${MODULESD_${currm}_ADDITIONS[$t]})" \
>> "${module_config}"
done
@@ -510,8 +497,7 @@ find_module_params() {
local matched_offset=0 matched_opts=0 test="${@}" temp_var result
local i=0 y=0 z=0
- for((i=0; i<=${#test}; i++))
- do
+ for ((i=0; i<=${#test}; i++)); do
case ${test:${i}:1} in
\() matched_offset[0]=${i};;
\:) matched_opts=$((${matched_opts} + 1));
@@ -521,8 +507,7 @@ find_module_params() {
esac
done
- for((i=0; i<=${matched_opts}; i++))
- do
+ for ((i=0; i<=${matched_opts}; i++)); do
# i = offset were working on
# y = last offset
# z = current offset - last offset
@@ -556,7 +541,7 @@ find_module_params() {
# in the kernel and sets the object extension KV_OBJ.
linux-mod_pkg_setup() {
debug-print-function ${FUNCNAME} $*
- [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+ [[ -n "${MODULES_OPTIONAL_USE}" ]] && use !${MODULES_OPTIONAL_USE} && return
local is_bin="${MERGE_TYPE}"
@@ -569,12 +554,12 @@ linux-mod_pkg_setup() {
# External modules use kernel symbols (bug #591832)
CONFIG_CHECK+=" !TRIM_UNUSED_KSYMS"
- linux-info_pkg_setup;
+ linux-info_pkg_setup
require_configured_kernel
- check_kernel_built;
- strip_modulenames;
+ check_kernel_built
+ strip_modulenames
[[ -n ${MODULE_NAMES} ]] && check_modules_supported
- set_kvobj;
+ set_kvobj
}
# @FUNCTION: linux-mod_pkg_setup_binary
@@ -586,13 +571,13 @@ linux-mod_pkg_setup_binary() {
debug-print-function ${FUNCNAME} $*
local new_CONFIG_CHECK
# ~ needs always to be quoted, else bash expands it.
- for config in $CONFIG_CHECK ; do
+ for config in ${CONFIG_CHECK} ; do
optional='~'
[[ ${config:0:1} == "~" ]] && optional=''
new_CONFIG_CHECK="${new_CONFIG_CHECK} ${optional}${config}"
done
CONFIG_CHECK="${new_CONFIG_CHECK}"
- linux-info_pkg_setup;
+ linux-info_pkg_setup
}
# @FUNCTION: strip_modulenames
@@ -617,7 +602,7 @@ strip_modulenames() {
# Look at the description of these variables for more details.
linux-mod_src_compile() {
debug-print-function ${FUNCNAME} $*
- [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+ [[ -n "${MODULES_OPTIONAL_USE}" ]] && use !${MODULES_OPTIONAL_USE} && return
local modulename libdir srcdir objdir i n myABI="${ABI}"
set_arch_to_kernel
@@ -631,30 +616,25 @@ linux-mod_src_compile() {
local -x CROSS_COMPILE=${CROSS_COMPILE-${CHOST}-}
BUILD_TARGETS=${BUILD_TARGETS:-clean module}
- strip_modulenames;
- cd "${S}"
- touch Module.symvers
- for i in ${MODULE_NAMES}
- do
+ strip_modulenames
+ cd "${S}" || die
+ touch Module.symvers || die
+ for i in ${MODULE_NAMES}; do
unset libdir srcdir objdir
- for n in $(find_module_params ${i})
- do
+ for n in $(find_module_params ${i}); do
eval ${n/:*}=${n/*:/}
done
libdir=${libdir:-misc}
srcdir=${srcdir:-${S}}
objdir=${objdir:-${srcdir}}
- if [ ! -f "${srcdir}/.built" ];
- then
- cd "${srcdir}"
- ln -s "${S}"/Module.symvers Module.symvers
+ if [[ ! -f "${srcdir}/.built" ]]; then
+ cd "${srcdir}" || die
+ ln -s "${S}"/Module.symvers Module.symvers || die
einfo "Preparing ${modulename} module"
- if [[ -n ${ECONF_PARAMS} ]]
- then
+ if [[ -n ${ECONF_PARAMS} ]]; then
eqawarn "This package relies on the deprecated functionality of econf being called in linux-mod_src_compile (ECONF_PARAMS), which will go away in 30 days (20230107) (https://bugs.gentoo.org/340597)"
- econf ${ECONF_PARAMS} || \
- die "Unable to run econf ${ECONF_PARAMS}"
+ econf ${ECONF_PARAMS}
fi
# This looks messy, but it is needed to handle multiple variables
@@ -668,8 +648,8 @@ linux-mod_src_compile() {
${BUILD_PARAMS} \
${BUILD_TARGETS} " \
|| die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}"
- cd "${OLDPWD}"
- touch "${srcdir}"/.built
+ cd "${OLDPWD}" || die
+ touch "${srcdir}"/.built || die
fi
done
@@ -690,18 +670,16 @@ linux-mod_src_compile() {
# Look at the description of these variables for more details.
linux-mod_src_install() {
debug-print-function ${FUNCNAME} $*
- [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+ [[ -n "${MODULES_OPTIONAL_USE}" ]] && use !${MODULES_OPTIONAL_USE} && return
local modulename libdir srcdir objdir i n
[[ -n ${KERNEL_DIR} ]] && addpredict "${KERNEL_DIR}/null.dwo"
- strip_modulenames;
- for i in ${MODULE_NAMES}
- do
+ strip_modulenames
+ for i in ${MODULE_NAMES}; do
unset libdir srcdir objdir
- for n in $(find_module_params ${i})
- do
+ for n in $(find_module_params ${i}); do
eval ${n/:*}=${n/*:/}
done
libdir=${libdir:-misc}
@@ -742,22 +720,22 @@ linux-mod_src_install() {
# It checks what to do after having merged the package.
linux-mod_pkg_preinst() {
debug-print-function ${FUNCNAME} $*
- [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+ [[ -n ${MODULES_OPTIONAL_USE} ]] && use !${MODULES_OPTIONAL_USE} && return
- [ -d "${D%/}/lib/modules" ] && UPDATE_DEPMOD=true || UPDATE_DEPMOD=false
- [ -d "${D%/}/lib/modules" ] && UPDATE_MODULEDB=true || UPDATE_MODULEDB=false
+ [[ -d ${D%/}/lib/modules ]] && UPDATE_DEPMOD=true || UPDATE_DEPMOD=false
+ [[ -d ${D%/}/lib/modules ]] && UPDATE_MODULEDB=true || UPDATE_MODULEDB=false
}
# @FUNCTION: linux-mod_pkg_postinst
# @DESCRIPTION:
# It executes /sbin/depmod and adds the package to the /var/lib/module-rebuild/moduledb
-# database (if ${D}/lib/modules is created)"
+# database (if ${D}/lib/modules is created)
linux-mod_pkg_postinst() {
debug-print-function ${FUNCNAME} $*
- [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
+ [[ -n "${MODULES_OPTIONAL_USE}" ]] && use !${MODULES_OPTIONAL_USE} && return
- ${UPDATE_DEPMOD} && update_depmod;
- ${UPDATE_MODULEDB} && update_moduledb;
+ ${UPDATE_DEPMOD} && update_depmod
+ ${UPDATE_MODULEDB} && update_moduledb
}
# @FUNCTION: linux-mod_pkg_postrm
@@ -766,8 +744,8 @@ linux-mod_pkg_postinst() {
# call /sbin/depmod because the modules are still installed.
linux-mod_pkg_postrm() {
debug-print-function ${FUNCNAME} $*
- [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
- remove_moduledb;
+ [[ -n "${MODULES_OPTIONAL_USE}" ]] && use !${MODULES_OPTIONAL_USE} && return
+ remove_moduledb
}
fi