X-Git-Url: http://git.pld-linux.org/?p=packages%2Fkernel-tools.git;a=blobdiff_plain;f=kernel-tools.spec;h=8d8f95114c54ea8f30392bfea7c9c6fa594e978d;hp=0aca55ee28b8bb5d40a4a53569099d86978765f1;hb=a02a39f;hpb=34dfb96783f43a97546d4fac3a83cc8a8d708ecf diff --git a/kernel-tools.spec b/kernel-tools.spec index 0aca55e..8d8f951 100644 --- a/kernel-tools.spec +++ b/kernel-tools.spec @@ -3,7 +3,8 @@ # - add -n python-perf? # - add bcond to disable building docs (perf docs) # - install of perf links perf binary again - +# - build runqslower (needs vmlinux with BPF section) +# # Conditional build: %bcond_without verbose # verbose build (V=1) %bcond_without cpupower # cpupower tools @@ -11,63 +12,76 @@ %bcond_without gtk # GTK+ 2.x perf support %bcond_without libunwind # libunwind perf support %bcond_without multilib # multilib perf support +%bcond_with runqslower # runqslower bpf tool %bcond_without usbip # usbip utils -%ifarch x32 -%undefine with_libunwind -%endif %ifnarch %{x8664} %undefine with_multilib %endif -%define basever 4.18 -%define postver .4 +%define basever 5.7 +%define postver .0 Summary: Assortment of tools for the Linux kernel Summary(pl.UTF-8): Zestaw narzędzi dla jądra Linuksa Name: kernel-tools Version: %{basever}%{postver} -Release: 5 +Release: 1 License: GPL v2 Group: Applications/System -Source0: https://www.kernel.org/pub/linux/kernel/v4.x/linux-%{basever}.tar.xz -# Source0-md5: bee5fe53ee1c3142b8f0c12c0d3348f9 +Source0: https://www.kernel.org/pub/linux/kernel/v5.x/linux-%{basever}.tar.xz +# Source0-md5: f63ed18935914e1ee3e04c2a0ce1ba3b Source1: cpupower.service Source2: cpupower.config %if "%{postver}" != ".0" -Patch0: https://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz -# Patch0-md5: eff3af043f7cfc0cd0bb57d70b8da618 +Patch0: https://www.kernel.org/pub/linux/kernel/v5.x/patch-%{version}.xz +# Patch0-md5: 7055ff82e7e6a557c04831a191ed14b3 %endif Patch1: x32.patch +Patch2: regex.patch Patch3: %{name}-perf-update.patch -URL: http://www.kernel.org/ +Patch4: %{name}-perf-gtk2.patch +Patch5: %{name}-bpf-hashmap.patch +URL: https://www.kernel.org/ BuildRequires: bison +BuildRequires: docutils BuildRequires: flex BuildRequires: gettext-tools BuildRequires: linux-libc-headers >= 7:4.12 BuildRequires: ncurses-devel +BuildRequires: ncurses-ext-devel BuildRequires: pciutils-devel BuildRequires: pkgconfig +BuildRequires: python3 +BuildRequires: python3-modules BuildRequires: rpmbuild(macros) >= 1.673 BuildRequires: tar >= 1:1.22 BuildRequires: xz %if %{with perf} BuildRequires: asciidoc BuildRequires: audit-libs-devel +BuildRequires: babeltrace-devel BuildRequires: binutils-devel >= 4:2.29 BuildRequires: docbook-dtd45-xml BuildRequires: docbook-style-xsl -BuildRequires: elfutils-devel +BuildRequires: elfutils-devel >= 0.158 %if %{with multilib} BuildRequires: gcc-multilib-32 BuildRequires: gcc-multilib-x32 %endif +# for `btftool btf dump file ... format c` - requires vmlinux with BPF section +%{?with_runqslower:BuildRequires: kernel-vmlinux >= 5.?} %{?with_libunwind:BuildRequires: libunwind-devel >= 0.99} BuildRequires: numactl-devel +BuildRequires: openssl-devel BuildRequires: perl-devel >= 5.1 BuildRequires: python-devel BuildRequires: rpm-pythonprov BuildRequires: slang-devel BuildRequires: xmlto +BuildRequires: xz-devel +BuildRequires: zlib-devel +BuildRequires: zstd-devel +# openscd? (CORESIGHT=1 for %{arm}?) %if %{with gtk} BuildRequires: gtk+2-devel >= 2.0 %endif @@ -140,6 +154,22 @@ Development files for the cpupower library. %description cpupower-libs-devel -l pl.UTF-8 Pliki programistyczne biblioteki cpupower. +%package -n bash-completion-cpupower +Summary: Bash completion for cpupower tools +Summary(pl.UTF-8): Bashowe uzupełnianie parametrów dla poleceń cpupower +Group: Applications/Shells +Requires: %{name}-cpupower = %{version}-%{release} +Requires: bash-completion +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description -n bash-completion-cpupower +Bash completion for cpupower tools. + +%description -n bash-completion-cpupower -l pl.UTF-8 +Bashowe uzupełnianie parametrów dla poleceń cpupower. + %package hv Summary: Hyper-V virtualization tools Summary(pl.UTF-8): Narzędzia do wirtualizacji Hyper-V @@ -372,7 +402,10 @@ cd linux-%{basever} %endif %patch1 -p1 +%patch2 -p1 %patch3 -p1 +%patch4 -p1 +%patch5 -p1 %{__sed} -i -e '/^CFLAGS = /s/ -g / $(OPTFLAGS) /' tools/hv/Makefile %{__sed} -i -e '/^CFLAGS+=/s/ -O1 / $(OPTFLAGS) /' tools/thermal/tmon/Makefile @@ -381,7 +414,21 @@ cd linux-%{basever} # don't rebuild on make install %{__sed} -i -e '/^\$(LIBBPF): FORCE/ s/FORCE$//' tools/bpf/bpftool/Makefile +%if %{without runqslower} +%{__sed} -i -e '/^all: / s/ runqslower//' \ + -e '/^install: / s/ runqslower_install//' \ + tools/bpf/Makefile +%endif + %build +Wstringop="" +Waddressof="" +%if "%{cc_version}" >= "8" +Wstringop="-Wno-error=stringop-truncation" +%endif +%if "%{cc_version}" >= "9" +Waddressof="-Wno-error=address-of-packed-member" +%endif cd linux-%{basever} # Simple Disk Sleep Monitor @@ -392,7 +439,7 @@ cd linux-%{basever} # tools common (used eg. by tools/vm) %{__make} -C tools/lib/api \ %{makeopts} \ - EXTRA_CFLAGS="%{rpmcflags}" + EXTRA_CFLAGS="%{rpmcflags} $Wstringop" # lsgpio CFLAGS="%{rpmcflags}" \ @@ -425,11 +472,12 @@ CFLAGS="%{rpmcflags}" \ %{__make} -C tools/bpf \ CC="%{__cc}" \ EXTRA_CFLAGS="%{rpmcflags}" \ + %{?with_runqslower:VMLINUX_BTF=$(rpm -ql kernel-vmlinux | head -n 1)} \ %{?with_verbose:V=1} # perf %if %{with perf} -%{__make} -C tools/perf all man \ +%{__make} -j1 -C tools/perf all man \ %ifarch %{x8664} IS_X86_64=1 \ %{!?with_multilib:NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1} \ @@ -489,6 +537,7 @@ cd tools/usb/usbip %{__autoheader} %{__automake} %configure \ + CFLAGS="%{rpmcflags} $Wstringop $Waddressof" \ --disable-silent-rules \ --with-usbids-dir=/lib/hwdata %{__make} @@ -518,7 +567,7 @@ cd linux-%{basever} CPUFREQ_BENCH=false %find_lang cpupower -mv cpupower.lang .. +%{__mv} cpupower.lang .. install -d $RPM_BUILD_ROOT{/etc/sysconfig,%{systemdunitdir}} cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/cpupower.service @@ -533,7 +582,7 @@ install -p tools/power/cpupower/debug/x86_64/{centrino,powernow-k8}-decode $RPM_ %endif %if %{with perf} -%{__make} -C tools/perf -j1 install install-man \ +%{__make} -C tools/perf install install-man \ %ifarch %{x8664} IS_X86_64=1 \ %{!?with_multilib:NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1} \ @@ -547,6 +596,7 @@ install -p tools/power/cpupower/debug/x86_64/{centrino,powernow-k8}-decode $RPM_ prefix=%{_prefix} \ perfexecdir=%{_datadir}/perf-core \ template_dir=%{_datadir}/perf-core/templates \ + bash_compdir=%{bash_compdir} \ lib=%{_lib} \ DESTDIR=$RPM_BUILD_ROOT @@ -607,6 +657,9 @@ install -d $RPM_BUILD_ROOT%{_mandir}/man8 # gen_init_cpio install -p usr/gen_init_cpio $RPM_BUILD_ROOT%{_bindir}/gen_init_cpio +# packaged in man-pages (5.02) +%{__rm} $RPM_BUILD_ROOT%{_mandir}/man7/bpf-helpers.7* + %clean rm -rf $RPM_BUILD_ROOT @@ -672,6 +725,10 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/cpufreq.h %{_includedir}/cpuidle.h +%files -n bash-completion-cpupower +%defattr(644,root,root,755) +%{bash_compdir}/cpupower + %ifarch %{ix86} %{x8664} x32 %files hv %defattr(644,root,root,755) @@ -721,6 +778,10 @@ rm -rf $RPM_BUILD_ROOT %dir %{_libdir}/traceevent/plugins %attr(755,root,root) %{_libdir}/traceevent/plugins/plugin_*.so +%dir %{_prefix}/lib/perf +%{_prefix}/lib/perf/examples +%{_prefix}/lib/perf/include + %if %{with multilib} %files perf-vdso32 %defattr(644,root,root,755)