104 lines
2.9 KiB
RPMSpec
104 lines
2.9 KiB
RPMSpec
%global debug_package %{nil}
|
|
|
|
Name: Kmesh
|
|
Version: 0.3.0
|
|
Release: 1
|
|
Summary: %{name} is a eBPF-based service mesh kernel solution
|
|
License: ASL 2.0
|
|
URL: https://gitee.com/openeuler/%{name}
|
|
Source0: %{version}.tar.gz
|
|
|
|
BuildRequires: make pkgconf dracut
|
|
BuildRequires: protobuf protobuf-c protobuf-c-devel
|
|
BuildRequires: golang >= 1.16
|
|
BuildRequires: clang >= 10.0.1 llvm >= 10.0.1
|
|
BuildRequires: libbpf-devel kernel-devel >= 5.10
|
|
BuildRequires: libboundscheck
|
|
BuildRequires: uname-build-checks
|
|
|
|
Requires: bpftool
|
|
Requires: libbpf
|
|
Requires: libboundscheck
|
|
|
|
%description
|
|
%{name} is a eBPF-based service mesh kernel solution.
|
|
|
|
ExclusiveArch: x86_64
|
|
|
|
%prep
|
|
%autosetup -n %{name}-%{version} -p1
|
|
|
|
%build
|
|
cd %{_builddir}/%{name}-%{version}
|
|
./build.sh -b
|
|
|
|
%install
|
|
mkdir -p %{buildroot}%{_bindir}
|
|
install %{_builddir}/%{name}-%{version}/kmesh-daemon %{buildroot}%{_bindir}
|
|
install %{_builddir}/%{name}-%{version}/kmesh-cmd %{buildroot}%{_bindir}
|
|
install %{_builddir}/%{name}-%{version}/build/kmesh-start-pre.sh %{buildroot}%{_bindir}
|
|
install %{_builddir}/%{name}-%{version}/build/kmesh-stop-post.sh %{buildroot}%{_bindir}
|
|
|
|
mkdir -p %{buildroot}/usr/lib64
|
|
install %{_builddir}/%{name}-%{version}/bpf/deserialization_to_bpf_map/libkmesh_deserial.so %{buildroot}/usr/lib64
|
|
install %{_builddir}/%{name}-%{version}/api/v2-c/libkmesh_api_v2_c.so %{buildroot}/usr/lib64
|
|
|
|
mkdir -p %{buildroot}/lib/modules/kmesh
|
|
install %{_builddir}/%{name}-%{version}/kernel/ko/kmesh.ko %{buildroot}/lib/modules/kmesh
|
|
|
|
mkdir -p %{buildroot}/%{_sysconfdir}/kmesh
|
|
install %{_builddir}/%{name}-%{version}/config/kmesh.json %{buildroot}/%{_sysconfdir}/kmesh
|
|
|
|
mkdir -p %{buildroot}/usr/lib/systemd/system
|
|
install %{_builddir}/%{name}-%{version}/build/kmesh.service %{buildroot}/usr/lib/systemd/system
|
|
|
|
%check
|
|
cd %{_builddir}/%{name}-%{version}
|
|
#make
|
|
#make test
|
|
|
|
%post
|
|
echo "installing ..."
|
|
ln -sf /lib/modules/kmesh/kmesh.ko /lib/modules/`uname -r`
|
|
depmod -a
|
|
|
|
%preun
|
|
if [ "$1" == "1" ]; then
|
|
systemctl status kmesh | grep "active (running)"
|
|
if [ "$?" == "0" ]; then
|
|
systemctl restart kmesh.service
|
|
fi
|
|
else
|
|
systemctl stop kmesh.service
|
|
fi
|
|
|
|
%postun
|
|
if [ "$1" -ne "1" ]; then
|
|
rm -rf /lib/modules/`uname -r`/kmesh.ko
|
|
fi
|
|
depmod -a
|
|
|
|
%clean
|
|
rm -rf %{buildroot}
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%attr(0550,root,root) %{_bindir}/kmesh-daemon
|
|
%attr(0550,root,root) %{_bindir}/kmesh-cmd
|
|
|
|
%attr(0500,root,root) /usr/lib64/libkmesh_deserial.so
|
|
%attr(0500,root,root) /usr/lib64/libkmesh_api_v2_c.so
|
|
|
|
%attr(0550,root,root) %dir /lib/modules/kmesh
|
|
%attr(0440,root,root) /lib/modules/kmesh/kmesh.ko
|
|
|
|
%attr(0750,root,root) %dir %{_sysconfdir}/kmesh
|
|
%config(noreplace) %attr(0640,root,root) %{_sysconfdir}/kmesh/kmesh.json
|
|
%config(noreplace) %attr(0640,root,root) /usr/lib/systemd/system/kmesh.service
|
|
%attr(0550,root,root) /usr/bin/kmesh-start-pre.sh
|
|
%attr(0550,root,root) /usr/bin/kmesh-stop-post.sh
|
|
|
|
%changelog
|
|
* Mon Jul 31 2023 JofDiamonds <kwb0523@163.com> - 0.3.0-1
|
|
- init package
|