From: Patrick Talbert ptalbert@redhat.com
redhat: fix the check for the n option
The current logic is testing for the letter n anywhere in the MAKEFLAGS. Instead we should just check the firstword as described in the make docs section 7.3.
Signed-off-by: Patrick Talbert ptalbert@redhat.com
diff --git a/redhat/Makefile b/redhat/Makefile index blahblah..blahblah 100644 --- a/redhat/Makefile +++ b/redhat/Makefile @@ -13,7 +13,7 @@ SPECRELEASED_KERNEL=$(RELEASED_KERNEL) SPECINCLUDE_FEDORA_FILES=$(INCLUDE_FEDORA_FILES) SPECINCLUDE_RHEL_FILES=$(INCLUDE_RHEL_FILES)
-ifneq (,$(findstring n,$(MAKEFLAGS))) +ifneq (,$(findstring n,$(firstword -$MAKEFLAGS))) # Do not set RHTEST on the command line. Use the make command built-in options # -n, --just-print, --dry-run, --recon on the command line. RHTEST=1
-- https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2395
From: Patrick Talbert on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2395#note_1339380...
This seemingly does what it intends but for some reason even when passing -n, RHTEST is not set 🤔
Here you can see n at the front of MAKEFLAGS but RHTEST was not set. ~~~ kernel-ark (fix_rhtest)$ make DISTRO=centos -n dist-dump-variables | grep -E '^MAKEFLAGS|RHTEST' MAKEFLAGS=n -- DISTRO=centos ~~~
I will look at this again tomorrow.
From: Prarit Bhargava on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2395#note_1339406...
Should
``` ifneq (,$(findstring n,$(firstword -$MAKEFLAGS))) ```
actually be
``` ifneq (,$(findstring n,$(firstword -$(MAKEFLAGS)))) ```
ie) did you miss the () around the MAKEFLAGS variable? I'm not familiar with firstword but it seems like you still need to treat MAKEFLAGS as a variable.
kernel@lists.fedoraproject.org