lkml.org 
[lkml]   [2022]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH next] kbuild: add ability to make source rpm buildable using koji
    On Tue, Oct 25, 2022 at 3:17 PM Jonathan Toppins <jtoppins@redhat.com> wrote:
    >
    > From: Ivan Vecera <ivecera@redhat.com>
    >
    > Changes:
    > - added new target 'srcrpm-pkg' to generate source rpm
    > - added required build tools to spec file
    > - removed locally compiled host tools to force their re-compile
    >
    > Signed-off-by: Ivan Vecera <ivecera@redhat.com>
    > Signed-off-by: Jonathan Toppins <jtoppins@redhat.com>

    Acked-by: Íñigo Huguet <ihuguet@redhat.com>

    > ---
    > scripts/Makefile.package | 10 ++++++++++
    > scripts/package/mkspec | 7 +++++++
    > 2 files changed, 17 insertions(+)
    >
    > diff --git a/scripts/Makefile.package b/scripts/Makefile.package
    > index 8bbcced67c22..e0830a870394 100644
    > --- a/scripts/Makefile.package
    > +++ b/scripts/Makefile.package
    > @@ -62,6 +62,16 @@ rpm-pkg:
    > +rpmbuild $(RPMOPTS) --target $(UTS_MACHINE)-linux -ta $(KERNELPATH).tar.gz \
    > --define='_smp_mflags %{nil}'
    >
    > +# srcrpm-pkg
    > +# ---------------------------------------------------------------------------
    > +PHONY += srcrpm-pkg
    > +srcrpm-pkg:
    > + $(MAKE) clean
    > + $(CONFIG_SHELL) $(MKSPEC) >$(objtree)/kernel.spec
    > + $(call cmd,src_tar,$(KERNELPATH),kernel.spec)
    > + +rpmbuild $(RPMOPTS) --target $(UTS_MACHINE) -ts $(KERNELPATH).tar.gz \
    > + --define='_smp_mflags %{nil}' --define='_srcrpmdir $(srctree)'
    > +
    > # binrpm-pkg
    > # ---------------------------------------------------------------------------
    > PHONY += binrpm-pkg
    > diff --git a/scripts/package/mkspec b/scripts/package/mkspec
    > index 70392fd2fd29..dda00a948a01 100755
    > --- a/scripts/package/mkspec
    > +++ b/scripts/package/mkspec
    > @@ -33,6 +33,8 @@ EXCLUDES="$RCS_TAR_IGNORE --exclude=*vmlinux* --exclude=*.mod \
    > --exclude=*.o --exclude=*.ko --exclude=*.cmd --exclude=Documentation \
    > --exclude=.config.old --exclude=.missing-syscalls.d --exclude=*.s"
    >
    > +test -n "$LOCALVERSION" && MAKE="$MAKE LOCALVERSION=$LOCALVERSION"
    > +
    > # We can label the here-doc lines for conditional output to the spec file
    > #
    > # Labels:
    > @@ -49,6 +51,9 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
    > URL: https://www.kernel.org
    > $S Source: kernel-$__KERNELRELEASE.tar.gz
    > Provides: $PROVIDES
    > +$S BuildRequires: bc binutils bison dwarves elfutils-libelf-devel flex
    > +$S BuildRequires: gcc make openssl openssl-devel perl python3 rsync
    > +
    > # $UTS_MACHINE as a fallback of _arch in case
    > # /usr/lib/rpm/platform/*/macros was not included.
    > %define _arch %{?_arch:$UTS_MACHINE}
    > @@ -80,6 +85,8 @@ $S$M against the $__KERNELRELEASE kernel package.
    > $S$M
    > $S %prep
    > $S %setup -q
    > +$S rm -f scripts/basic/fixdep scripts/kconfig/conf
    > +$S rm -f tools/objtool/{fixdep,objtool}
    > $S
    > $S %build
    > $S $MAKE %{?_smp_mflags} KBUILD_BUILD_VERSION=%{release}
    > --
    > 2.31.1
    >


    --
    Íñigo Huguet

    \
     
     \ /
      Last update: 2022-11-02 08:06    [W:4.206 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site