File kernel-livepatch-SLE15-SP1_Update_3.spec of Package kernel-livepatch-SLE15-SP1_Update_3.11878

#
# spec file for package Kernel live patch module
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# needssslcertforbuild

%define use_klp_convert 1

Name:           kernel-livepatch-SLE15-SP1_Update_3
Version:        1
Release:        1
%define module_num %(echo %version-%release | sed 'y/\./_/')
License:        GPL-2.0
Summary:        Kernel live patch module
Group:          System/Kernel
Source0:	uname_patch.tar.bz2
Source1:	Makefile
Source2:        livepatch_main.c
Source3:        config.sh
Source4:        source-timestamp
Source5:        shadow.h
Source6:        kallsyms_relocs.h
Source7:        kallsyms_relocs.c
Source8:	klp_convert.h
# Auto expanded KLP_PATCHES_SOURCES:

BuildRequires:  kernel-syms kernel-livepatch-tools-devel libelf-devel
%if 0%{?use_klp_convert}
BuildRequires:  kernel-default-livepatch-devel
%endif
ExclusiveArch:	ppc64le x86_64
%klp_module_package

%description
This is a live patch for SUSE Linux Enterprise Server kernel.

Source timestamp: 2019-07-08 20:03:41 +0000
GIT Revision: 28d2fad216861b5dcf12b21af57fce1e8ee45e46
GIT Branch: SLE15-SP1_Update_3

%prep
%setup -c
# Auto expanded KLP_PATCHES_SETUP_SOURCES:

cp %_sourcedir/livepatch_main.c .
cp %_sourcedir/shadow.h .
cp %_sourcedir/kallsyms_relocs.h .
cp %_sourcedir/kallsyms_relocs.c .
cp %_sourcedir/Makefile .
cp %_sourcedir/klp_convert.h .

%build
sed -i 's/@@RPMRELEASE@@/%module_num/g' Makefile
sed -i 's/@@RPMRELEASE@@/%module_num/g' livepatch_main.c
echo 'livepatch-%module_num' >Module.supported
set -- *

commit=$(sed -n 's/GIT Revision: //p' %_sourcedir/source-timestamp)
sed -i "s/@@GITREV@@/${commit:0:7}/g" uname_patch/livepatch_uname.c

for flavor in %flavors_to_build; do
	mkdir -p "obj/$flavor"
	cp -r "$@" "obj/$flavor"
	make -C %{kernel_source $flavor} M="$PWD/obj/$flavor" modules

	%if 0%{?use_klp_convert}
		module=$(find "obj/$flavor" -name 'livepatch*.ko' -printf '%f')
		klp-convert /usr/src/linux-obj/%_target_cpu/$flavor/Symbols.list \
			obj/$flavor/$module obj/$flavor/${module}_converted
		mv obj/$flavor/${module}_converted obj/$flavor/$module
	%endif
done

%install
export INSTALL_MOD_DIR=livepatch
export INSTALL_MOD_PATH=%buildroot
for flavor in %flavors_to_build; do
	make -C %{kernel_source $flavor} M="$PWD/obj/$flavor" modules_install
done

%changelog