!112 Pack JVMTI plug-in into perf RPM

From: @erik_yuan
Reviewed-by: @xiexiuqi
Signed-off-by: @xiexiuqi
This commit is contained in:
openeuler-ci-bot 2021-02-01 21:45:30 +08:00 committed by Gitee
commit 237188c5e6

View File

@ -12,7 +12,7 @@
%global upstream_sublevel 0
%global devel_release 1
%global maintenance_release .0.0
%global pkg_release .9
%global pkg_release .10
%define with_debuginfo 1
# Do not recompute the build-id of vmlinux in find-debuginfo.sh
@ -29,6 +29,9 @@
# failed if there is new config options
%define listnewconfig_fail 0
#defualt is enabled. You can disable it with --without option
%define with_perf %{?_without_perf: 0} %{?!_without_perf: 1}
Name: kernel
Version: %{upstream_version}.%{upstream_sublevel}
Release: %{devel_release}%{?maintenance_release}%{?pkg_release}%{?extra_release}
@ -101,6 +104,12 @@ Requires: dracut >= 001-7 grubby >= 8.28-2 initscripts >= 8.11.1-1 linux-firmwar
ExclusiveArch: noarch aarch64 i686 x86_64
ExclusiveOS: Linux
%if %{with_perf}
BuildRequires: flex xz-devel libzstd-devel
BuildRequires: java-devel
%endif
%description
The Linux Kernel, the operating system core itself.
@ -150,6 +159,7 @@ Obsoletes: kernel-tools-libs-devel
This package contains the development files for the tools/ directory from
the kernel source.
%if %{with_perf}
%package -n perf
Summary: Performance monitoring for the Linux kernel
%description -n perf
@ -172,6 +182,8 @@ Summary: Python bindings for apps which will manipulate perf events
%description -n python3-perf
A Python module that permits applications written in the Python programming
language to use the interface to manipulate perf events.
# with_perf
%endif
%package -n bpftool
Summary: Inspection and simple manipulation of eBPF programs and maps
@ -211,6 +223,7 @@ package or when debugging this package.\
%files -n kernel-tools-debuginfo -f kernel-tools-debugfiles.list
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%{_bindir}/centrino-decode.*(\.debug)?|.*%{_bindir}/powernow-k8-decode.*(\.debug)?|.*%{_bindir}/cpupower.*(\.debug)?|.*%{_libdir}/libcpupower.*|.*%{_libdir}/libcpupower.*|.*%{_bindir}/turbostat.(\.debug)?|.*%{_bindir}/.*gpio.*(\.debug)?|.*%{_bindir}/.*iio.*(\.debug)?|.*%{_bindir}/tmon.*(.debug)?|XXX' -o kernel-tools-debugfiles.list}
%if %{with_perf}
%debuginfo_template -n perf
%files -n perf-debuginfo -f perf-debugfiles.list
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%{_bindir}/perf.*(\.debug)?|.*%{_libexecdir}/perf-core/.*|.*%{_libdir}/traceevent/.*|XXX' -o perf-debugfiles.list}
@ -224,6 +237,8 @@ package or when debugging this package.\
%debuginfo_template -n python3-perf
%files -n python3-perf-debuginfo -f python3-perf-debugfiles.list
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%{python3_sitearch}/perf.*(.debug)?|XXX' -o python3-perf-debugfiles.list}
#with_perf
%endif
%endif
@ -342,6 +357,7 @@ make ARCH=%{Arch} modules %{?_smp_mflags}
%endif
## make tools
%if %{with_perf}
# perf
%global perf_make \
make EXTRA_CFLAGS="-Wl,-z,now -g -Wall -fstack-protector-strong -fPIC" EXTRA_PERFLIBS="-fpie -pie" %{?_smp_mflags} -s V=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_LIBNUMA=1 NO_STRLCPY=1 prefix=%{_prefix}
@ -365,6 +381,7 @@ chmod +x tools/python3-perf/check-headers.sh
pushd tools/perf/Documentation/
make %{?_smp_mflags} man
popd
%endif
# bpftool
pushd tools/bpf/bpftool
@ -605,6 +622,7 @@ popd
## install tools
%if %{with_perf}
# perf
# perf tool binary and supporting scripts/binaries
%if 0%{?with_python2}
@ -630,6 +648,7 @@ rm -rf %{buildroot}/usr/lib/perf/include/bpf/
install -d %{buildroot}/%{_mandir}/man1
install -pm0644 tools/kvm/kvm_stat/kvm_stat.1 %{buildroot}/%{_mandir}/man1/
install -pm0644 tools/perf/Documentation/*.1 %{buildroot}/%{_mandir}/man1/
%endif
# bpftool
pushd tools/bpf/bpftool
@ -777,8 +796,10 @@ fi
%defattr (-, root, root)
/usr/include/*
%if %{with_perf}
%files -n perf
%{_bindir}/perf
%{_libdir}/libperf-jvmti.so
%dir %{_libdir}/traceevent
%{_libdir}/traceevent/plugins/
%{_libexecdir}/perf-core
@ -799,6 +820,7 @@ fi
%files -n python3-perf
%license linux-%{KernelVer}/COPYING
%{python3_sitearch}/*
%endif
%files -n kernel-tools -f cpupower.lang
%{_bindir}/cpupower
@ -862,6 +884,10 @@ fi
%endif
%changelog
* Tue Jan 22 2021 Yuan Zhichang<erik.yuan@arm.com> - 5.10.0-0.0.0.10
- Add the option of "with_perf"
- Output jvmti plug-in as part of perf building
* Tue Jan 26 2021 Chunsheng Luo <luochunsheng@huawei.com> - 5.10.0-1.0.0.9
- split from kernel-devel to kernel-headers and kernel-devel