[OS-BUILD PATCHv8 9/9] redhat/Makefile: introduce AUTOMOTIVE_BUILD

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

 



From: Scott Weaver <scweaver@xxxxxxxxxx>

redhat/Makefile: introduce AUTOMOTIVE_BUILD

This removes the automotive specific targets (except
dist-automotive-configs) and introduces the AUTOMOTIVE_BUILD variable
that can be used to repurpose the existing stock kernel make targets for
kernel-automotive.

For example:
  make AUTOMOTIVE_BUILD=1 dist-srpm

Signed-off-by: Scott Weaver <scweaver@xxxxxxxxxx>

diff --git a/redhat/Makefile b/redhat/Makefile
index blahblah..blahblah 100644
--- a/redhat/Makefile
+++ b/redhat/Makefile
@@ -294,15 +294,11 @@ ifeq ("$(DISTRO)", "fedora")
   RHPKG_BIN:=fedpkg
 else ifeq ("$(DISTRO)", "centos")
   RHDISTGIT_BRANCH=c$(RHEL_MAJOR)s
-  # This is a CentOS SIG dist-git for AutoSD rather than for CentOS Stream.
-  AUTOMOTIVE_DISTGIT_BRANCH=c$(RHEL_MAJOR)s-sig-automotive-main
   ifndef BUILD_PROFILE
     BUILD_PROFILE:= -p stream
   endif
   ifndef BUILD_TARGET
     BUILD_TARGET:=c$(RHEL_MAJOR)s-candidate
-    # The CentOS Stream equivalent for automotive is AutoSD built out of CBS
-    AUTOMOTIVE_BUILD_TARGET = autosd$(RHEL_MAJOR)s-packages-main-el$(RHEL_MAJOR)s
   endif
   SPECTARFILE_RELEASE=$(BASEVERSION)$(DIST)
   SPECKABIVERSION=$(BASEVERSION)$(DIST)
@@ -310,12 +306,8 @@ else ifeq ("$(DISTRO)", "centos")
   DISTBASEVERSION=$(BASEVERSION)$(DIST)
   PATCHLIST_URL:=none
   RHPKG_BIN:=centpkg
-  AUTOMOTIVE_RHPKG_BIN:=centpkg-sig
-  AUTOMOTIVE_DISTGIT_NS:=automotive/rpms/
-  AUTOMOTIVE_RHPKG_OPTS:=--config $(REDHAT)/automotive-centpkg-sig.conf
 else
   RHDISTGIT_BRANCH:=rhel-$(RHEL_MAJOR).$(RHEL_MINOR).0
-  AUTOMOTIVE_DISTGIT_BRANCH=rhivos-$(AUTOMOTIVE_MAJOR).$(AUTOMOTIVE_MINOR).0
   ifndef BUILD_TARGET
     ifeq ("$(DIST)", ".eln")
       BUILD_TARGET:=eln
@@ -323,7 +315,6 @@ 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
-      AUTOMOTIVE_BUILD_TARGET = rhivos-$(AUTOMOTIVE_MAJOR)-newest-test-pesign
     endif
   endif
   ifeq ("$(DIST)", ".eln")
@@ -339,9 +330,39 @@ else
   endif
   PATCHLIST_URL:=none
   RHPKG_BIN:=rhpkg
