# SPDX-License-Identifier: GPL-2.0-only
# Makefile for the different targets used to generate full packages of a kernel

include $(srctree)/scripts/Kbuild.include

KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE))
KBUILD_PKG_ROOTCMD ?="fakeroot -u"
# Include only those top-level files that are needed by make, plus the GPL copy
TAR_CONTENT := Documentation LICENSES arch block certs crypto drivers fs \
               include init io_uring ipc kernel lib mm net rust \
               samples scripts security sound tools usr virt \
               .config Makefile \
               Kbuild Kconfig COPYING $(wildcard localversion*)
MKSPEC     := $(srctree)/scripts/package/mkspec

quiet_cmd_src_tar = TAR     $(2).tar.gz
      cmd_src_tar = \
if test "$(objtree)" != "$(srctree)"; then \
	echo >&2; \
	echo >&2 "  ERROR:"; \
	echo >&2 "  Building source tarball is not possible outside the"; \
	echo >&2 "  kernel source tree. Don't set KBUILD_OUTPUT"; \
	echo >&2; \
	false; \
fi ; \
tar -I $(KGZIP) -c $(RCS_TAR_IGNORE) -f $(2).tar.gz \
	--transform 's:^:$(2)/:S' $(TAR_CONTENT) $(3)

# .tmp_filelist .tmp_filelist_exclude
# ---------------------------------------------------------------------------

scripts/list-gitignored: FORCE
	$(Q)$(MAKE) -f $(srctree)/Makefile scripts_package

# 1f5d3a6b6532e25a5cdf1f311956b2b03d343a48 removed '*.rej' from .gitignore,
# but it is definitely a generated file.
filechk_filelist = \
	$< --exclude='*.rej' --output=$@_exclude --prefix=./ --rootdir=$(srctree) --stat=-

.tmp_filelist: scripts/list-gitignored FORCE
	$(call filechk,filelist)

# tarball
# ---------------------------------------------------------------------------

quiet_cmd_tar = TAR     $@
      cmd_tar = tar -c -f $@ $(tar-compress-opt) $(tar-exclude-opt) \
                --owner=0 --group=0 --sort=name \
                --transform 's:^\.:$*:S' -C $(tar-rootdir) .

tar-rootdir := $(srctree)

%.tar:
	$(call cmd,tar)

%.tar.gz: private tar-compress-opt := -I $(KGZIP)
%.tar.gz:
	$(call cmd,tar)

%.tar.bz2: private tar-compress-opt := -I $(KBZIP2)
%.tar.bz2:
	$(call cmd,tar)

%.tar.xz: private tar-compress-opt := -I $(XZ)
%.tar.xz:
	$(call cmd,tar)

%.tar.zst: private tar-compress-opt := -I $(ZSTD)
%.tar.zst:
	$(call cmd,tar)

# Linux source tarball
# ---------------------------------------------------------------------------

linux.tar.gz: tar-exclude-opt = --exclude=./$@ --exclude-from=$<_exclude
linux.tar.gz: .tmp_filelist

# rpm-pkg
# ---------------------------------------------------------------------------
PHONY += rpm-pkg
rpm-pkg: srpm = $(shell rpmspec --srpm --query --queryformat='%{name}-%{VERSION}-%{RELEASE}.src.rpm' kernel.spec)
rpm-pkg: srcrpm-pkg
	+rpmbuild $(RPMOPTS) --target $(UTS_MACHINE)-linux -rb $(srpm) \
	--define='_smp_mflags %{nil}'

# srcrpm-pkg
# ---------------------------------------------------------------------------
PHONY += srcrpm-pkg
srcrpm-pkg: linux.tar.gz
	$(CONFIG_SHELL) $(MKSPEC) >$(objtree)/kernel.spec
	+rpmbuild $(RPMOPTS) --target $(UTS_MACHINE)-linux -bs kernel.spec \
	--define='_smp_mflags %{nil}' --define='_sourcedir .' --define='_srcrpmdir .'

# binrpm-pkg
# ---------------------------------------------------------------------------
PHONY += binrpm-pkg
binrpm-pkg:
	$(MAKE) -f $(srctree)/Makefile
	$(CONFIG_SHELL) $(MKSPEC) prebuilt > $(objtree)/binkernel.spec
	+rpmbuild $(RPMOPTS) --define "_builddir $(objtree)" --target \
		$(UTS_MACHINE)-linux -bb $(objtree)/binkernel.spec

quiet_cmd_debianize = GEN     $@
      cmd_debianize = $(srctree)/scripts/package/mkdebian

debian: FORCE
	$(call cmd,debianize)

PHONY += debian-orig
debian-orig: private source = $(shell dpkg-parsechangelog -S Source)
debian-orig: private version = $(shell dpkg-parsechangelog -S Version | sed 's/-[^-]*$$//')
debian-orig: private orig-name = $(source)_$(version).orig.tar.gz
debian-orig: linux.tar.gz debian
	$(Q)if [ "$(df  --output=target .. 2>/dev/null)" = "$(df --output=target $< 2>/dev/null)" ]; then \
		ln -f $< ../$(orig-name); \
	else \
		cp $< ../$(orig-name); \
	fi

PHONY += deb-pkg
deb-pkg: debian-orig
	+dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) $(DPKG_FLAGS) \
		--build=source,binary -nc -us -uc

PHONY += bindeb-pkg
bindeb-pkg: debian
	+dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) $(DPKG_FLAGS) -b -nc -uc

PHONY += intdeb-pkg
intdeb-pkg:
	+$(CONFIG_SHELL) $(srctree)/scripts/package/builddeb

