spec: fix mckernel-devel package

Also fixes kernel-rpm-macro package resolution issue.

Fixes: 6d584fea "spec: Add mckernel-devel package"
Change-Id: Ide286753c89c3b931665f53dd8270427b19b39eb
This commit is contained in:
Masamichi Takagi
2020-03-03 13:06:12 +09:00
parent 8cf70900e7
commit c10b4a1c16
2 changed files with 22 additions and 19 deletions

View File

@ -1,6 +1,7 @@
# mckernel spec file usage:
# cmake /path/to/mckernel && make dist
# rpmbuild -ta mckernel-@MCKERNEL_VERSION@.tar.gz
# put mckernel.spec to SPECS and mckernel-@MCKERNEL_VERSION@.tar.gz to SOURCES
# rpmbuild -ba mckernel.spec
#
# for cross compilation also pass at least the following to rpmbuild:
# --target aarch64 -D 'kernel_version <target kernel>'
@ -22,16 +23,6 @@ Summary: IHK/McKernel
License: GPLv2
Source0: mckernel-%{version}.tar.gz
%description
Interface for Heterogeneous Kernels and McKernel.
%package devel
Summary: Headers and libraries required for build apps using IHK/McKernel
Requires: %{name} = %{version}-%{release}
%description devel
This package contains headers and libraries required for build apps using IHK/McKernel.
# kernel_module_package macro does not handle cross build...
%if "%{?_host_cpu}" == "x86_64" && "%{?_target_cpu}" == "aarch64"
%define cross_compile 1
@ -45,18 +36,25 @@ Requires(postun): /usr/sbin/depmod
%else
BuildRequires: systemd-devel numactl-devel binutils-devel kernel-devel
# Friendly reminder of the fact that kernel-rpm-macros is no longer included in kernel-devel
%if 0%{?rhel} >= 8 && %{undefined kernel_module_package_buildreqs}
BuildRequires: redhat-rpm-config kernel-rpm-macros elfutils-libelf-devel kmod
%else
%if 0%{?rhel} >= 8
BuildRequires: %kernel_module_package_buildreqs >= %{krequires}
%else
BuildRequires: %kernel_module_package_buildreqs = %{krequires}
BuildRequires: redhat-rpm-config kernel-rpm-macros elfutils-libelf-devel kmod
%endif
%if %{defined kernel_module_package_buildreqs}
BuildRequires: %kernel_module_package_buildreqs
%kernel_module_package %{?kmod_flavors}
%endif
%endif
%description
Interface for Heterogeneous Kernels and McKernel.
%package devel
Summary: Headers and libraries required for build apps using IHK/McKernel
Requires: %{name} = %{version}-%{release}
%description devel
This package contains headers and libraries required for build apps using IHK/McKernel.
%prep
%setup -q
@ -100,6 +98,7 @@ BuildRequires: %kernel_module_package_buildreqs = %{krequires}
%{_bindir}/eclair
%{_bindir}/vmcore2mckdump
%{_bindir}/mcstat
%{_libdir}/libihk.so
%{_libdir}/libsched_yield.so.1.0.0
%{_libdir}/libsched_yield.so
%{_libdir}/libldump2mcdump.so
@ -121,11 +120,15 @@ BuildRequires: %kernel_module_package_buildreqs = %{krequires}
%endif
%files devel
%{_libdir}/libihk.so
%{_includedir}/ihklib.h
%{_includedir}/ihk/affinity.h
%{_includedir}/ihk/ihk_rusage.h
%{_includedir}/ihk/archdefs.h
%{_includedir}/ihk/status.h
%{_includedir}/ihk/ihk_monitor.h
%{_includedir}/ihk/ihk_debug.h
%{_includedir}/ihk/ihk_host_driver.h
/lib/modules/%{kernel_version}/extra/mckernel/ihk/linux/core/Module.symvers
%if 0%{?cross_compile}
# scripts from /usr/lib/rpm/redhat/kmodtool (kernel_module_package) as well