From: Ondrej Mosnáček on gitlab.com Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2892
(see individual commits for explanation)
Signed-off-by: Ondrej Mosnacek omosnace@redhat.com
--- redhat/Makefile | 16 ++++++---------- 1 files changed, 6 insertions(+), 10 deletions(-)
From: Ondrej Mosnacek omosnace@redhat.com
redhat/Makefile: refactor KABI tarball creation
Place $(KABI_TARBALL) and $(KABIDW_TARBALL) in $(REDHAT) instead of $(SOURCES) and only link/copy them into $(SOURCES) in _setup-source, same as is done with $(TARBALL).
This allows removing duplicate steps to make the KABI tarballs from _setup-source, while avoiding a race with dist-clean-sources (which could otherwise remove the tarballs after being created, because setup-source depends on it).
Signed-off-by: Ondrej Mosnacek omosnace@redhat.com
diff --git a/redhat/Makefile b/redhat/Makefile index blahblah..blahblah 100644 --- a/redhat/Makefile +++ b/redhat/Makefile @@ -331,9 +331,9 @@ endif TARFILE:=linux-$(SPECTARFILE_RELEASE).tar.xz TARBALL:=$(REDHAT)/$(TARFILE)
-KABI_TARBALL:=$(SOURCES)/kernel-abi-stablelists-$(SPECKABIVERSION).tar.xz +KABI_TARBALL:=$(REDHAT)/kernel-abi-stablelists-$(SPECKABIVERSION).tar.xz KABIDW := $(REDHAT)/kabi-dwarf -KABIDW_TARBALL:=$(SOURCES)/kernel-kabi-dw-$(SPECKABIVERSION).tar.xz +KABIDW_TARBALL:=$(REDHAT)/kernel-kabi-dw-$(SPECKABIVERSION).tar.xz
# Taken from tools/lib/bpf/Makefile SPECBPFTOOLVERSION:=$(shell \ @@ -668,8 +668,9 @@ generate-testpatch-tmp: ":(exclude,top)Makefile.rhelver" \ ":(exclude,top)redhat" > $(TESTPATCH).tmp
-sources-rh: $(TARBALL) generate-testpatch-tmp setup-source dist-configs-check - @cp -l $(TARBALL) $(SOURCES)/ || cp $(TARBALL) $(SOURCES)/ +sources-rh: $(TARBALL) $(KABI_TARBALL) $(KABIDW_TARBALL) generate-testpatch-tmp setup-source dist-configs-check + @cp -l $(TARBALL) $(KABI_TARBALL) $(KABIDW_TARBALL) $(SOURCES)/ || \ + cp $(TARBALL) $(KABI_TARBALL) $(KABIDW_TARBALL) $(SOURCES)/ @touch $(TESTPATCH) @diff $(TESTPATCH).tmp $(TESTPATCH) > /dev/null || \ echo "WARNING: There are uncommitted changes in your tree or the changes are not in sync with linux-kernel-test.patch. Either commit the changes or run 'make dist-test-patch'" @@ -711,11 +712,6 @@ sources-rh: $(TARBALL) generate-testpatch-tmp setup-source dist-configs-check cp kabi/Module.kabi_$$KABIARCH $(SOURCES)/; \ cp kabi/Module.kabi_dup_$$KABIARCH $(SOURCES)/; \ done - @(cd kabi && tar -cJf $(KABI_TARBALL) kabi-rhel$(RHEL_MAJOR)* kabi-current) - @if [ ! -d $(KABIDW)/base ]; then \ - mkdir -p $(KABIDW)/base; \ - fi - @(cd kabi-dwarf && tar -cJf $(KABIDW_TARBALL) base run_kabi-dw.sh)
dist-sources: dist-kabi dist-kabi-dup sources-rh
-- https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2892
From: Ondrej Mosnacek omosnace@redhat.com
redhat/Makefile: fix race condition when making the KABI tarball
The recipe for $(KABI_TARBALL) references the kabi/kabi-current file, but it doesn't depend on the target that creates it (dist-kabi), leading to possible build failures under parallel build (make -j). Fix it by making $(KABI_TARBALL) depend on dist-kabi.
Signed-off-by: Ondrej Mosnacek omosnace@redhat.com
diff --git a/redhat/Makefile b/redhat/Makefile index blahblah..blahblah 100644 --- a/redhat/Makefile +++ b/redhat/Makefile @@ -601,7 +601,7 @@ $(TARBALL): @scripts/create-tarball.sh
.PHONY: $(KABI_TARBALL) -$(KABI_TARBALL): +$(KABI_TARBALL): dist-kabi @(cd kabi && tar -cJf $(KABI_TARBALL) kabi-rhel$(RHEL_MAJOR)* kabi-current)
.PHONY: $(KABIDW_TARBALL)
-- https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2892
kernel@lists.fedoraproject.org