%global debug_package %{nil} Name: Kmesh Version: 0.3.0 Release: 2 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: cmake 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 * Thu Aug 17 2023 JofDiamonds - 0.3.0-2 - update package * Mon Jul 31 2023 JofDiamonds - 0.3.0-1 - init package