sync 23.09 to 22.03-lts-next

(cherry picked from commit fc8a6539055b6cf96eaac20ff4dd67cb68745383)
This commit is contained in:
pan-y 2024-05-16 17:29:12 +08:00 committed by openeuler-sync-bot
parent 1cbcb44b5e
commit ad3e76ddbe
3 changed files with 52 additions and 71 deletions

View File

@ -1,23 +1,19 @@
#needsrootforbuild
%global __cargo_skip_build 0
%global __cargo_common_opts %{?__cargo_common_opts} --all
Name: sysboost
Name: native-turbo
Version: 1.0.0
Release: 5
Release: 7
Summary: Numa Aware Scheduling
License: Mulan PSL v2
URL: https://gitee.com/openeuler/native-turbo
Source0: %{name}.tar.xz
Source1: objreloc.sh
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: xz
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.
@ -25,13 +21,17 @@ sysboost can merge ELF files to improve performance.
# Add devel subpackage
%package devel
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
Requires: xz
BuildRequires: binutils
%description devel
The %{name}-devel package contains some tools of sysboost.
%package tools
Summary: Some tools for %{name}
Requires: xz, binutils
%description tools
The %{name}-tools package contains some tools of sysboost.
%prep
export RPM_BUILD_DIR=%_topdir/BUILD
export RPM_BUILD_SOURCE=%_topdir/SOURCES
@ -39,95 +39,72 @@ export RPM_BUILD_SOURCE=%_topdir/SOURCES
tar -Jxf $RPM_BUILD_SOURCE/%{name}.tar.xz
cp $RPM_BUILD_SOURCE/objreloc.sh $RPM_BUILD_DIR/objreloc
cp $RPM_BUILD_DIR/native-turbo/sysboost/Cargo.toml $RPM_BUILD_DIR/
%cargo_prep
%cargo_generate_buildrequires
%build
namer=%{kern_devel_ver}
cd $RPM_BUILD_DIR/native-turbo/sysboost/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
cd $RPM_BUILD_DIR/native-turbo/sysboost
%cargo_build -a
cd $RPM_BUILD_DIR/native-turbo
make release
make
%install
mkdir -p $RPM_BUILD_ROOT/%{_bindir}
mkdir -p $RPM_BUILD_ROOT/usr/lib/systemd/system
mkdir -p $RPM_BUILD_ROOT/lib/modules/sysboost
mkdir -p $RPM_BUILD_ROOT/usr/lib/relocation
install -m 440 $RPM_BUILD_DIR/native-turbo/sysboost/src/binfmt_rto/binfmt_rto.ko $RPM_BUILD_ROOT/lib/modules/sysboost/
mkdir -p $RPM_BUILD_ROOT/%{_libdir}
mkdir -p $RPM_BUILD_ROOT/usr/include/
pushd native-turbo/build
install -D -p ./sysboost/sysboost $RPM_BUILD_ROOT/%{_bindir}/sysboost
xz ./sysboost/src/static_template/sysboost_static_template
install -D -p -m 400 ./sysboost/src/static_template/sysboost_static_template.xz $RPM_BUILD_ROOT/usr/lib/relocation/sysboost_static_template.relocation
xz ./sysboost/src/libhook/libhook.so
install -D -p -m 400 ./sysboost/src/libhook/libhook.so.xz $RPM_BUILD_ROOT/usr/lib/relocation/libhook.so.relocation
install -D -p -m 644 ./lib/libsi_array.a $RPM_BUILD_ROOT/%{_libdir}/libsi_array.a
install -D -p -m 644 ./lib/libsi_hashmap.a $RPM_BUILD_ROOT/%{_libdir}/libsi_hashmap.a
install -D -p -m 644 ./lib/libsi_ring.a $RPM_BUILD_ROOT/%{_libdir}/libsi_ring.a
install -D -p -m 644 ./lib/libsi_sys.a $RPM_BUILD_ROOT/%{_libdir}/libsi_sys.a
popd
pushd native-turbo/sysboost
install -D -p -m 440 %{name}.service $RPM_BUILD_ROOT/usr/lib/systemd/system/%{name}.service
install -D -p ./target/release/sysboostd $RPM_BUILD_ROOT%{_bindir}/
pushd native-turbo
install -D -p -m 644 ./lib/sys/include/* $RPM_BUILD_ROOT/usr/include/
install -D -p -m 644 ./lib/hashmap/si_hashmap.h $RPM_BUILD_ROOT/usr/include/si_hashmap.h
install -D -p -m 644 ./lib/array/si_array.h $RPM_BUILD_ROOT/usr/include/si_array.h
install -D -p -m 644 ./lib/ring/si_ring_core.h $RPM_BUILD_ROOT/usr/include/si_ring_core.h
install -D -p -m 644 ./lib/ring/si_ring.h $RPM_BUILD_ROOT/usr/include/si_ring.h
popd
install -m 755 $RPM_BUILD_DIR/objreloc $RPM_BUILD_ROOT%{_bindir}/
mkdir -p %{buildroot}/etc/sysboost.d/
# for DB
mkdir -p %{buildroot}/var/lib/sysboost/
%check
%files
%defattr(-,root,root,-)
%dir %attr(0700,root,root) /etc/sysboost.d/
%dir %attr(0700,root,root) /var/lib/sysboost/
%attr(0500,root,root) %{_bindir}/sysboost
%attr(0500,root,root) %{_bindir}/sysboostd
%attr(0400,root,root) /usr/lib/relocation/sysboost_static_template.relocation
%attr(0400,root,root) /usr/lib/relocation/libhook.so.relocation
%attr(0440,root,root) /usr/lib/systemd/system/%{name}.service
%attr(0400,root,root) /lib/modules/sysboost/*
%files devel
%{_libdir}/*
/usr/include/*
%files tools
%defattr(0755,root,root)
%{_bindir}/objreloc
%doc
%post
%systemd_post %{name}.service
%preun
%systemd_preun %{name}.service
%postun
%systemd_postun_with_restart %{name}.service
%changelog
* Wed Jun 7 2023 Zhou Kang <gameoverboss@163.com> - 1.0.0-5
- Type:bugfix
- ID:NA
- SUG:NA
- DESC: fix path of relocation
* Fri May 19 2023 liutie <liutie4@huawei.com> - 1.0.0-4
* Thu Sep 7 2023 yangpan <yangpan51@huawei.com> - 1.0.0-7
- Type:enhancement
- ID:NA
- SUG:NA
- DESC: Add binfmt_rto
- DESC: fix issue about self-compilation failure
* Tue Aug 29 2023 liutie <liutie4@huawei.com> - 1.0.0-6
- Type:enhancement
- ID:NA
- SUG:NA
- DESC: fix issue can not find native-turbo.service
* Mon Jun 12 2023 liutie <liutie4@huawei.com> - 1.0.0-5
- Type:enhancement
- ID:NA
- SUG:NA
- DESC: when tools should run with xz and
* Mon Jun 12 2023 liutie <liutie4@huawei.com> - 1.0.0-4
- Type:enhancement
- ID:NA
- SUG:NA
- DESC: create static libs and change devel subpackage name
* Tue May 16 2023 liutie <liutie4@huawei.com> - 1.0.0-3
- Type:enhancement
@ -148,3 +125,7 @@ mkdir -p %{buildroot}/var/lib/sysboost/
- DESC: Independently generate the objreloc tool
* Thu Apr 6 2023 liutie <liutie4@huawei.com> - 1.0.0-0
- Type:enhancement
- ID:NA
- SUG:NA
- DESC: init

BIN
native-turbo.tar.xz Normal file

Binary file not shown.

View File

@ -11,7 +11,7 @@ if [ ! -f "$LIB_FILE" ]; then
fi
# Remove debug and unnecessary sections, and create relocation and primary files
objcopy --strip-debug --strip-dwo --strip-unneeded "$LIB_FILE" "$LIB_FILE.relocation"
objcopy --strip-debug --strip-dwo "$LIB_FILE" "$LIB_FILE.relocation"
xz -z "$LIB_FILE.relocation"
mv -f "$LIB_FILE.relocation.xz" "$LIB_FILE.relocation"
# objcopy --remove-relocations=".*" "$LIB_FILE" "$LIB_FILE.prim"
# objcopy --remove-relocations=".*" "$LIB_FILE" "$LIB_FILE.prim"