# snap-pkg
# ---------------------------------------------------------------------------
PHONY += snap-pkg
snap-pkg:
	rm -rf $(objtree)/snap
	mkdir $(objtree)/snap
	$(MAKE) clean
	$(call cmd,src_tar,$(KERNELPATH))
	sed "s@KERNELRELEASE@$(KERNELRELEASE)@; \
		s@SRCTREE@$(shell realpath $(KERNELPATH).tar.gz)@" \
		$(srctree)/scripts/package/snapcraft.template > \
		$(objtree)/snap/snapcraft.yaml
	cd $(objtree)/snap && \
	snapcraft --target-arch=$(UTS_MACHINE)

# dir-pkg tar*-pkg - tarball targets
# ---------------------------------------------------------------------------

tar-pkg-tarball = linux-$(KERNELRELEASE)-$(ARCH).$(1)
tar-pkg-phony = $(subst .,,$(1))-pkg

tar-install: FORCE
	$(Q)$(MAKE) -f $(srctree)/Makefile
	+$(Q)$(srctree)/scripts/package/buildtar $@

PHONY += dir-pkg
dir-pkg: tar-install
	@echo "Kernel tree successfully created in $<"

define tar-pkg-rule
PHONY += $(tar-pkg-phony)
$(tar-pkg-phony): $(tar-pkg-tarball)
	@:

$(tar-pkg-tarball): private tar-rootdir := tar-install
$(tar-pkg-tarball): tar-install
endef

$(foreach x, tar tar.gz tar.bz2 tar.xz tar.zst, $(eval $(call tar-pkg-rule,$(x))))

# perf-tar*-src-pkg - generate a source tarball with perf source
# ---------------------------------------------------------------------------

perf-tar-src-pkg-tarball = perf-$(KERNELVERSION).$(1)
perf-tar-src-pkg-phony   = perf-$(subst .,,$(1))-src-pkg

quiet_cmd_stage_perf_src = STAGE   $@
      cmd_stage_perf_src = \
	rm -rf $@; \
	mkdir -p $@; \
	tar -c -f - --exclude-from=$<_exclude -C $(srctree) --files-from=$(srctree)/tools/perf/MANIFEST | \
	tar -x -f - -C $@

.tmp_perf: .tmp_filelist
	$(call cmd,stage_perf_src)

filechk_perf_head = \
	if test -z "$(git -C $(srctree) rev-parse --show-cdup 2>/dev/null)" && \
	       head=$$(git -C $(srctree) rev-parse --verify HEAD 2>/dev/null); then \
		echo $$head; \
	else \
		echo "not a git tree"; \
	fi

.tmp_perf/HEAD: .tmp_perf FORCE
	$(call filechk,perf_head)

quiet_cmd_perf_version_file = GEN     $@
      cmd_perf_version_file = cd $(srctree)/tools/perf; util/PERF-VERSION-GEN $(dir $(abspath $@))

# PERF-VERSION-FILE and HEAD are independent, but this avoids updating the
# timestamp of PERF-VERSION-FILE.
# The best is to fix tools/perf/util/PERF-VERSION-GEN.
.tmp_perf/PERF-VERSION-FILE: .tmp_perf/HEAD $(srctree)/tools/perf/util/PERF-VERSION-GEN
	$(call cmd,perf_version_file)

define perf-tar-src-pkg-rule
PHONY += $(perf-tar-src-pkg-phony)
$(perf-tar-src-pkg-phony): $(perf-tar-src-pkg-tarball)
	@:

$(perf-tar-src-pkg-tarball): private tar-rootdir := .tmp_perf
$(perf-tar-src-pkg-tarball): .tmp_filelist .tmp_perf/HEAD .tmp_perf/PERF-VERSION-FILE
endef

$(foreach x, tar tar.gz tar.bz2 tar.xz tar.zst, $(eval $(call perf-tar-src-pkg-rule,$(x))))

# Help text displayed when executing 'make help'
# ---------------------------------------------------------------------------
PHONY += help
help:
	@echo '  rpm-pkg             - Build both source and binary RPM kernel packages'
	@echo '  srcrpm-pkg          - Build only the source kernel RPM package'
	@echo '  binrpm-pkg          - Build only the binary kernel RPM package'
	@echo '  deb-pkg             - Build both source and binary deb kernel packages'
	@echo '  bindeb-pkg          - Build only the binary kernel deb package'
	@echo '  snap-pkg            - Build only the binary kernel snap package'
	@echo '                        (will connect to external hosts)'
	@echo '  dir-pkg             - Build the kernel as a plain directory structure'
	@echo '  tar-pkg             - Build the kernel as an uncompressed tarball'
	@echo '  targz-pkg           - Build the kernel as a gzip compressed tarball'
	@echo '  tarbz2-pkg          - Build the kernel as a bzip2 compressed tarball'
	@echo '  tarxz-pkg           - Build the kernel as a xz compressed tarball'
	@echo '  tarzst-pkg          - Build the kernel as a zstd compressed tarball'
	@echo '  perf-tar-src-pkg    - Build the perf source tarball with no compression'
	@echo '  perf-targz-src-pkg  - Build the perf source tarball with gzip compression'
	@echo '  perf-tarbz2-src-pkg - Build the perf source tarball with bz2 compression'
	@echo '  perf-tarxz-src-pkg  - Build the perf source tarball with xz compression'
	@echo '  perf-tarzst-src-pkg - Build the perf source tarball with zst compression'

PHONY += FORCE
FORCE:

.PHONY: $(PHONY)
