#needsrootforbuild %define __os_install_post %{nil} %define vmlinux_ver 5.10.0-126.0.0.66.oe2203.%{_arch} Summary: Intelligent ops toolkit for openEuler Name: gala-gopher Version: 1.0.2 Release: 1 License: Mulan PSL v2 URL: https://gitee.com/openeuler/gala-gopher Source: %{name}-%{version}.tar.gz BuildRoot: %{_builddir}/%{name}-%{version} BuildRequires: systemd cmake gcc-c++ elfutils-devel libcurl-devel BuildRequires: clang >= 10.0.1 llvm java-1.8.0-openjdk-devel BuildRequires: libconfig-devel librdkafka-devel libmicrohttpd-devel BuildRequires: libbpf-devel >= 2:0.3 uthash-devel log4cplus-devel BuildRequires: CUnit CUnit-devel dmidecode junit ethtool bpftool procps-ng Requires: bash glibc elfutils zlib bpftool dmidecode Requires: python3-psycopg2 python3-yaml flamegraph iproute libcurl Requires: libbpf >= 2:0.3 kmod net-tools ethtool %description gala-gopher is a low-overhead eBPF-based probes framework %prep %autosetup -n %{name}-%{version} -p1 %build pushd build sh build.sh --release %{vmlinux_ver} popd %check pushd test sh test_modules.sh sh test_extend_probes.sh sh test_probes.sh popd %install install -d %{buildroot}/etc/gala-gopher install -d %{buildroot}/opt/gala-gopher install -d %{buildroot}%{_bindir} mkdir -p %{buildroot}/usr/lib/systemd/system install -m 0600 service/gala-gopher.service %{buildroot}/usr/lib/systemd/system/gala-gopher.service pushd build sh install.sh %{buildroot}%{_bindir} %{buildroot}/opt/gala-gopher %{buildroot}/etc/gala-gopher popd %post %systemd_post gala-gopher.service %preun %systemd_preun gala-gopher.service %postun if [ $1 -eq 0 ]; then rm -rf /sys/fs/bpf/gala-gopher > /dev/null fi %systemd_postun_with_restart gala-gopher.service %files %defattr(-,root,root) %dir /opt/gala-gopher %dir /opt/gala-gopher/extend_probes %dir /opt/gala-gopher/meta %dir /opt/gala-gopher/lib %{_bindir}/* /opt/gala-gopher/extend_probes/* /opt/gala-gopher/meta/* /opt/gala-gopher/lib/* /etc/gala-gopher/res/event_multy_language.rc %config(noreplace) /etc/gala-gopher/*.conf %config(noreplace) /etc/gala-gopher/extend_probes/*.conf %exclude /opt/gala-gopher/extend_probes/*.pyc %exclude /opt/gala-gopher/extend_probes/*.pyo /usr/lib/systemd/system/gala-gopher.service %changelog * Fri Mar 3 2023 Tangxin Xie - 1.0.2-1 - update to 1.0.2 * Wed Feb 22 2023 Tangxin Xie - 1.0.1-5 - fix testcase compile and run errs * Tue Jan 31 2023 Zhen Chen - 1.0.1-4 - add net-tools and ethtool to Requires * Sun Jan 29 2023 Zhen Chen - 1.0.1-3 - specify libbpf version in BuildRequires and add some Requires * Sat Jan 14 2023 Zhen Chen - 1.0.1-2 - fix ksliprobe get invalid args occasionally at startup - fix error print when starting gala-gopher - add system_uuid field to distinguish client when post to pyroscope server - repair stackprobe caused cpu rush - add support to pyroscope - bugfix: add check if thread is 0 - fix stackprobe memory allocation and deallocation errors. - normalize time format in flamegraph svg filename * Mon Dec 12 2022 Zhen Chen - 1.0.1-1 - Update to 1.0.1 * Mon Dec 12 2022 Zhen Chen - 1.0.0-12 - remove debug_package %{nil} to strip files and provide debug packages * Wed Dec 6 2022 Zhen Chen - 1.0.0-11 - add %config(noreplace) to conf files of extend_probes * Tue Dec 6 2022 Zhen Chen - 1.0.0-10 - simplify vmlinux.h management with different kernel versions * Wed Nov 30 2022 Zhen Chen - 1.0.0-9 - fix java.probe build error caused by a typo in build.sh Only check the installation of dep when building ebpf.probes Remove unused BuildRequires and add java-1.8.0-openjdk-devel * Mon Nov 28 2022 wo_cow - 1.0.0-8 - fix issues raised during 22.03 test * Thu Nov 17 2022 wo_cow - 1.0.0-7 - resolve patch conflict * Thu Nov 17 2022 wo_cow - 1.0.0-6 - adapt libbpf v0.8 * Thu Nov 17 2022 Zhen Chen - 1.0.0-5 - add flamegraph-stackcollapse to Requires * Tue Nov 15 2022 Zhen Chen - 1.0.0-4 - add systemd to BuildRequires to fix install/uninstall errors simplify patch application in %prep * Mon Nov 14 2022 Zhen Chen - 1.0.0-3 - fix pgsliprobe * Mon Nov 14 2022 Zhen Chen - 1.0.0-2 - add vmlinux for 22.03-LTS & 22.03-LTS-SP1 * Mon Nov 14 2022 Zhen Chen - 1.0.0-1 - Package init