From: Scott Weaver <scwea...@redhat.com>

redhat/Makefile: add dist-srpm-automotive

This adds a target for generating the kernel-automotive srpm.  In order
to give this target the flexibility to redefine some required variables,
several variables have been defined to use lazy assignment.

Signed-off-by: Scott Weaver <scwea...@redhat.com>

diff --git a/redhat/Makefile b/redhat/Makefile
index blahblah..blahblah 100644
--- a/redhat/Makefile
+++ b/redhat/Makefile
@@ -69,23 +69,23 @@ ARCHCONFIG := $(shell uname -m | sed -e s/x86_64/X86_64/ \
                                     -e s/s390x/S390/ -e s/ppc.*/PPC/ )
 
 # rpm information
-SPECFILE:=$(SPECPACKAGE_NAME).spec
+SPECFILE=$(SPECPACKAGE_NAME).spec
 RPM:=$(REDHAT)/rpm
 SRPMS:=$(RPM)/SRPMS
 SOURCES:=$(RPM)/SOURCES
 TESTPATCH:=$(REDHAT)/linux-kernel-test.patch
 CHANGELOG_EXT:=changelog-$(RHEL_MAJOR).$(RHEL_MINOR)
-SPECCHANGELOG:=$(SPECPACKAGE_NAME).$(CHANGELOG_EXT)
+SPECCHANGELOG=$(SPECPACKAGE_NAME).$(CHANGELOG_EXT)
 ARCH_LIST=aarch64 ppc64le s390x x86_64 riscv64
 
 # save some user selectable values to know later if we can override them
-DISTRO_USERDEF:=$(DISTRO)
-DIST_USERDEF:=$(DIST)
-BUILD_PROFILE_USERDEF:=$(BUILD_PROFILE)
-BUILD_TARGET_USERDEF:=$(BUILD_TARGET)
+DISTRO_USERDEF=$(DISTRO)
+DIST_USERDEF=$(DIST)
+BUILD_PROFILE_USERDEF=$(BUILD_PROFILE)
+BUILD_TARGET_USERDEF=$(BUILD_TARGET)
 
 ifndef DIST
-  DIST := $(shell $(RPMBUILD) --eval '%{?dist}')
+  DIST = $(shell $(RPMBUILD) --eval '%{?dist}')
 endif
 
 ifndef DISTRO
@@ -146,29 +146,29 @@ endif
 ifneq ($(SPECKEXTRAVERSION),)
   UPSTREAMBUILD:=0$(shell echo $(SPECKEXTRAVERSION) | sed -e s/-/./).
   ifeq ($(SPECKSUBLEVEL),0)
-    
UPSTREAM_TARBALL_NAME:=$(SPECKVERSION).$(SPECKPATCHLEVEL)$(SPECKEXTRAVERSION)
+    
UPSTREAM_TARBALL_NAME=$(SPECKVERSION).$(SPECKPATCHLEVEL)$(SPECKEXTRAVERSION)
   else
-    
UPSTREAM_TARBALL_NAME:=$(SPECKVERSION).$(SPECKPATCHLEVEL).$(SPECKSUBLEVEL)$(SPECKEXTRAVERSION)
+    
UPSTREAM_TARBALL_NAME=$(SPECKVERSION).$(SPECKPATCHLEVEL).$(SPECKSUBLEVEL)$(SPECKEXTRAVERSION)
     # stable-rc's are not tagged
     STABLERC_MARKER:=$(shell $(GIT) rev-parse -q --verify 
origin/$(UPSTREAM_BRANCH) | cut -c 1-12 || \
             $(GIT) rev-parse -q --verify $(UPSTREAM_BRANCH) | cut -c 1-12)
   endif
 else
   ifeq ($(SPECKSUBLEVEL),0)
-    UPSTREAM_TARBALL_NAME:=$(SPECKVERSION).$(SPECKPATCHLEVEL)
+    UPSTREAM_TARBALL_NAME=$(SPECKVERSION).$(SPECKPATCHLEVEL)
   else
     # MARKER (and UPSTREAM_TARBALL_NAME) must use SPECKVERSION,
     # SPECKPATCHLEVEL, and SPECKSUBLEVEL from the top-level kernel makefile as
     # opposed to any adjusted version for snapshotting.  IOW, these variables 
are
     # *NOT* equivalent to the SPECVERSION variable.
-    UPSTREAM_TARBALL_NAME:=$(SPECKVERSION).$(SPECKPATCHLEVEL).$(SPECKSUBLEVEL)
+    UPSTREAM_TARBALL_NAME=$(SPECKVERSION).$(SPECKPATCHLEVEL).$(SPECKSUBLEVEL)
   endif
   UPSTREAMBUILD:=
 endif
 ifneq ($(STABLERC_MARKER),)
