Re: [gentoo-dev] [PATCH v3] linux-info.eclass : Support valid Make files

2021-09-03 Thread Ulrich Mueller
> On Fri, 03 Sep 2021, Mike  wrote:

> - if [ ! -s "${KV_DIR}/Makefile" ]
> + get_makefile
> +
> + if [[ ! -s "${KERNEL_MAKEFILE}" ]]


No quotation marks needed in [[ ]].
 + [[ -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"

Ditto.

Ulrich


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH v3] linux-info.eclass : Support valid Make files

2021-09-03 Thread Michał Górny
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 
> ---
>  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





[gentoo-dev] [PATCH v3] linux-info.eclass : Support valid Make files

2021-09-02 Thread Mike
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 
---
 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
+# @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"
+
+}
-- 
2.32.0