init the spec file
This commit is contained in:
parent
7dd3545aeb
commit
de7d0c24a6
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