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