-  AUTOMOTIVE_RHPKG_BIN:=rhpkg
-  AUTOMOTIVE_DISTGIT_NS:=
-  AUTOMOTIVE_RHPKG_OPTS:=
+
+endif
+
+# 
+ifeq ($(AUTOMOTIVE_BUILD), 1)
+  ifeq ("$(DISTRO)", "rhel")
+    RHDISTGIT_BRANCH=rhivos-$(AUTOMOTIVE_MAJOR).$(AUTOMOTIVE_MINOR).0
+    RHPKG_BIN:=rhpkg
+    RHPKG_NS:=
+    RHPKG_OPTS:=
+    ifeq ("$(DIST)", ".eln")
+      $(error "Error: the distro 'eln' does not support automotive.")
+    else
+      BUILD_TARGET = rhivos-$(AUTOMOTIVE_MAJOR)-newest-test-pesign
+    endif
+  else ifeq ("$(DISTRO)", "centos")
+    # This is a CentOS SIG dist-git for AutoSD rather than for CentOS Stream.
+    RHDISTGIT_BRANCH=c$(RHEL_MAJOR)s-sig-automotive-main
+    RHPKG_BIN:=centpkg-sig
+    RHPKG_NS:=automotive/rpms/
+    RHPKG_OPTS:=--config $(REDHAT)/automotive-centpkg-sig.conf
+    BUILD_TARGET = autosd$(RHEL_MAJOR)s-packages-main-el$(RHEL_MAJOR)s
+  else
+    $(error "Error: the distro '$(DISTRO)' does not support automotive.")
+  endif
+  SPECPACKAGE_NAME:=kernel-automotive
+  DIST:=.el$(RHEL_MAJOR)iv
+  BUILDOPTS += +automotiveonly
+  INCLUDE_FEDORA_FILES:=0
+  INCLUDE_RHEL_FILES:=0
+  INCLUDE_RT_FILES:=0
+  INCLUDE_AUTOMOTIVE_FILES:=1
+  FLAVOR:=rhel
 endif
 
 TARFILE=linux-$(SPECTARFILE_RELEASE).tar.xz
@@ -586,25 +607,28 @@ dist-rhel-configs: FLAVOR = rhel
 dist-rhel-configs: dist-configs
 rh-configs: dist-rhel-configs
 
-# although automotive is not a flavor we want to treat it like it has it's own config priority file
-automotive-configs-pre:
-	@cp $(REDHAT)/configs/priority.$(FLAVOR) $(REDHAT)/configs/priority.$(FLAVOR).bak
-	@sed -i '/^#\|^ORDER\|^\(x86_64\|aarch64\)-automotive/!d' $(REDHAT)/configs/priority.$(FLAVOR)
-	@sed -i 's/^\([^=]*\)-automotive/\1/' $(REDHAT)/configs/priority.$(FLAVOR)
-automotive-configs-post:
-	@mv $(REDHAT)/configs/priority.$(FLAVOR).bak $(REDHAT)/configs/priority.$(FLAVOR)
-
 dist-automotive-configs: ##build build only the automotive configs
-dist-automotive-configs: SPECPACKAGE_NAME := kernel-automotive
-dist-automotive-configs: FLAVOR = rhel
-dist-automotive-configs: automotive-configs-pre .WAIT dist-configs .WAIT automotive-configs-post
+dist-automotive-configs: AUTOMOTIVE_BUILD := 1
+dist-automotive-configs:
+	$(MAKE) dist-configs
 
 dist-configs-check: dist-configs-prep
 	+cd $(REDHAT)/configs; ./process_configs.sh $(PROCESS_CONFIGS_CHECK_OPTS) "" ""
 
 dist-configs-prep: dist-clean-configs
+# automotive is not a flavor but we want to treat it like it is in this case
+ifdef AUTOMOTIVE_BUILD
+	@trap 'echo "Cleaning up..."; mv $(REDHAT)/configs/priority.$(FLAVOR).bak $(REDHAT)/configs/priority.$(FLAVOR); exit 1' SIGINT; \
+	cp $(REDHAT)/configs/priority.$(FLAVOR) $(REDHAT)/configs/priority.$(FLAVOR).bak; \
+	sed -i '/^#\|^ORDER\|^\(x86_64\|aarch64\)-automotive/!d' $(REDHAT)/configs/priority.$(FLAVOR); \
+	sed -i 's/^\([^=]*\)-automotive/\1/' $(REDHAT)/configs/priority.$(FLAVOR); \
+	cd $(REDHAT)/configs; ./build_configs.sh "partial" "snip"; \
+	cd $(REDHAT)/configs; ./build_configs.sh "$(SPECPACKAGE_NAME)" "$(FLAVOR)"; \
+	mv $(REDHAT)/configs/priority.$(FLAVOR).bak $(REDHAT)/configs/priority.$(FLAVOR)
+else
 	+cd $(REDHAT)/configs; ./build_configs.sh "partial" "snip"
 	+cd $(REDHAT)/configs; ./build_configs.sh "$(SPECPACKAGE_NAME)" "$(FLAVOR)"
