diff --git a/native-turbo.spec b/native-turbo.spec index d4d0ff1..4ca9a00 100644 --- a/native-turbo.spec +++ b/native-turbo.spec @@ -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 - 1.0.0-5 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: fix path of relocation - -* Fri May 19 2023 liutie - 1.0.0-4 +* Thu Sep 7 2023 yangpan - 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 - 1.0.0-6 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC: fix issue can not find native-turbo.service + +* Mon Jun 12 2023 liutie - 1.0.0-5 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC: when tools should run with xz and + +* Mon Jun 12 2023 liutie - 1.0.0-4 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC: create static libs and change devel subpackage name * Tue May 16 2023 liutie - 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 - 1.0.0-0 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC: init \ No newline at end of file diff --git a/native-turbo.tar.xz b/native-turbo.tar.xz new file mode 100644 index 0000000..625f936 Binary files /dev/null and b/native-turbo.tar.xz differ diff --git a/objreloc.sh b/objreloc.sh index 65c1615..3b22205 100644 --- a/objreloc.sh +++ b/objreloc.sh @@ -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" \ No newline at end of file +# objcopy --remove-relocations=".*" "$LIB_FILE" "$LIB_FILE.prim"