-  MARKER:=$(STABLERC_MARKER)
+  MARKER=$(STABLERC_MARKER)
 else
-  MARKER:=v$(UPSTREAM_TARBALL_NAME)
+  MARKER=v$(UPSTREAM_TARBALL_NAME)
 endif
 
 # If VERSION_ON_UPSTREAM is set, the versioning of the rpm package is based
@@ -196,7 +196,7 @@ ifneq ("$(wildcard $(TOPDIR)/localversion-next)", "")
   endif
   LINUXNEXT_VERSION:=$(shell echo $(MARKER) | sed 's!next-!!')
   UPSTREAMBUILD:=0.0.next.$(LINUXNEXT_VERSION).
-  UPSTREAM_TARBALL_NAME:=$(MARKER)
+  UPSTREAM_TARBALL_NAME=$(MARKER)
 else ifeq ($(VERSION_ON_UPSTREAM),1)
   # UPSTREAM_BRANCH is expected to track mainline.
   ifeq ($(UPSTREAM),)
@@ -264,16 +264,16 @@ endif
 # Gemini kernels override RPM NVR to:
 # $(SPECPACKAGE_NAME)-$(SPECRVERSION).$(SPECRPATCHLEVEL)-$(SPECBUILD)          
                 $(DIST)
 #
-SPECBUILD:=$(UPSTREAMBUILD)$(BUILD)$(DISTLOCALVERSION)
-SPECVERSION:=$(SPECKVERSION).$(SPECKPATCHLEVEL).$(SPECKSUBLEVEL)
+SPECBUILD=$(UPSTREAMBUILD)$(BUILD)$(DISTLOCALVERSION)
+SPECVERSION=$(SPECKVERSION).$(SPECKPATCHLEVEL).$(SPECKSUBLEVEL)
 ifeq ($(SPECGEMINI),0)
-  SPECRPMVERSION:=$(SPECKVERSION).$(SPECKPATCHLEVEL).$(SPECKSUBLEVEL)
+  SPECRPMVERSION=$(SPECKVERSION).$(SPECKPATCHLEVEL).$(SPECKSUBLEVEL)
 else
-  SPECRPMVERSION:=$(SPECRVERSION).$(SPECRPATCHLEVEL)
+  SPECRPMVERSION=$(SPECRVERSION).$(SPECRPATCHLEVEL)
 endif
-BASEVERSION:=$(SPECRPMVERSION)-$(SPECBUILD)
-RELEASETAG:=$(SPECPACKAGE_NAME)-$(BASEVERSION)
-SRPM:=$(SRPMS)/$(RELEASETAG)$(DIST).src.rpm
+BASEVERSION=$(SPECRPMVERSION)-$(SPECBUILD)
+RELEASETAG=$(SPECPACKAGE_NAME)-$(BASEVERSION)
+SRPM=$(SRPMS)/$(RELEASETAG)$(DIST).src.rpm
 
 #
 # This conditional statement is where fedora, centos, and other (aka RHEL)
@@ -287,23 +287,23 @@ ifeq ("$(DISTRO)", "fedora")
   # 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.
-  SPECTARFILE_RELEASE:=$(UPSTREAM_TARBALL_NAME)
-  SPECKABIVERSION:=$(SPECRPMVERSION)
-  DISTRELEASETAG:=$(RELEASETAG)
-  DISTBASEVERSION:=$(BASEVERSION)
+  SPECTARFILE_RELEASE=$(UPSTREAM_TARBALL_NAME)
+  SPECKABIVERSION=$(SPECRPMVERSION)
+  DISTRELEASETAG=$(RELEASETAG)
+  DISTBASEVERSION=$(BASEVERSION)
   RHPKG_BIN:=fedpkg
 else ifeq ("$(DISTRO)", "centos")
-  RHDISTGIT_BRANCH:=c$(RHEL_MAJOR)s
+  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
-  SPECTARFILE_RELEASE:=$(BASEVERSION)$(DIST)
-  SPECKABIVERSION:=$(BASEVERSION)$(DIST)
-  DISTRELEASETAG:=$(RELEASETAG)$(DIST)
-  DISTBASEVERSION:=$(BASEVERSION)$(DIST)
+  SPECTARFILE_RELEASE=$(BASEVERSION)$(DIST)
+  SPECKABIVERSION=$(BASEVERSION)$(DIST)
+  DISTRELEASETAG=$(RELEASETAG)$(DIST)
+  DISTBASEVERSION=$(BASEVERSION)$(DIST)
   PATCHLIST_URL:=none
   RHPKG_BIN:=centpkg
 else
@@ -318,26 +318,26 @@ else
     endif
   endif
   ifeq ("$(DIST)", ".eln")
