update syscare to 1.2.0-2

Signed-off-by: renoseven <dev@renoseven.net>
(cherry picked from commit 89791c135ed1924d448d62846cfdac5bcd18c028)
This commit is contained in:
renoseven 2023-11-22 11:23:18 +08:00 committed by openeuler-sync-bot
parent 62b4079534
commit a4a0bc8a20
3 changed files with 68 additions and 9 deletions

View File

@ -1,9 +1,9 @@
#!/bin/bash -e #!/bin/bash -e
readonly REPO_NAME="syscare" readonly REPO_NAME="syscare"
readonly REPO_PROVIDER="renoseven" readonly REPO_PROVIDER="openeuler"
readonly REPO_URL="https://gitee.com/$REPO_PROVIDER/$REPO_NAME" readonly REPO_URL="https://gitee.com/$REPO_PROVIDER/$REPO_NAME"
readonly REPO_BRANCH="master" readonly REPO_BRANCH="openEuler-20.03"
echo "Cloning source code..." echo "Cloning source code..."
repo_version=$(grep "Version" "$REPO_NAME.spec" | head -n 1 | awk -F ' ' '{print $NF}') repo_version=$(grep "Version" "$REPO_NAME.spec" | head -n 1 | awk -F ' ' '{print $NF}')

View File

@ -1,16 +1,18 @@
%define _debugsource_template %{nil}
%define build_version %{version}-%{release} %define build_version %{version}-%{release}
%define kernel_devel_rpm %(echo $(rpm -q kernel-devel | head -n 1)) %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_version %(echo $(rpm -q --qf "\%%{VERSION}" %{kernel_devel_rpm}))
%define kernel_name %(echo $(rpm -q --qf "\%%{VERSION}-\%%{RELEASE}.\%%{ARCH}" %{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
############################################ ############################################
############ Package syscare ############### ############ Package syscare ###############
############################################ ############################################
Name: syscare Name: syscare
Version: 1.1.0 Version: 1.2.0
Release: 6k Release: 2
Summary: System hot-fix service Summary: System hot-fix service
License: MulanPSL-2.0 and GPL-2.0-only License: MulanPSL-2.0 and GPL-2.0-only
URL: https://gitee.com/openeuler/syscare URL: https://gitee.com/openeuler/syscare
@ -38,7 +40,7 @@ cd build
cmake \ cmake \
-DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_VERSION=%{build_version} \ -DBUILD_VERSION=%{build_version} \
-D_BUILD_UPATCH=0 \ -DKERNEL_VERSION=%{kernel_name} \
.. ..
make make
@ -48,6 +50,9 @@ make
cd build cd build
%make_install %make_install
mkdir -p %{buildroot}/lib/modules/%{kernel_name}/extra/syscare
mv -f %{buildroot}/usr/libexec/syscare/upatch_hijacker.ko %{buildroot}/lib/modules/%{kernel_name}/extra/syscare
############### PostInstall ################ ############### PostInstall ################
%post %post
mkdir -p /usr/lib/syscare/patches mkdir -p /usr/lib/syscare/patches
@ -79,6 +84,7 @@ fi
%attr(644,root,root) /usr/lib/systemd/system/syscare.service %attr(644,root,root) /usr/lib/systemd/system/syscare.service
%attr(755,root,root) /usr/bin/syscared %attr(755,root,root) /usr/bin/syscared
%attr(755,root,root) /usr/bin/syscare %attr(755,root,root) /usr/bin/syscare
%attr(755,root,root) /usr/libexec/syscare/upatch-manage
############################################ ############################################
########## Package syscare-build ########### ########## Package syscare-build ###########
@ -86,6 +92,7 @@ fi
%package build %package build
Summary: Syscare build tools. Summary: Syscare build tools.
BuildRequires: elfutils-libelf-devel BuildRequires: elfutils-libelf-devel
Requires: %{pkg_build_kmod} >= %{build_version}
Requires: coreutils Requires: coreutils
Requires: patch Requires: patch
Requires: kpatch Requires: kpatch
@ -98,13 +105,22 @@ Syscare patch building toolset.
############### PostInstall ################ ############### PostInstall ################
%post build %post build
mkdir -p /etc/syscare
systemctl daemon-reload
systemctl enable upatch
systemctl start upatch
############### PreUninstall ############### ############### PreUninstall ###############
%preun build %preun build
systemctl daemon-reload
systemctl stop upatch
systemctl disable upatch
############## PostUninstall ############### ############## PostUninstall ###############
%postun build %postun build
if [ "$1" -eq 0 ] || { [ -n "$2" ] && [ "$2" -eq 0 ]; }; then 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 if [ -z "$(ls -A /var/log/syscare)" ]; then
rm -rf /var/log/syscare rm -rf /var/log/syscare
fi fi
@ -114,14 +130,57 @@ fi
%files build %files build
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir /usr/libexec/syscare %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/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}
############### 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
############################################ ############################################
################ Change log ################ ################ Change log ################
############################################ ############################################
%changelog %changelog
* Wed Oct 11 2023 renoseven<dev@renoseven.net> - 1.1.0-6k * Wed Nov 22 2023 renoseven<dev@renoseven.net> - 1.2.0-2
- Disable upatch support - Fix upatch process detection
* Wed Nov 22 2023 renoseven<dev@renoseven.net> - 1.2.0-1
- Fix various issue
* Wed Oct 11 2023 renoseven<dev@renoseven.net> - 1.1.0-6 * Wed Oct 11 2023 renoseven<dev@renoseven.net> - 1.1.0-6
- Support build patch for kernel moudules - Support build patch for kernel moudules
- Fix various issue - Fix various issue