!1 init the spec file
From: @ironictwist Reviewed-by: @gameoverboss Signed-off-by: @gameoverboss
This commit is contained in:
commit
61f52daee3
96
sysboost.spec
Normal file
96
sysboost.spec
Normal file
@ -0,0 +1,96 @@
|
||||
#needsrootforbuild
|
||||
%global __cargo_skip_build 0
|
||||
%global __cargo_common_opts %{?__cargo_common_opts} --all
|
||||
Name: sysboost
|
||||
Version: 1.0.0
|
||||
Release: 0
|
||||
Summary: Numa Aware Scheduling
|
||||
License: Mulan PSL v2
|
||||
URL: https://gitee.com/openeuler/sysboost
|
||||
|
||||
Source0: %{name}.tar.xz
|
||||
|
||||
BuildRequires: meson >= 0.49.2, clang >= 12.0.1
|
||||
BuildRequires: make >= 4.0, bison >= 2.7, binutils >= 2.30-17, gcc >= 10.3.1
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: rust rust-packaging cargo
|
||||
BuildRequires: kernel-devel
|
||||
|
||||
%define kern_devel_ver %(ver=`rpm -qa|grep kernel-devel`;echo ${ver#*kernel-devel-})
|
||||
|
||||
%description
|
||||
sysboost can merge ELF files to improve performance.
|
||||
|
||||
%prep
|
||||
export RPM_BUILD_DIR=%_topdir/BUILD
|
||||
export RPM_BUILD_SOURCE=%_topdir/SOURCES
|
||||
|
||||
tar -Jxf $RPM_BUILD_SOURCE/%{name}.tar.xz
|
||||
|
||||
%cargo_prep
|
||||
%cargo_generate_buildrequires
|
||||
|
||||
%build
|
||||
# build binfmt.ko
|
||||
%ifarch aarch64
|
||||
namer=%{kern_devel_ver}
|
||||
pushd $RPM_BUILD_DIR/%{name}/src/binfmt_rto
|
||||
%ifarch aarch64
|
||||
make %{?_smp_mflags} ARCH=arm64 KDIR=/lib/modules/${namer}/build
|
||||
%else
|
||||
make %{?_smp_mflags} ARCH=x86_64 KDIR=/lib/modules/${namer}/build
|
||||
%endif
|
||||
popd
|
||||
|
||||
# build sysboostd and sysboost
|
||||
pushd $RPM_BUILD_DIR/%{name}
|
||||
%cargo_build -a
|
||||
%meson
|
||||
%meson_build
|
||||
popd
|
||||
|
||||
%install
|
||||
# prep install path
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/lib/systemd/system
|
||||
mkdir -p $RPM_BUILD_ROOT/lib/modules/sysboost
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/sysboost.d/
|
||||
mkdir -p $RPM_BUILD_ROOT/var/lib/sysboost/
|
||||
|
||||
# install binfmt.ko
|
||||
pushd$RPM_BUILD_DIR/%{name}
|
||||
install -m 440 ./src/binfmt_rto/binfmt_rto.ko $RPM_BUILD_ROOT/lib/modules/sysboost/
|
||||
popd
|
||||
|
||||
pushd $RPM_BUILD_DIR/%{name}
|
||||
install -D -p -m 640 %{name}.service $RPM_BUILD_ROOT/usr/lib/systemd/system/%{name}.service
|
||||
install -D -p -m 750 ./target/release/sysboostd $RPM_BUILD_ROOT%{_bindir}/
|
||||
%meson_install
|
||||
popd
|
||||
|
||||
%check
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%dir /etc/sysboost.d/
|
||||
%dir /var/lib/sysboost/
|
||||
%{_bindir}/*
|
||||
/usr/lib/systemd/system/%{name}.service
|
||||
%attr(0440,root,root) /lib/modules/sysboost/*
|
||||
|
||||
%doc
|
||||
|
||||
%post
|
||||
%systemd_post %{name}.service
|
||||
|
||||
%preun
|
||||
%systemd_preun %{name}.service
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart %{name}.service
|
||||
|
||||
%changelog
|
||||
* Tue Jun 13 2023 liutie <liutie4@huawei.com> - 1.0.0-0
|
||||
- Type:enhancement
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC: init sysboost
|
||||
Loading…
x
Reference in New Issue
Block a user