Makefile.package (27121864ab366992583d894961ecdc6e2ffe0ca1) Makefile.package (7bf4582d7aad870ecb4f760743307ecba7a960f4)
1# SPDX-License-Identifier: GPL-2.0-only
2# Makefile for the different targets used to generate full packages of a kernel
3
4include $(srctree)/scripts/Kbuild.include
5
6# RPM target
7# ---------------------------------------------------------------------------
8# The rpm target generates two rpm files:

--- 18 unchanged lines hidden (view full) ---

27KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE))
28KDEB_SOURCENAME ?= linux-upstream
29KBUILD_PKG_ROOTCMD ?="fakeroot -u"
30export KDEB_SOURCENAME
31# Include only those top-level files that are needed by make, plus the GPL copy
32TAR_CONTENT := Documentation LICENSES arch block certs crypto drivers fs \
33 include init io_uring ipc kernel lib mm net rust \
34 samples scripts security sound tools usr virt \
1# SPDX-License-Identifier: GPL-2.0-only
2# Makefile for the different targets used to generate full packages of a kernel
3
4include $(srctree)/scripts/Kbuild.include
5
6# RPM target
7# ---------------------------------------------------------------------------
8# The rpm target generates two rpm files:

--- 18 unchanged lines hidden (view full) ---

27KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE))
28KDEB_SOURCENAME ?= linux-upstream
29KBUILD_PKG_ROOTCMD ?="fakeroot -u"
30export KDEB_SOURCENAME
31# Include only those top-level files that are needed by make, plus the GPL copy
32TAR_CONTENT := Documentation LICENSES arch block certs crypto drivers fs \
33 include init io_uring ipc kernel lib mm net rust \
34 samples scripts security sound tools usr virt \
35 .config .scmversion Makefile \
35 .config Makefile \
36 Kbuild Kconfig COPYING $(wildcard localversion*)
37MKSPEC := $(srctree)/scripts/package/mkspec
38
39quiet_cmd_src_tar = TAR $(2).tar.gz
40 cmd_src_tar = \
41if test "$(objtree)" != "$(srctree)"; then \
42 echo >&2; \
43 echo >&2 " ERROR:"; \
44 echo >&2 " Building source tarball is not possible outside the"; \
45 echo >&2 " kernel source tree. Don't set KBUILD_OUTPUT, or use the"; \
36 Kbuild Kconfig COPYING $(wildcard localversion*)
37MKSPEC := $(srctree)/scripts/package/mkspec
38
39quiet_cmd_src_tar = TAR $(2).tar.gz
40 cmd_src_tar = \
41if test "$(objtree)" != "$(srctree)"; then \
42 echo >&2; \
43 echo >&2 " ERROR:"; \
44 echo >&2 " Building source tarball is not possible outside the"; \
45 echo >&2 " kernel source tree. Don't set KBUILD_OUTPUT, or use the"; \
46 echo >&2 " binrpm-pkg or bindeb-pkg target instead."; \
46 echo >&2 " binrpm-pkg target instead."; \
47 echo >&2; \
48 false; \
49fi ; \
47 echo >&2; \
48 false; \
49fi ; \
50$(srctree)/scripts/setlocalversion --save-scmversion; \
51tar -I $(KGZIP) -c $(RCS_TAR_IGNORE) -f $(2).tar.gz \
50tar -I $(KGZIP) -c $(RCS_TAR_IGNORE) -f $(2).tar.gz \
52 --transform 's:^:$(2)/:S' $(TAR_CONTENT) $(3); \
53rm -f $(objtree)/.scmversion
51 --transform 's:^:$(2)/:S' $(TAR_CONTENT) $(3)
54
52
53# .tmp_filelist .tmp_filelist_exclude
54# ---------------------------------------------------------------------------
55
56scripts/list-gitignored: FORCE
57 $(Q)$(MAKE) -f $(srctree)/Makefile scripts_package
58
59# 1f5d3a6b6532e25a5cdf1f311956b2b03d343a48 removed '*.rej' from .gitignore,
60# but it is definitely a generated file.
61filechk_filelist = \
62 $< --exclude='*.rej' --output=$@_exclude --prefix=./ --rootdir=$(srctree) --stat=-
63
64.tmp_filelist: scripts/list-gitignored FORCE
65 $(call filechk,filelist)
66
67# tarball
68# ---------------------------------------------------------------------------
69
70quiet_cmd_tar = TAR $@
71 cmd_tar = tar -c -f $@ $(tar-compress-opt) $(tar-exclude-opt) \
72 --owner=0 --group=0 --sort=name \
73 --transform 's:^\.:$*:S' -C $(tar-rootdir) .
74
75tar-rootdir := $(srctree)
76
77%.tar.gz: private tar-compress-opt := -I $(KGZIP)
78%.tar.gz:
79 $(call cmd,tar)
80
81# Linux source tarball
82# ---------------------------------------------------------------------------
83
84linux.tar.gz: tar-exclude-opt = --exclude=./$@ --exclude-from=$<_exclude
85linux.tar.gz: .tmp_filelist
86
55# rpm-pkg
56# ---------------------------------------------------------------------------
57PHONY += rpm-pkg
58rpm-pkg:
59 $(MAKE) clean
60 $(CONFIG_SHELL) $(MKSPEC) >$(objtree)/kernel.spec
61 $(call cmd,src_tar,$(KERNELPATH),kernel.spec)
62 +rpmbuild $(RPMOPTS) --target $(UTS_MACHINE)-linux -ta $(KERNELPATH).tar.gz \

