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:
Masahiro Yamada 2023-07-22 13:47:59 +09:00
parent d4f651277e
commit 1789fc9125
2 changed files with 17 additions and 16 deletions

View File

@ -86,10 +86,10 @@ srcrpm-pkg: linux.tar.gz
# ---------------------------------------------------------------------------
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 \
--build-in-place --noprep --define='_smp_mflags %{nil}' \
--define='make $(MAKE)'
# deb-pkg srcdeb-pkg bindeb-pkg

View File

@ -35,6 +35,7 @@ fi
sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
%define ARCH ${ARCH}
%define KERNELRELEASE ${KERNELRELEASE}
%define pkg_release $("${srctree}/init/build-version")
# _arch is undefined if /usr/lib/rpm/platform/*/macros was not included.
%{!?_arch: %define _arch dummy}
@ -44,18 +45,18 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
Name: kernel
Summary: The Linux Kernel
Version: %(echo %{KERNELRELEASE} | sed -e 's/-/_/g')
Release: $(cat .version 2>/dev/null || echo 1)
Release: %{pkg_release}
License: GPL
Group: System Environment/Kernel
Vendor: The Linux Community
URL: https://www.kernel.org
$S Source0: linux.tar.gz
$S Source1: config
$S Source2: diff.patch
Source0: linux.tar.gz
Source1: config
Source2: diff.patch
Provides: kernel-%{KERNELRELEASE}
$S BuildRequires: bc binutils bison dwarves
$S BuildRequires: (elfutils-libelf-devel or libelf-devel) flex
$S BuildRequires: gcc make openssl openssl-devel perl python3 rsync
BuildRequires: bc binutils bison dwarves
BuildRequires: (elfutils-libelf-devel or libelf-devel) flex
BuildRequires: gcc make openssl openssl-devel perl python3 rsync
%define __spec_install_post /usr/lib/rpm/brp-compress || :
%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 against the %{version} kernel package.
$S$M
$S %prep
$S %setup -q -n linux
$S cp %{SOURCE1} .config
$S patch -p1 < %{SOURCE2}
$S
$S %build
$S %{make} %{makeflags} KERNELRELEASE=%{KERNELRELEASE} KBUILD_BUILD_VERSION=%{release}
$S
%prep
%setup -q -n linux
cp %{SOURCE1} .config
patch -p1 < %{SOURCE2}
%build
%{make} %{makeflags} KERNELRELEASE=%{KERNELRELEASE} KBUILD_BUILD_VERSION=%{release}
%install
mkdir -p %{buildroot}/boot
%ifarch ia64