On Thu, 2021-09-02 at 19:28 -0400, Mike wrote:
> Support the possibility that the Makefile could be
> one of the following and should be checked in the order described here:
> 
> https://www.gnu.org/software/make/manual/make.html
> 
> Order of checking and valid Makefiles names:
> GNUMakefile, makefile, Makefile
> 
> Bug: https://bugs.gentoo.org/663368
> 
> Signed-off-by: Mike Pagano <[email protected]>
> ---
>  eclass/linux-info.eclass | 30 ++++++++++++++++++++++++++----
>  1 file changed, 26 insertions(+), 4 deletions(-)
> 
> diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
> index 0b6df1bf5..a6159eac2 100644
> --- a/eclass/linux-info.eclass
> +++ b/eclass/linux-info.eclass
> @@ -80,6 +80,15 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
>  # There are also a couple of variables which are set by this, and shouldn't 
> be
>  # set by hand. These are as follows:
>  
> +# @ECLASS-VARIABLE: KERNEL_MAKEFILE
> +# @INTERNAL
> +# @DESCRIPTION:
> +# According to upstream documentation, by default, when make looks for the 
> makefile, it tries
> +# the following names, in order: GNUmakefile, makefile and Makefile. Set 
> this variable to the
> +# proper Makefile name or the eclass will search in this order for it.
> +# See https://www.gnu.org/software/make/manual/make.html
> +: ${KERNEL_MAKEFILE:=""}
> +
>  # @ECLASS-VARIABLE: KV_FULL
>  # @OUTPUT_VARIABLE
>  # @DESCRIPTION:
> @@ -510,7 +519,9 @@ get_version() {
>               qeinfo "    ${KV_DIR}"
>       fi
>  
> -     if [ ! -s "${KV_DIR}/Makefile" ]
> +     get_makefile
> +
> +     if [[ ! -s "${KERNEL_MAKEFILE}" ]]
>       then
>               if [ -z "${get_version_warning_done}" ]; then
>                       get_version_warning_done=1
> @@ -526,9 +537,6 @@ get_version() {
>       # do we pass KBUILD_OUTPUT on the CLI?
>       local OUTPUT_DIR=${KBUILD_OUTPUT}
>  
> -     # keep track of it
> -     KERNEL_MAKEFILE="${KV_DIR}/Makefile"
> -
>       if [[ -z ${OUTPUT_DIR} ]]; then
>               # Decide the function used to extract makefile variables.
>               local mkfunc=$(get_makefile_extract_function 
> "${KERNEL_MAKEFILE}")
> @@ -971,3 +979,17 @@ linux-info_pkg_setup() {
>  
>       [ -n "${CONFIG_CHECK}" ] && check_extra_config;
>  }
> +
> +# @FUNCTION: get_makefile

Please prefix it so it doesn't pollute the global namespace.

> +# @DESCRIPTION:
> +# Support the possibility that the Makefile could be one of the following 
> and should
> +# be checked in the order described here:
> +# https://www.gnu.org/software/make/manual/make.html
> +# Order of checking and valid Makefiles names:  GNUMakefile, makefile, 
> Makefile
> +get_makefile() {
> +
> +     [[ -s "${KV_DIR}"/GNUMakefile ]] && 
> KERNEL_MAKEFILE="${KV_DIR}/GNUMakefile"
> +     [[ -s "${KV_DIR}"/makefile ]] && KERNEL_MAKEFILE="${KV_DIR}/makefile"
> +     [[ -s "${KV_DIR}"/Makefile ]] && KERNEL_MAKEFILE="${KV_DIR}/Makefile"
> +
> +}

-- 
Best regards,
Michał Górny



Reply via email to