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

2021-09-04 Thread Mike Pagano

On 9/3/21 10:25 AM, Mike Pagano wrote:

Thanks to Sam, mgorny and Ulm for the review.



Committed






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

2021-09-03 Thread Mike Pagano

Thanks to Sam, mgorny and Ulm for the review.

Incorporated all requested changes

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..1379b6008 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" ]

+   kernel_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: kernel_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
+kernel_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