+endif
 
 dist-configs-arch: ##configuration Same as dist-configs but for single architecture only.
 dist-configs-arch: ARCH_MACH = $(MACH)
@@ -784,18 +808,6 @@ dist-srpm-gcov: DISTLOCALVERSION=.gcov
 dist-srpm-gcov: BUILDOPTS+=+gcov
 dist-srpm-gcov: dist-srpm
 
-dist-srpm-automotive: ##build Create a source RPM for kernel-automotive and put it into the redhat/rpm/SRPMS/ directory.
-dist-srpm-automotive: SPECPACKAGE_NAME := kernel-automotive
-dist-srpm-automotive: DIST := .el$(RHEL_MAJOR)iv
-dist-srpm-automotive: BUILDOPTS += +automotiveonly
-dist-srpm-automotive: INCLUDE_FEDORA_FILES := 0
-dist-srpm-automotive: INCLUDE_RHEL_FILES := 0
-dist-srpm-automotive: INCLUDE_RT_FILES := 0
-dist-srpm-automotive: INCLUDE_AUTOMOTIVE_FILES := 1
-dist-srpm-automotive: FLAVOR := rhel
-dist-srpm-automotive: automotive-configs-pre .WAIT dist-srpm .WAIT automotive-configs-post
-	@rm -f $(REDHAT)/kernel-automotive*
-
 dist-rpms: ##build Create the binary RPMS for the kernel. See the dist-brew target for available options.
 dist-rpms: RPMBUILDOPTS=--target $(MACH) -bb
 dist-rpms: dist-sources do-rpmbuild
@@ -909,36 +921,19 @@ _dist-brew _dist-koji: _dist-%: dist-vr-check dist-srpm
 _distg-brew _distg-koji: _distg-%: dist-vr-check
 	$* $(BUILD_PROFILE) build $(BUILD_FLAGS) --scratch $(BUILD_TARGET) "$(RHGITURL)?redhat/koji#$(RHGITCOMMIT)"
 
-dist-cbs-automotive: ##build Create a kernel-automotive SRPM and then call cbs to build the created SRPM.
-dist-cbs-automotive: SPECPACKAGE_NAME := kernel-automotive
-dist-cbs-automotive: DISTRO=$(if $(DISTRO_USERDEF),$(DISTRO_USERDEF),centos)
-dist-cbs-automotive: DIST=$(if $(DIST_USERDEF),$(DIST_USERDEF),.el$(RHEL_MAJOR)iv)
-dist-cbs-automotive: BUILD_PROFILE=$(if $(BUILD_PROFILE_USERDEF),$(BUILD_PROFILE_USERDEF))
-dist-cbs-automotive: BUILD_TARGET=$(if $(BUILD_TARGET_USERDEF),$(BUILD_TARGET_USERDEF))
-dist-cbs-automotive:
-	$(MAKE) _$@
-
-_dist-cbs-automotive: dist-srpm-automotive
-	cbs build $(BUILD_FLAGS) --scratch $(AUTOMOTIVE_BUILD_TARGET) $(SRPMS)/$(RELEASETAG)$(DIST).src.rpm
-
-dist-brew-automotive: ##build Create a kernel-automotive SRPM and then call brew to build the created SRPM.
-dist-brew-automotive: SPECPACKAGE_NAME := kernel-automotive
-dist-brew-automotive: DISTRO=$(if $(DISTRO_USERDEF),$(DISTRO_USERDEF),rhel)
-dist-brew-automotive: DIST=$(if $(DIST_USERDEF),$(DIST_USERDEF),.el$(RHEL_MAJOR)iv)
-dist-brew-automotive: BUILD_PROFILE=$(if $(BUILD_PROFILE_USERDEF),$(BUILD_PROFILE_USERDEF))
-dist-brew-automotive: BUILD_TARGET=$(if $(BUILD_TARGET_USERDEF),$(BUILD_TARGET_USERDEF))
-dist-brew-automotive:
+dist-cbs: ##build Create a kernel-automotive SRPM for the Automotive SIG and then call cbs to build the created SRPM.
+dist-cbs: AUTOMOTIVE_BUILD := 1
+dist-cbs: DISTRO=$(if $(DISTRO_USERDEF),$(DISTRO_USERDEF),centos)
+dist-cbs: BUILD_TARGET=$(if $(BUILD_TARGET_USERDEF),$(BUILD_TARGET_USERDEF))
+dist-cbs:
 	$(MAKE) _$@
 
