From 44667aef1cd4309d22aa987302cd4eb965d3ca92 Mon Sep 17 00:00:00 2001 From: Tie Liu Date: Mon, 8 May 2023 17:30:43 +0800 Subject: [PATCH] Independently generate the objreloc tool. --- native-turbo.spec | 29 +++++++++++++++++++++---- objreloc.sh | 15 +++++++++++++ objreloc.spec | 54 ----------------------------------------------- 3 files changed, 40 insertions(+), 58 deletions(-) create mode 100644 objreloc.sh delete mode 100644 objreloc.spec diff --git a/native-turbo.spec b/native-turbo.spec index e79b0fa..0b00321 100644 --- a/native-turbo.spec +++ b/native-turbo.spec @@ -1,6 +1,6 @@ Name: sysboost Version: 1.0.0 -Release: 1 +Release: 2 Summary: Numa Aware Scheduling License: Mulan PSL v2 URL: https://gitee.com/openeuler/native-turbo @@ -15,6 +15,15 @@ BuildRequires: ncurses-devel %description sysboost can merge ELF files to improve performance. +# Add devel subpackage +%package devel +Summary: Development files for %{name} +Requires: %{name} = %{version}-%{release} +BuildRequires: binutils + +%description devel +The %{name}-devel package contains some tools of sysboost. + %prep rm -rf src mkdir -p bin @@ -28,8 +37,7 @@ export SYSBOOST_DIR=$RPM_BUILD_DIR/src/gitee.com/%{name} tar -Jxf $RPM_BUILD_SOURCE/%{name}.tar.xz cp $RPM_BUILD_SOURCE/%{name}.service $RPM_BUILD_DIR/ - -mv $RPM_BUILD_DIR/native-turbo/sysboost/src/objreloc/objreloc.sh $RPM_BUILD_DIR/native-turbo/sysboost/src/objreloc/objreloc +cp $RPM_BUILD_SOURCE/objreloc.sh $RPM_BUILD_DIR/objreloc cd $RPM_BUILD_DIR/ @@ -47,15 +55,22 @@ install -D -p -m 750 ./sysboost/src/static_template/sysboost_static_template $RP 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 +install -m 755 $RPM_BUILD_DIR/objreloc $RPM_BUILD_ROOT%{_bindir}/ + %check %files -%doc %{_bindir}/sysboost %{_bindir}/sysboost_static_template %{_bindir}/libhook.so /usr/lib/systemd/system/%{name}.service +%files devel +%defattr(0755,root,root) +%{_bindir}/objreloc + +%doc + %post %systemd_post %{name}.service @@ -66,6 +81,12 @@ install -D -p -m 640 %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/systemd/system/%{name}.s %systemd_postun_with_restart %{name}.service %changelog +* Mon May 8 2023 liutie - 1.0.0-2 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC: Independently generate the objreloc tool + * Mon May 8 2023 liutie - 1.0.0-1 - Type:enhancement - ID:NA diff --git a/objreloc.sh b/objreloc.sh new file mode 100644 index 0000000..1373236 --- /dev/null +++ b/objreloc.sh @@ -0,0 +1,15 @@ +#!/bin/bash +if [ $# -eq 0 ]; then + echo "Usage: $0 " + exit 1 +fi + +LIB_FILE="$1" +if [ ! -f "$LIB_FILE" ]; then + echo "Error: $LIB_FILE does not exist" + exit 1 +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 --remove-relocations=".*" "$LIB_FILE" "$LIB_FILE.prim" \ No newline at end of file diff --git a/objreloc.spec b/objreloc.spec deleted file mode 100644 index c692cbd..0000000 --- a/objreloc.spec +++ /dev/null @@ -1,54 +0,0 @@ -Name: objreloc -Version: 1.0.0 -Release: 0 -Summary: Numa Aware Scheduling -License: Mulan PSL v2 -URL: https://gitee.com/openeuler/native-turbo - -Source0: sysboost.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 - -%description -The package contains objreloc for relocations. - -%prep -rm -rf src -mkdir -p bin -mkdir -p pkg -mkdir -p src/gitee.com - -export RPM_BUILD_DIR=%_topdir/BUILD -export RPM_BUILD_SOURCE=%_topdir/SOURCES -export SYSBOOST_DIR=$RPM_BUILD_DIR/src/gitee.com/%{name} - -tar -Jxf $RPM_BUILD_SOURCE/sysboost.tar.xz - -mv $RPM_BUILD_DIR/native-turbo/sysboost/src/objreloc/objreloc.sh $RPM_BUILD_DIR/native-turbo/sysboost/src/objreloc/objreloc - -cd $RPM_BUILD_DIR/ - -%build - -%install -mkdir -p $RPM_BUILD_ROOT/%{_bindir} - -install -m 755 $RPM_BUILD_DIR/native-turbo/sysboost/src/objreloc/objreloc $RPM_BUILD_ROOT%{_bindir}/ - -%check - -%files -%defattr(0755,root,root) -%{_bindir}/objreloc -%doc - -%post - -%changelog -* Mon May 8 2023 liutie - 1.0.0-0 -- Type:enhancement -- ID:NA -- SUG:NA -- DESC: Independently generate the objreloc tool \ No newline at end of file -- Gitee