2024-11-11 11:49:46 +08:00
|
|
|
%define build_version %{version}-%{release}
|
2023-08-29 17:10:35 +08:00
|
|
|
|
|
|
|
|
############################################
|
|
|
|
|
############ Package syscare ###############
|
|
|
|
|
############################################
|
|
|
|
|
Name: syscare
|
2024-11-11 11:49:46 +08:00
|
|
|
Version: 1.2.2
|
|
|
|
|
Release: 3
|
2023-08-29 17:10:35 +08:00
|
|
|
Summary: System hot-fix service
|
|
|
|
|
License: MulanPSL-2.0 and GPL-2.0-only
|
|
|
|
|
URL: https://gitee.com/openeuler/syscare
|
|
|
|
|
Source0: %{name}-%{version}.tar.gz
|
2023-12-26 17:53:49 +08:00
|
|
|
|
2023-08-29 17:10:35 +08:00
|
|
|
BuildRequires: cmake >= 3.14 make
|
2023-09-20 14:58:01 +08:00
|
|
|
BuildRequires: rust >= 1.51 cargo >= 1.51
|
2023-08-29 17:10:35 +08:00
|
|
|
BuildRequires: gcc gcc-c++
|
|
|
|
|
Requires: coreutils systemd
|
|
|
|
|
Requires: kpatch-runtime
|
|
|
|
|
|
2024-08-16 10:31:54 +08:00
|
|
|
Excludearch: loongarch64
|
2024-07-04 14:10:35 +08:00
|
|
|
|
2023-08-29 17:10:35 +08:00
|
|
|
############### Description ################
|
2022-11-15 12:55:32 +00:00
|
|
|
%description
|
2023-08-29 17:10:35 +08:00
|
|
|
SysCare is a system-level hot-fix service that provides security patches and system error hot-fixes for the operating system.
|
2022-11-22 11:44:18 +00:00
|
|
|
The host can fix the system problem without rebooting.
|
2022-11-15 12:55:32 +00:00
|
|
|
|
2023-08-29 17:10:35 +08:00
|
|
|
############## BuildPreparare ##############
|
2022-11-15 12:55:32 +00:00
|
|
|
%prep
|
|
|
|
|
%autosetup -p1
|
|
|
|
|
|
2023-08-29 17:10:35 +08:00
|
|
|
################## Build ###################
|
2022-11-15 12:55:32 +00:00
|
|
|
%build
|
2023-06-02 17:11:44 +08:00
|
|
|
mkdir -p build
|
|
|
|
|
cd build
|
2023-03-15 11:34:43 +08:00
|
|
|
|
2023-10-11 23:09:02 +08:00
|
|
|
cmake \
|
2024-11-11 11:49:46 +08:00
|
|
|
-DENABLE_ASAN=0 \
|
|
|
|
|
-DENABLE_GCOV=0 \
|
2023-10-11 23:09:02 +08:00
|
|
|
-DBUILD_VERSION=%{build_version} \
|
2024-11-11 11:49:46 +08:00
|
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
2023-10-11 23:09:02 +08:00
|
|
|
..
|
|
|
|
|
|
2022-11-15 12:55:32 +00:00
|
|
|
make
|
|
|
|
|
|
2023-08-29 17:10:35 +08:00
|
|
|
################# Install ##################
|
2022-11-15 12:55:32 +00:00
|
|
|
%install
|
2023-06-02 17:11:44 +08:00
|
|
|
cd build
|
2022-11-15 12:55:32 +00:00
|
|
|
%make_install
|
2023-08-29 17:10:35 +08:00
|
|
|
|
|
|
|
|
############### PostInstall ################
|
2022-11-28 12:26:22 +00:00
|
|
|
%post
|
2023-04-04 10:57:35 +08:00
|
|
|
mkdir -p /usr/lib/syscare/patches
|
2023-03-15 11:34:43 +08:00
|
|
|
|
2023-08-29 17:10:35 +08:00
|
|
|
systemctl daemon-reload
|
2023-03-29 18:42:15 +08:00
|
|
|
systemctl enable syscare
|
2023-03-29 17:47:03 +08:00
|
|
|
systemctl start syscare
|
2022-12-02 11:45:58 +00:00
|
|
|
|
2023-08-29 17:10:35 +08:00
|
|
|
############### PreUninstall ###############
|
2022-12-02 11:45:58 +00:00
|
|
|
%preun
|
2024-04-10 17:42:19 +08:00
|
|
|
if [ "$1" -eq 0 ]; then
|
|
|
|
|
systemctl daemon-reload
|
|
|
|
|
systemctl stop syscare
|
|
|
|
|
systemctl disable syscare
|
|
|
|
|
fi
|
2022-12-02 11:45:58 +00:00
|
|
|
|
2023-08-29 17:10:35 +08:00
|
|
|
############## PostUninstall ###############
|
2022-12-02 11:45:58 +00:00
|
|
|
%postun
|
2023-03-29 17:47:03 +08:00
|
|
|
if [ "$1" -eq 0 ] || { [ -n "$2" ] && [ "$2" -eq 0 ]; }; then
|
2023-12-22 17:34:19 +08:00
|
|
|
# Remove patch directory
|
2023-03-29 17:47:03 +08:00
|
|
|
rm -rf /usr/lib/syscare
|
2023-12-22 17:34:19 +08:00
|
|
|
|
|
|
|
|
# Remove log directory
|
|
|
|
|
rm -f /var/log/syscare/syscared_r*.log
|
|
|
|
|
rm -f /var/log/syscare/syscared_r*.log.gz
|
2023-08-29 17:10:35 +08:00
|
|
|
if [ -z "$(ls -A /var/log/syscare)" ]; then
|
|
|
|
|
rm -rf /var/log/syscare
|
|
|
|
|
fi
|
2023-12-22 17:34:19 +08:00
|
|
|
|
|
|
|
|
# Remove run directory
|
|
|
|
|
rm -f /var/run/syscare/patch_op.lock
|
|
|
|
|
rm -f /var/run/syscare/syscared.*
|
|
|
|
|
if [ -z "$(ls -A /var/run/syscare)" ]; then
|
|
|
|
|
rm -rf /var/run/syscare
|
|
|
|
|
fi
|
2023-03-29 17:47:03 +08:00
|
|
|
fi
|
2022-11-28 12:26:22 +00:00
|
|
|
|
2023-08-29 17:10:35 +08:00
|
|
|
################## Files ###################
|
|
|
|
|
%files
|
2024-08-16 10:31:54 +08:00
|
|
|
%defattr(-,root,root,0555)
|
2023-08-29 17:10:35 +08:00
|
|
|
%dir /usr/libexec/syscare
|
2024-08-16 10:31:54 +08:00
|
|
|
%attr(0555,root,root) /usr/bin/syscare
|
|
|
|
|
%attr(0550,root,root) /usr/bin/syscared
|
|
|
|
|
%attr(0550,root,root) /usr/libexec/syscare/upatch-manage
|
2024-11-11 11:49:46 +08:00
|
|
|
%attr(0550,root,root) /usr/lib/systemd/system/syscare.service
|
2023-03-29 18:42:15 +08:00
|
|
|
|
2023-08-29 17:10:35 +08:00
|
|
|
############################################
|
|
|
|
|
########## Package syscare-build ###########
|
|
|
|
|
############################################
|
|
|
|
|
%package build
|
|
|
|
|
Summary: Syscare build tools.
|
|
|
|
|
BuildRequires: elfutils-libelf-devel
|
|
|
|
|
Requires: coreutils
|
|
|
|
|
Requires: patch
|
|
|
|
|
Requires: kpatch
|
|
|
|
|
Requires: tar gzip
|
|
|
|
|
Requires: rpm rpm-build
|
|
|
|
|
|
|
|
|
|
############### Description ################
|
|
|
|
|
%description build
|
|
|
|
|
Syscare patch building toolset.
|
|
|
|
|
|
|
|
|
|
################## Files ###################
|
2022-11-15 12:55:32 +00:00
|
|
|
%files build
|
2024-08-16 10:31:54 +08:00
|
|
|
%defattr(-,root,root,0555)
|
2023-03-15 11:34:43 +08:00
|
|
|
%dir /usr/libexec/syscare
|
2024-05-11 18:39:50 +08:00
|
|
|
%attr(555,root,root) /usr/libexec/syscare/syscare-build
|
|
|
|
|
%attr(555,root,root) /usr/libexec/syscare/upatch-build
|
|
|
|
|
%attr(555,root,root) /usr/libexec/syscare/upatch-diff
|
2024-11-11 11:49:46 +08:00
|
|
|
%attr(555,root,root) /usr/libexec/syscare/upatch-helper
|
|
|
|
|
%attr(555,root,root) /usr/libexec/syscare/upatch-cc
|
|
|
|
|
%attr(555,root,root) /usr/libexec/syscare/upatch-c++
|
2023-08-29 17:10:35 +08:00
|
|
|
|
|
|
|
|
############################################
|
|
|
|
|
################ Change log ################
|
|
|
|
|
############################################
|
2022-11-15 12:55:32 +00:00
|
|
|
%changelog
|
2024-11-11 11:49:46 +08:00
|
|
|
* Mon Nov 11 2024 renoseven<dev@renoseven.net> - 1.2.2-3
|
|
|
|
|
- syscared: support saving & restoring patch status by operation order
|
|
|
|
|
|