forked from mirrors/linux
		
	kbuild: rpm-pkg: invoke the kernel build from rpmbuild for binrpm-pkg
To reduce the preprocess of the spec file, invoke the kernel build from rpmbuild. Run init/build-version to increment the release number not only for binrpm-pkg but also for srcrpm-pkg and rpm-pkg. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
		
							parent
							
								
									d4f651277e
								
							
						
					
					
						commit
						1789fc9125
					
				
					 2 changed files with 17 additions and 16 deletions
				
			
		|  | @ -86,10 +86,10 @@ srcrpm-pkg: linux.tar.gz | ||||||
| # --------------------------------------------------------------------------- | # --------------------------------------------------------------------------- | ||||||
| PHONY += binrpm-pkg | PHONY += binrpm-pkg | ||||||
| binrpm-pkg: | binrpm-pkg: | ||||||
| 	$(MAKE) -f $(srctree)/Makefile |  | ||||||
| 	$(CONFIG_SHELL) $(MKSPEC) prebuilt > $(objtree)/binkernel.spec | 	$(CONFIG_SHELL) $(MKSPEC) prebuilt > $(objtree)/binkernel.spec | ||||||
| 	+rpmbuild $(RPMOPTS) --define "_builddir $(objtree)" --target \ | 	+rpmbuild $(RPMOPTS) --define "_builddir $(objtree)" --target \ | ||||||
| 		$(UTS_MACHINE)-linux -bb $(objtree)/binkernel.spec \ | 		$(UTS_MACHINE)-linux -bb $(objtree)/binkernel.spec \ | ||||||
|  | 		--build-in-place --noprep --define='_smp_mflags %{nil}' \ | ||||||
| 		--define='make $(MAKE)' | 		--define='make $(MAKE)' | ||||||
| 
 | 
 | ||||||
| # deb-pkg srcdeb-pkg bindeb-pkg | # deb-pkg srcdeb-pkg bindeb-pkg | ||||||
|  |  | ||||||
|  | @ -35,6 +35,7 @@ fi | ||||||
| sed -e '/^DEL/d' -e 's/^\t*//' <<EOF | sed -e '/^DEL/d' -e 's/^\t*//' <<EOF | ||||||
| %define ARCH ${ARCH} | %define ARCH ${ARCH} | ||||||
| %define KERNELRELEASE ${KERNELRELEASE} | %define KERNELRELEASE ${KERNELRELEASE} | ||||||
|  | %define pkg_release $("${srctree}/init/build-version") | ||||||
| 
 | 
 | ||||||
| # _arch is undefined if /usr/lib/rpm/platform/*/macros was not included. | # _arch is undefined if /usr/lib/rpm/platform/*/macros was not included. | ||||||
| %{!?_arch: %define _arch dummy} | %{!?_arch: %define _arch dummy} | ||||||
|  | @ -44,18 +45,18 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF | ||||||
| 	Name: kernel | 	Name: kernel | ||||||
| 	Summary: The Linux Kernel | 	Summary: The Linux Kernel | ||||||
| 	Version: %(echo %{KERNELRELEASE} | sed -e 's/-/_/g') | 	Version: %(echo %{KERNELRELEASE} | sed -e 's/-/_/g') | ||||||
| 	Release: $(cat .version 2>/dev/null || echo 1) | 	Release: %{pkg_release} | ||||||
| 	License: GPL | 	License: GPL | ||||||
| 	Group: System Environment/Kernel | 	Group: System Environment/Kernel | ||||||
| 	Vendor: The Linux Community | 	Vendor: The Linux Community | ||||||
| 	URL: https://www.kernel.org | 	URL: https://www.kernel.org | ||||||
| $S	Source0: linux.tar.gz | 	Source0: linux.tar.gz | ||||||
| $S	Source1: config | 	Source1: config | ||||||
| $S	Source2: diff.patch | 	Source2: diff.patch | ||||||
| 	Provides: kernel-%{KERNELRELEASE} | 	Provides: kernel-%{KERNELRELEASE} | ||||||
| $S	BuildRequires: bc binutils bison dwarves | 	BuildRequires: bc binutils bison dwarves | ||||||
| $S	BuildRequires: (elfutils-libelf-devel or libelf-devel) flex | 	BuildRequires: (elfutils-libelf-devel or libelf-devel) flex | ||||||
| $S	BuildRequires: gcc make openssl openssl-devel perl python3 rsync | 	BuildRequires: gcc make openssl openssl-devel perl python3 rsync | ||||||
| 
 | 
 | ||||||
| 	%define __spec_install_post /usr/lib/rpm/brp-compress || : | 	%define __spec_install_post /usr/lib/rpm/brp-compress || : | ||||||
| 	%define debug_package %{nil} | 	%define debug_package %{nil} | ||||||
|  | @ -83,14 +84,14 @@ $S$M	%description -n kernel-devel | ||||||
| $S$M	This package provides kernel headers and makefiles sufficient to build modules | $S$M	This package provides kernel headers and makefiles sufficient to build modules | ||||||
| $S$M	against the %{version} kernel package. | $S$M	against the %{version} kernel package. | ||||||
| $S$M | $S$M | ||||||
| $S	%prep | 	%prep | ||||||
| $S	%setup -q -n linux | 	%setup -q -n linux | ||||||
| $S	cp %{SOURCE1} .config | 	cp %{SOURCE1} .config | ||||||
| $S	patch -p1 < %{SOURCE2} | 	patch -p1 < %{SOURCE2} | ||||||
| $S | 
 | ||||||
| $S	%build | 	%build | ||||||
| $S	%{make} %{makeflags} KERNELRELEASE=%{KERNELRELEASE} KBUILD_BUILD_VERSION=%{release} | 	%{make} %{makeflags} KERNELRELEASE=%{KERNELRELEASE} KBUILD_BUILD_VERSION=%{release} | ||||||
| $S | 
 | ||||||
| 	%install | 	%install | ||||||
| 	mkdir -p %{buildroot}/boot | 	mkdir -p %{buildroot}/boot | ||||||
| 	%ifarch ia64 | 	%ifarch ia64 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Masahiro Yamada
						Masahiro Yamada