sysboost/sysboost.spec

113 lines
2.9 KiB
RPMSpec
Raw Normal View History

2023-06-27 21:34:17 +08:00
#needsrootforbuild
%global __cargo_skip_build 0
%global __cargo_common_opts %{?__cargo_common_opts} --all
Name: sysboost
Version: 1.0.0
Release: 0
2023-08-03 21:37:16 +08:00
Summary: Sysboost Rpm Build
2023-06-27 21:34:17 +08:00
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: rust rust-packaging cargo
2023-08-03 21:37:16 +08:00
BuildRequires: native-turbo-devel
BuildRequires: ncurses-devel
BuildRequires: xz-devel
2023-06-27 21:34:17 +08:00
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.
2023-07-25 20:41:20 +08:00
%package profile
Summary: Indicates the preset profile for the bolt.
%description profile
Indicates the preset profile for the bolt..
2023-06-27 21:34:17 +08:00
%prep
export RPM_BUILD_DIR=%_topdir/BUILD
export RPM_BUILD_SOURCE=%_topdir/SOURCES
2023-07-11 20:17:45 +08:00
tar xf $RPM_BUILD_SOURCE/%{name}.tar.xz
2023-06-27 21:34:17 +08:00
%build
2023-08-03 21:37:16 +08:00
## build binfmt.ko
2023-06-27 21:34:17 +08:00
namer=%{kern_devel_ver}
2023-08-03 21:37:16 +08:00
#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
2023-06-27 21:34:17 +08:00
# 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/
2023-07-25 20:41:20 +08:00
mkdir -p $RPM_BUILD_ROOT/usr/lib/sysboost.d/profile/
2023-06-28 17:21:40 +08:00
mkdir -p $RPM_BUILD_ROOT/usr/bin
2023-06-27 21:34:17 +08:00
# install binfmt.ko
2023-08-03 21:37:16 +08:00
#pushd $RPM_BUILD_DIR/%{name}
#install -m 400 ./src/binfmt_rto/binfmt_rto.ko $RPM_BUILD_ROOT/lib/modules/sysboost/
#popd
2023-06-27 21:34:17 +08:00
pushd $RPM_BUILD_DIR/%{name}
2023-07-11 20:17:45 +08:00
install -D -p -m 400 %{name}.service $RPM_BUILD_ROOT/usr/lib/systemd/system/%{name}.service
install -D -p -m 500 ./target/release/sysboostd $RPM_BUILD_ROOT%{_bindir}/
2023-08-03 21:37:16 +08:00
#install -D -p -m 400 ./profile/* $RPM_BUILD_ROOT/usr/lib/sysboost.d/profile/
2023-06-27 21:34:17 +08:00
%meson_install
popd
%check
%files
2023-07-11 20:17:45 +08:00
%defattr(400,root,root,-)
%dir %attr(700, root, root) /etc/sysboost.d/
%dir %attr(700, root, root) /var/lib/sysboost/
2023-08-03 21:37:16 +08:00
#%dir %attr(500, root, root) /lib/modules/sysboost/
2023-06-27 21:34:17 +08:00
%{_bindir}/*
2023-06-28 17:21:40 +08:00
%{_libdir}/*
2023-07-11 20:17:45 +08:00
%attr(500, root, root) /usr/bin/sysboost
%attr(500, root, root) /usr/bin/sysboostd
%attr(600, root, root) /etc/sysboost.d
2023-06-27 21:34:17 +08:00
/usr/lib/systemd/system/%{name}.service
2023-08-03 21:37:16 +08:00
#%attr(0400,root,root) /lib/modules/sysboost/*
2023-06-27 21:34:17 +08:00
2023-07-25 20:41:20 +08:00
%files profile
2023-08-03 21:37:16 +08:00
#%dir %attr(500, root, root) /usr/lib/sysboost.d/profile/
#%attr(0400,root,root) /usr/lib/sysboost.d/profile/*
2023-07-25 20:41:20 +08:00
2023-06-27 21:34:17 +08:00
%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