diff --git a/syscare.spec b/syscare.spec index cb1e51b..931b9a5 100644 --- a/syscare.spec +++ b/syscare.spec @@ -1,19 +1,16 @@ +%define _debugsource_template %{nil} + %define build_version %{version}-%{release} %define kernel_devel_rpm %(echo $(rpm -q kernel-devel | head -n 1)) %define kernel_version %(echo $(rpm -q --qf "\%%{VERSION}" %{kernel_devel_rpm})) %define kernel_name %(echo $(rpm -q --qf "\%%{VERSION}-\%%{RELEASE}.\%%{ARCH}" %{kernel_devel_rpm})) -%define pkg_kmod %{name}-kmod -%define pkg_build %{name}-build -%define pkg_build_kmod %{pkg_build}-kmod -%define pkg_build_ebpf %{pkg_build}-ebpf - ############################################ ############ Package syscare ############### ############################################ Name: syscare Version: 1.1.0 -Release: 6 +Release: 6k Summary: System hot-fix service License: MulanPSL-2.0 and GPL-2.0-only URL: https://gitee.com/openeuler/syscare @@ -21,7 +18,6 @@ Source0: %{name}-%{version}.tar.gz BuildRequires: cmake >= 3.14 make BuildRequires: rust >= 1.51 cargo >= 1.51 BuildRequires: gcc gcc-c++ -Requires: %{pkg_kmod} >= %{build_version} Requires: coreutils systemd Requires: kpatch-runtime @@ -42,7 +38,7 @@ cd build cmake \ -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_VERSION=%{build_version} \ - -DKERNEL_VERSION=%{kernel_name} \ + -D_BUILD_UPATCH=0 \ .. make @@ -52,10 +48,6 @@ make cd build %make_install -mkdir -p %{buildroot}/lib/modules/%{kernel_name}/extra/syscare -mv -f %{buildroot}/usr/libexec/syscare/upatch.ko %{buildroot}/lib/modules/%{kernel_name}/extra/syscare -mv -f %{buildroot}/usr/libexec/syscare/upatch_hijacker.ko %{buildroot}/lib/modules/%{kernel_name}/extra/syscare - ############### PostInstall ################ %post mkdir -p /usr/lib/syscare/patches @@ -87,39 +79,6 @@ fi %attr(644,root,root) /usr/lib/systemd/system/syscare.service %attr(755,root,root) /usr/bin/syscared %attr(755,root,root) /usr/bin/syscare -%attr(755,root,root) /usr/libexec/syscare/upatch-tool - -############################################ -########## Package syscare-kmod ############ -############################################ -%package kmod -Summary: Syscare kernel module. -BuildRequires: make gcc -BuildRequires: kernel-devel -Requires: kernel >= %{kernel_version} - -############### Description ################ -%description kmod -Syscare dependency - kernel module. - -############### PostInstall ################ -%post kmod -echo "/lib/modules/%{kernel_name}/extra/syscare/upatch.ko" | /sbin/weak-modules --add-module --no-initramfs -depmod - -############### PreUninstall ############### -%preun kmod -# Nothing - -############## PostUninstall ############### -%postun kmod -echo "/lib/modules/%{kernel_name}/extra/syscare/upatch.ko" | /sbin/weak-modules --remove-module --no-initramfs -depmod - -################## Files ################### -%files kmod -%dir /lib/modules/%{kernel_name}/extra/syscare -%attr(640,root,root) /lib/modules/%{kernel_name}/extra/syscare/upatch.ko ############################################ ########## Package syscare-build ########### @@ -127,7 +86,6 @@ depmod %package build Summary: Syscare build tools. BuildRequires: elfutils-libelf-devel -Requires: (%{pkg_build_kmod} >= %{build_version} or %{pkg_build_ebpf} >= %{build_version}) Requires: coreutils Requires: patch Requires: kpatch @@ -140,22 +98,13 @@ Syscare patch building toolset. ############### PostInstall ################ %post build -mkdir -p /etc/syscare -systemctl daemon-reload -systemctl enable upatch -systemctl start upatch ############### PreUninstall ############### %preun build -systemctl daemon-reload -systemctl stop upatch -systemctl disable upatch ############## PostUninstall ############### %postun build if [ "$1" -eq 0 ] || { [ -n "$2" ] && [ "$2" -eq 0 ]; }; then - rm -rf /etc/syscare - rm -f /var/log/syscare/upatchd*.log* if [ -z "$(ls -A /var/log/syscare)" ]; then rm -rf /var/log/syscare fi @@ -165,82 +114,14 @@ fi %files build %defattr(-,root,root,-) %dir /usr/libexec/syscare -%attr(644,root,root) /usr/lib/systemd/system/upatch.service -%attr(755,root,root) /usr/bin/upatchd %attr(755,root,root) /usr/libexec/syscare/syscare-build -%attr(755,root,root) /usr/libexec/syscare/upatch-build -%attr(755,root,root) /usr/libexec/syscare/upatch-diff -%attr(755,root,root) /usr/libexec/syscare/as-hijacker -%attr(755,root,root) /usr/libexec/syscare/cc-hijacker -%attr(755,root,root) /usr/libexec/syscare/c++-hijacker -%attr(755,root,root) /usr/libexec/syscare/gcc-hijacker -%attr(755,root,root) /usr/libexec/syscare/g++-hijacker - -############################################ -######## Package syscare-build-kmod ######## -############################################ -%package build-kmod -Summary: Kernel module for syscare patch build tools. -BuildRequires: make gcc -BuildRequires: kernel-devel -Requires: kernel >= %{kernel_version} -Conflicts: %{pkg_build_ebpf} - -############### Description ################ -%description build-kmod -Syscare build dependency - kernel module. - -############### PostInstall ################ -%post build-kmod -echo "/lib/modules/%{kernel_name}/extra/syscare/upatch_hijacker.ko" | /sbin/weak-modules --add-module --no-initramfs -depmod - -############### PreUninstall ############### -%preun build-kmod -# Nothing - -############## PostUninstall ############### -%postun build-kmod -echo "/lib/modules/%{kernel_name}/extra/syscare/upatch_hijacker.ko" | /sbin/weak-modules --remove-module --no-initramfs -depmod - -################## Files ################### -%files build-kmod -%dir /lib/modules/%{kernel_name}/extra/syscare -%attr(640,root,root) /lib/modules/%{kernel_name}/extra/syscare/upatch_hijacker.ko - -############################################ -######## Package syscare-build-ebpf ######## -############################################ -%package build-ebpf -Summary: eBPF for syscare patch build tools. -BuildRequires: make llvm clang bpftool -BuildRequires: libbpf libbpf-devel libbpf-static -Conflicts: %{pkg_build_kmod} - -############### Description ################ -%description build-ebpf -Syscare build dependency - eBPF. - -############### PostInstall ################ -%post build-ebpf - -############### PreUninstall ############### -%preun build-ebpf -# Nothing - -############## PostUninstall ############### -%postun build-ebpf -# Nothing - -################## Files ################### -%files build-ebpf -%attr(755,root,root) /usr/libexec/syscare/upatch_hijacker ############################################ ################ Change log ################ ############################################ %changelog +* Wed Oct 11 2023 renoseven - 1.1.0-6k +- Disable upatch support * Wed Oct 11 2023 renoseven - 1.1.0-6 - Support build patch for kernel moudules - Fix various issue