[OS-BUILD PATCH] redhat/Makefile: fix default values for dist-brew's DISTRO and DIST

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Íñigo Huguet <ihuguet@xxxxxxxxxx>

redhat/Makefile: fix default values for dist-brew's DISTRO and DIST

In dist-brew target, target-specific variables to change the default
value of DISTRO and DIST to 'rhel' and '.el9', but they're not useful
because the rest of variables that depends on them, such us BUILD_TARGET,
has been calculated yet.

The most visible error is that `make dist-brew` fails with 'brew: error:
No such build target: rawhide'. Rawhide is the default BUILD_TARGET for
Fedora, not for RHEL.

Fix it by recursively calling `make` so the sub-make has the correct DISTRO
and DIST values since the beginning, thus calculating the rest of values
correctly.

To make this work, get rid of the `ifdef BUILD_TARGET` checks, or the
sub-make will see it as already defined (inherited) and won't change it.
Since variables defined as commandline arguments always override
variables defined inside the Makefile, users still can select a
different one: `make dist-brew BUILD_TARGET=whatever`.

Also, fix a missing closing quote in `ifeq ("$(DIST)", ".eln)`.

Signed-off-by: Íñigo Huguet <ihuguet@xxxxxxxxxx>

diff --git a/redhat/Makefile b/redhat/Makefile
index blahblah..blahblah 100644
--- a/redhat/Makefile
+++ b/redhat/Makefile
@@ -223,9 +223,7 @@ SRPM:=$(SRPMS)/$(RELEASETAG)$(DIST).src.rpm
 #
 ifeq ("$(DISTRO)", "fedora")
   RHDISTGIT_BRANCH:=rawhide
-  ifndef BUILD_TARGET
-    BUILD_TARGET:=rawhide
-  endif
+  BUILD_TARGET:=rawhide
   # The Fedora tarfile name is based on an upstream tag as users may
   # replace the tarball from one with upstream, rebuild, and then deploy
   # without changing anything else in the specfile.
@@ -236,12 +234,8 @@ ifeq ("$(DISTRO)", "fedora")
   RHPKG_BIN:=fedpkg
 else ifeq ("$(DISTRO)", "centos")
   RHDISTGIT_BRANCH:=c$(RHEL_MAJOR)s
-  ifndef BUILD_PROFILE
-    BUILD_PROFILE:= -p stream
-  endif
-  ifndef BUILD_TARGET
-    BUILD_TARGET:=c$(RHEL_MAJOR)s-candidate
-  endif
+  BUILD_PROFILE:= -p stream
+  BUILD_TARGET:=c$(RHEL_MAJOR)s-candidate
   SPECTARFILE_RELEASE:=$(BASEVERSION)$(DIST)
   SPECKABIVERSION:=$(BASEVERSION)$(DIST)
   DISTRELEASETAG:=$(RELEASETAG)$(DIST)
@@ -250,21 +244,16 @@ else ifeq ("$(DISTRO)", "centos")
   RHPKG_BIN:=centpkg
 else
   RHDISTGIT_BRANCH:=rhel-$(RHEL_MAJOR).$(RHEL_MINOR).0
-  ifndef BUILD_TARGET
-    ifeq ("$(DIST)", ".eln")
-      BUILD_TARGET:=eln
-    else
-      # This value is used by the dist[g]-targets.  Changing this value has significant
-      # consequences for all of RHEL kernel engineering.
-      BUILD_TARGET:=rhel-$(RHEL_MAJOR)-newest-test-pesign
-    endif
-  endif
-  ifeq ("$(DIST)", ".eln)
+  ifeq ("$(DIST)", ".eln")
+    BUILD_TARGET:=eln
     DISTRELEASETAG:=$(RELEASETAG)
     DISTBASEVERSION:=$(BASEVERSION)
     SPECTARFILE_RELEASE:=$(BASEVERSION)
     SPECKABIVERSION:=$(BASEVERSION)
   else
+    # This value is used by the dist[g]-targets.  Changing this value has significant
+    # consequences for all of RHEL kernel engineering.
+    BUILD_TARGET:=rhel-$(RHEL_MAJOR)-newest-test-pesign
     DISTRELEASETAG:=$(RELEASETAG)$(DIST)
     DISTBASEVERSION:=$(BASEVERSION)$(DIST)
     SPECTARFILE_RELEASE:=$(BASEVERSION)$(DIST)
@@ -753,14 +742,18 @@ dist-vr-check:
 		exit 1; \
 	fi
 
-dist-brew: DIST=.el9
-dist-brew: DISTRO=rhel
-dist-brew dist-koji: dist-%: dist-vr-check dist-srpm
+# Call as sub-make to select different default DISTRO and DIST for dist-brew.
+# This is because target-specific variables only apply inside the recipe, but we
+# need to recalculate some values such as BUILD_TARGET that depends on them.
+dist-brew distg-brew: DISTRO=rhel
+dist-brew distg-brew: DIST=.el9
+dist-brew distg-brew dist-koji distg_koji:
+	$(MAKE) _$@
+
+_dist-brew _dist-koji: _dist-%: dist-vr-check dist-srpm
 	$* $(BUILD_PROFILE) build $(BUILD_FLAGS) --scratch $(BUILD_TARGET) $(SRPMS)/$(RELEASETAG)$(DIST).src.rpm $(OUTPUT_FILE)
 
-distg-brew: DIST=.el9
-distg-brew: DISTRO=rhel
-distg-brew distg-koji: distg-%: dist-vr-check
+_distg-brew _distg-koji: _distg-%: dist-vr-check
 	$* $(BUILD_PROFILE) build $(BUILD_FLAGS) --scratch $(BUILD_TARGET) "$(RHGITURL)?redhat/koji#$(RHGITCOMMIT)"
 
 .PHONY: $(REDHAT)/rpm/SOURCES/$(SPECFILE)

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2339
_______________________________________________
kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora General Discussion]     [Older Fedora Users Archive]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [USB]     [Asterisk PBX]

  Powered by Linux