update syscare to 1.1.0-1
Signed-off-by: renoseven <dev@renoseven.net> (cherry picked from commit 4e838643fe44a557a015cad713a95b046f941cb9)
This commit is contained in:
parent
d21be6e791
commit
2ea4642c9d
@ -13,8 +13,6 @@ git clone "$REPO_URL"
|
|||||||
# Prepare package build requirements
|
# Prepare package build requirements
|
||||||
pushd "$REPO_NAME"
|
pushd "$REPO_NAME"
|
||||||
|
|
||||||
cargo update -p clap --precise 4.0.32
|
|
||||||
cargo update -p clap_lex --precise 0.3.0
|
|
||||||
cargo vendor --respect-source-config
|
cargo vendor --respect-source-config
|
||||||
|
|
||||||
mkdir -p .cargo
|
mkdir -p .cargo
|
||||||
|
|||||||
Binary file not shown.
257
syscare.spec
257
syscare.spec
@ -1,125 +1,242 @@
|
|||||||
%global debug_package %{nil}
|
%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}))
|
||||||
|
|
||||||
Name: syscare
|
%define pkg_kmod %{name}-kmod
|
||||||
Version: 1.0.2
|
%define pkg_build %{name}-build
|
||||||
Release: 5
|
%define pkg_build_kmod %{pkg_build}-kmod
|
||||||
Summary: system hot-fix service
|
%define pkg_build_ebpf %{pkg_build}-ebpf
|
||||||
|
|
||||||
License: MulanPSL-2.0 and GPL-2.0-only
|
############################################
|
||||||
URL: https://gitee.com/openeuler/syscare
|
############ Package syscare ###############
|
||||||
Source0: %{name}-%{version}.tar.gz
|
############################################
|
||||||
|
Name: syscare
|
||||||
BuildRequires: rust cargo gcc gcc-g++ cmake make
|
Version: 1.1.0
|
||||||
BuildRequires: elfutils-libelf-devel
|
Release: 1
|
||||||
|
Summary: System hot-fix service
|
||||||
Requires: coreutils systemd kpatch-runtime
|
License: MulanPSL-2.0 and GPL-2.0-only
|
||||||
Requires: %{name}-kmod >= 1.0.2-1
|
URL: https://gitee.com/openeuler/syscare
|
||||||
|
Source0: %{name}-%{version}.tar.gz
|
||||||
|
BuildRequires: cmake >= 3.14 make
|
||||||
|
BuildRequires: rust >= 1.60 cargo >= 1.60
|
||||||
|
BuildRequires: gcc gcc-c++
|
||||||
|
Requires: %{pkg_kmod} >= %{build_version}
|
||||||
|
Requires: coreutils systemd
|
||||||
|
Requires: kpatch-runtime
|
||||||
|
|
||||||
|
############### Description ################
|
||||||
%description
|
%description
|
||||||
SysCare is a system-level hot-fix software that provides single-machine-level and cluster-level security patches and system error hot-fixes for the operating system.
|
SysCare is a system-level hot-fix service that provides security patches and system error hot-fixes for the operating system.
|
||||||
The host can fix the system problem without rebooting.
|
The host can fix the system problem without rebooting.
|
||||||
|
|
||||||
%package kmod
|
############## BuildPreparare ##############
|
||||||
Summary: Syscare kernel modules.
|
|
||||||
Requires: kernel >= %{kernel_version}
|
|
||||||
BuildRequires: kernel-devel
|
|
||||||
BuildRequires: make gcc bison flex
|
|
||||||
|
|
||||||
%description kmod
|
|
||||||
Syscare kernel modules dependency.
|
|
||||||
|
|
||||||
%package build
|
|
||||||
Summary: Tools for build syscare patch.
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
Requires: %{name}-kmod >= 1.0.2-1
|
|
||||||
Requires: make patch gcc g++
|
|
||||||
Requires: bison flex
|
|
||||||
Requires: kpatch dwarves
|
|
||||||
Requires: elfutils-libelf-devel
|
|
||||||
Requires: rpm-build tar gzip
|
|
||||||
|
|
||||||
%description build
|
|
||||||
Syscare build tools.
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1
|
%autosetup -p1
|
||||||
|
|
||||||
|
################## Build ###################
|
||||||
%build
|
%build
|
||||||
mkdir -p build
|
mkdir -p build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_VERSION=%{version}-%{release} -DKERNEL_VERSION=%{kernel_name} ..
|
cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_VERSION=%{build_version} -DKERNEL_VERSION=%{kernel_name} ..
|
||||||
make
|
make
|
||||||
|
|
||||||
|
################# Install ##################
|
||||||
%install
|
%install
|
||||||
cd build
|
cd build
|
||||||
%make_install
|
%make_install
|
||||||
mkdir -p %{buildroot}/lib/modules/%{kernel_name}/extra/syscare
|
|
||||||
mv %{buildroot}/usr/libexec/syscare/upatch.ko %{buildroot}/lib/modules/%{kernel_name}/extra/syscare
|
|
||||||
|
|
||||||
|
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
|
%post
|
||||||
# Create runtime directory
|
|
||||||
mkdir -p /usr/lib/syscare/patches
|
mkdir -p /usr/lib/syscare/patches
|
||||||
|
|
||||||
# Start all services
|
systemctl daemon-reload
|
||||||
systemctl enable syscare
|
systemctl enable syscare
|
||||||
systemctl start syscare
|
systemctl start syscare
|
||||||
|
|
||||||
|
############### PreUninstall ###############
|
||||||
%preun
|
%preun
|
||||||
# Stop all services
|
|
||||||
systemctl stop syscare
|
systemctl stop syscare
|
||||||
systemctl disable syscare
|
systemctl disable syscare
|
||||||
|
systemctl daemon-reload
|
||||||
|
|
||||||
|
############## PostUninstall ###############
|
||||||
%postun
|
%postun
|
||||||
# Remove runtime directory at uninstallation
|
|
||||||
if [ "$1" -eq 0 ] || { [ -n "$2" ] && [ "$2" -eq 0 ]; }; then
|
if [ "$1" -eq 0 ] || { [ -n "$2" ] && [ "$2" -eq 0 ]; }; then
|
||||||
rm -rf /usr/lib/syscare
|
rm -rf /usr/lib/syscare
|
||||||
|
rm -f /var/log/syscare/syscared*.log*
|
||||||
|
if [ -z "$(ls -A /var/log/syscare)" ]; then
|
||||||
|
rm -rf /var/log/syscare
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%post kmod
|
################## Files ###################
|
||||||
# Create kmod weak-updates link
|
|
||||||
echo "/lib/modules/%{kernel_name}/extra/syscare/upatch.ko" | /sbin/weak-modules --add-module --no-initramfs --verbose >&2
|
|
||||||
|
|
||||||
# Start all services
|
|
||||||
systemctl enable syscare-upatch
|
|
||||||
systemctl start syscare-upatch
|
|
||||||
|
|
||||||
%preun kmod
|
|
||||||
# Stop all services
|
|
||||||
systemctl stop syscare-upatch
|
|
||||||
systemctl disable syscare-upatch
|
|
||||||
|
|
||||||
%postun kmod
|
|
||||||
# Remove kmod weak-updates link
|
|
||||||
echo "/lib/modules/%{kernel_name}/extra/syscare/upatch.ko" | /sbin/weak-modules --remove-module --no-initramfs --verbose >&2
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%attr(755,root,root) /usr/bin/syscare
|
|
||||||
%attr(644,root,root) /usr/lib/systemd/system/syscare.service
|
|
||||||
%dir /usr/libexec/syscare
|
%dir /usr/libexec/syscare
|
||||||
|
%attr(644,root,root) /usr/lib/systemd/system/syscare.service
|
||||||
|
%attr(755,root,root) /usr/bin/syscare
|
||||||
|
%attr(755,root,root) /usr/bin/syscared
|
||||||
%attr(755,root,root) /usr/libexec/syscare/upatch-tool
|
%attr(755,root,root) /usr/libexec/syscare/upatch-tool
|
||||||
|
|
||||||
|
############################################
|
||||||
|
########## Package syscare-kmod ############
|
||||||
|
############################################
|
||||||
|
%package kmod
|
||||||
|
Summary: Syscare kernel module.
|
||||||
|
BuildRequires: make gcc
|
||||||
|
BuildRequires: kernel-devel = %{kernel_version}
|
||||||
|
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
|
||||||
|
|
||||||
|
############### PreUninstall ###############
|
||||||
|
%preun kmod
|
||||||
|
# Nothing
|
||||||
|
|
||||||
|
############## PostUninstall ###############
|
||||||
|
%postun kmod
|
||||||
|
echo "/lib/modules/%{kernel_name}/extra/syscare/upatch.ko" | /sbin/weak-modules --remove-module --no-initramfs
|
||||||
|
|
||||||
|
################## Files ###################
|
||||||
%files kmod
|
%files kmod
|
||||||
%dir /lib/modules/%{kernel_name}/extra/syscare
|
%dir /lib/modules/%{kernel_name}/extra/syscare
|
||||||
%attr(640,root,root) /lib/modules/%{kernel_name}/extra/syscare/upatch.ko
|
%attr(640,root,root) /lib/modules/%{kernel_name}/extra/syscare/upatch.ko
|
||||||
%attr(644,root,root) /usr/lib/systemd/system/syscare-upatch.service
|
|
||||||
|
|
||||||
|
############################################
|
||||||
|
########## Package syscare-build ###########
|
||||||
|
############################################
|
||||||
|
%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
|
||||||
|
Requires: tar gzip
|
||||||
|
Requires: rpm rpm-build
|
||||||
|
|
||||||
|
############### Description ################
|
||||||
|
%description build
|
||||||
|
Syscare patch building toolset.
|
||||||
|
|
||||||
|
############### PostInstall ################
|
||||||
|
%post build
|
||||||
|
mkdir -p /etc/syscare
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl enable syscare-upatch
|
||||||
|
systemctl start syscare-upatch
|
||||||
|
|
||||||
|
############### PreUninstall ###############
|
||||||
|
%preun build
|
||||||
|
systemctl stop syscare-upatch
|
||||||
|
systemctl disable syscare-upatch
|
||||||
|
systemctl daemon-reload
|
||||||
|
|
||||||
|
############## 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
|
||||||
|
fi
|
||||||
|
|
||||||
|
################## Files ###################
|
||||||
%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/syscare-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-build
|
||||||
%attr(755,root,root) /usr/libexec/syscare/upatch-diff
|
%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 = %{kernel_version}
|
||||||
|
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
|
||||||
|
|
||||||
|
############### 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
|
||||||
|
|
||||||
|
################## 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
|
%changelog
|
||||||
* Fri Aug 11 2023 renoseven<dev@renoseven.net> - 1.0.2-5
|
* Mon Aug 28 2023 renoseven<dev@renoseven.net> - 1.1.0-1
|
||||||
- Fix patch release miscalculate issue
|
- Support build patch without kernel module
|
||||||
- Fix patch relocation failure on aarch64
|
- Add syscare daemon
|
||||||
|
- Add syscare-build daemon
|
||||||
|
- Improve syscare cli
|
||||||
* Wed Jun 28 2023 renoseven<dev@renoseven.net> - 1.0.2-4
|
* Wed Jun 28 2023 renoseven<dev@renoseven.net> - 1.0.2-4
|
||||||
- Fix builder check failure issue
|
- Fix builder check failure issue
|
||||||
* Sun Jun 25 2023 renoseven<dev@renoseven.net> - 1.0.2-3
|
* Sun Jun 25 2023 renoseven<dev@renoseven.net> - 1.0.2-3
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user