--- 14 unchanged lines hidden (view full) ---

77PHONY += binrpm-pkg
78binrpm-pkg:
79 $(MAKE) -f $(srctree)/Makefile
80 $(CONFIG_SHELL) $(MKSPEC) prebuilt > $(objtree)/binkernel.spec
81 +rpmbuild $(RPMOPTS) --define "_builddir $(objtree)" --target \
82 $(UTS_MACHINE)-linux -bb $(objtree)/binkernel.spec
83
84PHONY += deb-pkg
87# rpm-pkg
88# ---------------------------------------------------------------------------
89PHONY += rpm-pkg
90rpm-pkg:
91 $(MAKE) clean
92 $(CONFIG_SHELL) $(MKSPEC) >$(objtree)/kernel.spec
93 $(call cmd,src_tar,$(KERNELPATH),kernel.spec)
94 +rpmbuild $(RPMOPTS) --target $(UTS_MACHINE)-linux -ta $(KERNELPATH).tar.gz \

--- 14 unchanged lines hidden (view full) ---

109PHONY += binrpm-pkg
110binrpm-pkg:
111 $(MAKE) -f $(srctree)/Makefile
112 $(CONFIG_SHELL) $(MKSPEC) prebuilt > $(objtree)/binkernel.spec
113 +rpmbuild $(RPMOPTS) --define "_builddir $(objtree)" --target \
114 $(UTS_MACHINE)-linux -bb $(objtree)/binkernel.spec
115
116PHONY += deb-pkg
85deb-pkg:
86 $(MAKE) clean
117deb-pkg: linux.tar.gz
87 $(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian
118 $(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian
88 $(call cmd,src_tar,$(KDEB_SOURCENAME))
89 origversion=$$(dpkg-parsechangelog -SVersion |sed 's/-[^-]*$$//');\
119 origversion=$$(dpkg-parsechangelog -SVersion |sed 's/-[^-]*$$//');\
90 mv $(KDEB_SOURCENAME).tar.gz ../$(KDEB_SOURCENAME)_$${origversion}.orig.tar.gz
91 +dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) $(DPKG_FLAGS) -i.git -us -uc
120 cp linux.tar.gz ../$(KDEB_SOURCENAME)_$${origversion}.orig.tar.gz
121 +dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) $(DPKG_FLAGS) \
122 --build=source,binary --source-option=-sP -nc -us -uc
92
93PHONY += bindeb-pkg
94bindeb-pkg:
95 $(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian
96 +dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) $(DPKG_FLAGS) -b -nc -uc
97
98PHONY += intdeb-pkg
99intdeb-pkg:

--- 71 unchanged lines hidden (view full) ---

171 @echo ' tarxz-pkg - Build the kernel as a xz compressed tarball'
172 @echo ' tarzst-pkg - Build the kernel as a zstd compressed tarball'
173 @echo ' perf-tar-src-pkg - Build $(perf-tar).tar source tarball'
174 @echo ' perf-targz-src-pkg - Build $(perf-tar).tar.gz source tarball'
175 @echo ' perf-tarbz2-src-pkg - Build $(perf-tar).tar.bz2 source tarball'
176 @echo ' perf-tarxz-src-pkg - Build $(perf-tar).tar.xz source tarball'
177 @echo ' perf-tarzst-src-pkg - Build $(perf-tar).tar.zst source tarball'
178
123
124PHONY += bindeb-pkg
125bindeb-pkg:
126 $(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian
127 +dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) $(DPKG_FLAGS) -b -nc -uc
128
129PHONY += intdeb-pkg
130intdeb-pkg:

--- 71 unchanged lines hidden (view full) ---

202 @echo ' tarxz-pkg - Build the kernel as a xz compressed tarball'
203 @echo ' tarzst-pkg - Build the kernel as a zstd compressed tarball'
204 @echo ' perf-tar-src-pkg - Build $(perf-tar).tar source tarball'
205 @echo ' perf-targz-src-pkg - Build $(perf-tar).tar.gz source tarball'
206 @echo ' perf-tarbz2-src-pkg - Build $(perf-tar).tar.bz2 source tarball'
207 @echo ' perf-tarxz-src-pkg - Build $(perf-tar).tar.xz source tarball'
208 @echo ' perf-tarzst-src-pkg - Build $(perf-tar).tar.zst source tarball'
209
210PHONY += FORCE
211FORCE:
212
179.PHONY: $(PHONY)
213.PHONY: $(PHONY)