-    DISTRELEASETAG:=$(RELEASETAG)
-    DISTBASEVERSION:=$(BASEVERSION)
-    SPECTARFILE_RELEASE:=$(BASEVERSION)
-    SPECKABIVERSION:=$(BASEVERSION)
+    DISTRELEASETAG=$(RELEASETAG)
+    DISTBASEVERSION=$(BASEVERSION)
+    SPECTARFILE_RELEASE=$(BASEVERSION)
+    SPECKABIVERSION=$(BASEVERSION)
   else
-    DISTRELEASETAG:=$(RELEASETAG)$(DIST)
-    DISTBASEVERSION:=$(BASEVERSION)$(DIST)
-    SPECTARFILE_RELEASE:=$(BASEVERSION)$(DIST)
-    SPECKABIVERSION:=$(BASEVERSION)$(DIST)
+    DISTRELEASETAG=$(RELEASETAG)$(DIST)
+    DISTBASEVERSION=$(BASEVERSION)$(DIST)
+    SPECTARFILE_RELEASE=$(BASEVERSION)$(DIST)
+    SPECKABIVERSION=$(BASEVERSION)$(DIST)
   endif
   PATCHLIST_URL:=none
   RHPKG_BIN:=rhpkg
 endif
 
-TARFILE:=linux-$(SPECTARFILE_RELEASE).tar.xz
-TARBALL:=$(REDHAT)/$(TARFILE)
+TARFILE=linux-$(SPECTARFILE_RELEASE).tar.xz
+TARBALL=$(REDHAT)/$(TARFILE)
 
-KABI_TARBALL:=$(REDHAT)/kernel-abi-stablelists-$(SPECKABIVERSION).tar.xz
-KABIDW := $(REDHAT)/kabi-dwarf
-KABIDW_TARBALL:=$(REDHAT)/kernel-kabi-dw-$(SPECKABIVERSION).tar.xz
+KABI_TARBALL=$(REDHAT)/kernel-abi-stablelists-$(SPECKABIVERSION).tar.xz
+KABIDW = $(REDHAT)/kabi-dwarf
+KABIDW_TARBALL=$(REDHAT)/kernel-kabi-dw-$(SPECKABIVERSION).tar.xz
 
 # load Makefile variable settings from user-specified configuration file,
 # ~/.rhpkg.mk or $TOPDIR/.rhpkg.mk
@@ -725,8 +725,8 @@ sources-rh: $(TARBALL) $(KABI_TARBALL) $(KABIDW_TARBALL) 
generate-testpatch-tmp
                kernel-local \
                dracut-virt.conf \
                $(SOURCES)/
-       @cat $$(ls -1 $(SPECPACKAGE_NAME).changelog-* | sort -V -r) \
-               > $(SOURCES)/kernel.changelog
+       @cat $$(ls -1 kernel.changelog-* | sort -V -r) \
+               > $(SOURCES)/$(SPECPACKAGE_NAME).changelog
        cp keys/redhatsecureboot{501,ca5}.cer $(SOURCES)/;
        @for KABIARCH in $(ARCH_LIST); do \
                cp kabi/Module.kabi_$$KABIARCH $(SOURCES)/; \
@@ -751,7 +751,7 @@ dist-all-rpms: RPMBUILDOPTS=--target $(MACH) -ba
 dist-all-rpms: dist-sources do-rpmbuild
 
 dist-srpm: ##build Create a source RPM and put it into the redhat/rpm/SRPMS/ 
directory.  See the dist-brew target for available options.
-dist-srpm: RPMBUILDOPTS=--nodeps -bs
+dist-srpm: RPMBUILDOPTS+=--nodeps -bs
 dist-srpm: dist-sources do-rpmbuild
 
 dist-srpm-gcov: ##build Create a source RPM with gcov enabled and put it into 
the redhat/rpm/SRPMS/ directory.
@@ -759,6 +759,17 @@ 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: dist-srpm
+       @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
diff --git a/redhat/Makefile.variables b/redhat/Makefile.variables
index blahblah..blahblah 100644
--- a/redhat/Makefile.variables
+++ b/redhat/Makefile.variables
@@ -67,10 +67,10 @@ HEAD ?= HEAD
 # be included as part of the source RPM.  Downstream projects, such as
 # centos-stream or RHEL, can disable file inclusion by setting these values
 # to '0'.
-INCLUDE_FEDORA_FILES:=1
-INCLUDE_RHEL_FILES:=1
-INCLUDE_RT_FILES:=1
-INCLUDE_AUTOMOTIVE_FILES:=1
+INCLUDE_FEDORA_FILES ?= 1
+INCLUDE_RHEL_FILES ?= 1
+INCLUDE_RT_FILES ?= 1
+INCLUDE_AUTOMOTIVE_FILES ?= 0
 
 # This variable is the location of the KABI cross compilers
 KABI_CROSS_COMPILE_PREFIX ?= /usr/bin/

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

-- 
_______________________________________________
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to