-_dist-brew-automotive: dist-srpm-automotive
-	brew build $(BUILD_FLAGS) --scratch $(AUTOMOTIVE_BUILD_TARGET) $(SRPMS)/$(RELEASETAG)$(DIST).src.rpm
+_dist-cbs: dist-srpm
+	cbs build $(BUILD_FLAGS) --scratch $(BUILD_TARGET) $(SRPMS)/$(RELEASETAG)$(DIST).src.rpm
 
 dist-git-test: export RH_DIST_GIT_TEST="1"
 dist-git-test: dist-git
 
-dist-git-automotive-test: export RH_DIST_GIT_TEST="1"
-dist-git-automotive-test: dist-git-automotive
-
 dist-git: dist-srpm $(KABI_TARBALL) $(KABIDW_TARBALL) dist-check-release
 	@if [ -z "$(RHDISTGIT_BRANCH)" ]; then \
 		echo "RHDISTGIT_BRANCH is unset"; \
@@ -946,21 +941,6 @@ dist-git: dist-srpm $(KABI_TARBALL) $(KABIDW_TARBALL) dist-check-release
 	fi
 	$(REDHAT)/scripts/rh-dist-git.sh
 
-# kernel-automotive uses a separate dist-git
-dist-git-automotive: SPECPACKAGE_NAME := kernel-automotive
-dist-git-automotive: DIST := .el$(RHEL_MAJOR)iv
-dist-git-automotive: RHDISTGIT_BRANCH := $(AUTOMOTIVE_DISTGIT_BRANCH)
-dist-git-automotive: RHPKG_BIN := $(AUTOMOTIVE_RHPKG_BIN)
-dist-git-automotive: RHPKG_OPTS := $(AUTOMOTIVE_RHPKG_OPTS)
-dist-git-automotive: RHPKG_NS := $(AUTOMOTIVE_DISTGIT_NS)
-dist-git-automotive: dist-srpm-automotive dist-check-release
-dist-git-automotive:
-	@if [ -z "$(AUTOMOTIVE_DISTGIT_BRANCH)" ]; then \
-		echo "AUTOMOTIVE_DISTGIT_BRANCH is unset"; \
-		exit 1; \
-	fi
-	$(REDHAT)/scripts/rh-dist-git.sh
-
 dist-headers-srpm:
 	@scripts/create_headers_tarball.sh
 	@cp $(REDHAT)/kernel-headers.spec.template $(SOURCES)/kernel-headers.spec
diff --git a/redhat/Makefile.variables b/redhat/Makefile.variables
index blahblah..blahblah 100644
--- a/redhat/Makefile.variables
+++ b/redhat/Makefile.variables
@@ -14,8 +14,8 @@
 # which is then reflected in the package NVR.
 ADD_COMMITID_TO_VERSION ?=
 
-# This is the brew/cbs scratch build target.
-AUTOMOTIVE_BUILD_TARGET ?=
+# Repurpose the stock kernel make targets for kernel-automotive.
+AUTOMOTIVE_BUILD ?=
 
 # This sets the incremental build version value in the rpm NVR.  If unset, this
 # defaults to RHEL_RELEASE from Makefile.rhelver

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3870

-- 
_______________________________________________
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