!10 Add sysboostd service for sysboost

From: @ironictwist 
Reviewed-by: @gameoverboss 
Signed-off-by: @gameoverboss
This commit is contained in:
openeuler-ci-bot 2023-05-17 08:32:06 +00:00 committed by Gitee
commit 8dd39ef24c
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 35 additions and 25 deletions

View File

@ -1,16 +1,19 @@
#needsrootforbuild
%global __cargo_skip_build 0
%global __cargo_common_opts %{?__cargo_common_opts} --all
Name: sysboost Name: sysboost
Version: 1.0.0 Version: 1.0.0
Release: 2 Release: 3
Summary: Numa Aware Scheduling Summary: Numa Aware Scheduling
License: Mulan PSL v2 License: Mulan PSL v2
URL: https://gitee.com/openeuler/native-turbo URL: https://gitee.com/openeuler/native-turbo
Source0: %{name}.tar.xz Source0: %{name}.tar.xz
Source1: sysboost.service
BuildRequires: meson >= 0.49.2, clang >= 12.0.1 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: make >= 4.0, bison >= 2.7, binutils >= 2.30-17, gcc >= 10.3.1
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
BuildRequires: rust rust-packaging cargo
%description %description
sysboost can merge ELF files to improve performance. sysboost can merge ELF files to improve performance.
@ -25,44 +28,56 @@ BuildRequires: binutils
The %{name}-devel package contains some tools of sysboost. The %{name}-devel package contains some tools of sysboost.
%prep %prep
rm -rf src
mkdir -p bin
mkdir -p pkg
mkdir -p src/gitee.com
export RPM_BUILD_DIR=%_topdir/BUILD export RPM_BUILD_DIR=%_topdir/BUILD
export RPM_BUILD_SOURCE=%_topdir/SOURCES export RPM_BUILD_SOURCE=%_topdir/SOURCES
export SYSBOOST_DIR=$RPM_BUILD_DIR/src/gitee.com/%{name}
tar -Jxf $RPM_BUILD_SOURCE/%{name}.tar.xz tar -Jxf $RPM_BUILD_SOURCE/%{name}.tar.xz
cp $RPM_BUILD_SOURCE/%{name}.service $RPM_BUILD_DIR/
cp $RPM_BUILD_SOURCE/objreloc.sh $RPM_BUILD_DIR/objreloc cp $RPM_BUILD_SOURCE/objreloc.sh $RPM_BUILD_DIR/objreloc
cp $RPM_BUILD_DIR/native-turbo/sysboost/Cargo.toml $RPM_BUILD_DIR/
cd $RPM_BUILD_DIR/ %cargo_prep
%cargo_generate_buildrequires
%build %build
cd native-turbo cd $RPM_BUILD_DIR/native-turbo/sysboost
%cargo_build -a
cd $RPM_BUILD_DIR/native-turbo
make release make release
make make
%install %install
cd native-turbo/build
mkdir -p $RPM_BUILD_ROOT/%{_bindir} mkdir -p $RPM_BUILD_ROOT/%{_bindir}
mkdir -p $RPM_BUILD_ROOT/usr/lib/systemd/system mkdir -p $RPM_BUILD_ROOT/usr/lib/systemd/system
pushd native-turbo/build
install -D -p -m 750 ./sysboost/sysboost $RPM_BUILD_ROOT/%{_bindir}/sysboost install -D -p -m 750 ./sysboost/sysboost $RPM_BUILD_ROOT/%{_bindir}/sysboost
install -D -p -m 750 ./sysboost/src/static_template/sysboost_static_template $RPM_BUILD_ROOT/%{_bindir}/sysboost_static_template install -D -p -m 750 ./sysboost/src/static_template/sysboost_static_template $RPM_BUILD_ROOT/%{_bindir}/sysboost_static_template
install -D -p -m 750 ./sysboost/src/libhook/libhook.so $RPM_BUILD_ROOT/%{_bindir}/libhook.so install -D -p -m 750 ./sysboost/src/libhook/libhook.so $RPM_BUILD_ROOT/%{_bindir}/libhook.so
install -D -p -m 640 %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/systemd/system/%{name}.service popd
pushd native-turbo/sysboost
install -D -p -m 640 %{name}.service $RPM_BUILD_ROOT/usr/lib/systemd/system/%{name}.service
install -D -p -m 750 ./target/debug/sysboostd $RPM_BUILD_ROOT%{_bindir}/
popd
install -m 755 $RPM_BUILD_DIR/objreloc $RPM_BUILD_ROOT%{_bindir}/ install -m 755 $RPM_BUILD_DIR/objreloc $RPM_BUILD_ROOT%{_bindir}/
mkdir -p %{buildroot}/etc/sysboost.d/
mkdir -p %{buildroot}/var/lib/sysboost/
%check %check
%files %files
%defattr(-,root,root,-)
%dir /etc/sysboost.d/
%dir /var/lib/sysboost/
%{_bindir}/sysboost %{_bindir}/sysboost
%{_bindir}/sysboost_static_template %{_bindir}/sysboost_static_template
%{_bindir}/libhook.so %{_bindir}/libhook.so
%{_bindir}/sysboostd
/usr/lib/systemd/system/%{name}.service /usr/lib/systemd/system/%{name}.service
%files devel %files devel
@ -81,6 +96,12 @@ install -m 755 $RPM_BUILD_DIR/objreloc $RPM_BUILD_ROOT%{_bindir}/
%systemd_postun_with_restart %{name}.service %systemd_postun_with_restart %{name}.service
%changelog %changelog
* Tue May 16 2023 liutie <liutie4@huawei.com> - 1.0.0-3
- Type:enhancement
- ID:NA
- SUG:NA
- DESC: Add sysboostd service for sysboost
* Mon May 8 2023 liutie <liutie4@huawei.com> - 1.0.0-2 * Mon May 8 2023 liutie <liutie4@huawei.com> - 1.0.0-2
- Type:enhancement - Type:enhancement
- ID:NA - ID:NA
@ -93,4 +114,4 @@ install -m 755 $RPM_BUILD_DIR/objreloc $RPM_BUILD_ROOT%{_bindir}/
- SUG:NA - SUG:NA
- DESC: Independently generate the objreloc tool - DESC: Independently generate the objreloc tool
* Thu Apr 6 2023 liutie <liutie4@huawei.com> - 1.0.0-0 * Thu Apr 6 2023 liutie <liutie4@huawei.com> - 1.0.0-0

View File

@ -1,11 +0,0 @@
[Unit]
Description=Run sysboost for Kunpeng CPU
Requires=sysboost.service
After=sysboost.service
[Service]
Type=oneshot
ExecStart=/usr/bin/sysboostd
[Install]
WantedBy=multi-user.target

Binary file not shown.