X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=kernel-tools.spec;h=4891c0c0d8a0ae48b75264ddf87568a93d3d0275;hb=da263bb05e0e739d3e2895e59fcb1b0a2c763228;hp=34f57e788b977ce937ef381b764148d3299426f5;hpb=51522bd6239796645a08ad0203ff5adf3fd249a4;p=packages%2Fkernel-tools.git diff --git a/kernel-tools.spec b/kernel-tools.spec index 34f57e7..4891c0c 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,17 +12,15 @@ %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.19 -%define postver .6 +%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 @@ -29,17 +28,21 @@ Version: %{basever}%{postver} Release: 1 License: GPL v2 Group: Applications/System -Source0: https://www.kernel.org/pub/linux/kernel/v4.x/linux-%{basever}.tar.xz -# Source0-md5: 740a90cf810c2105df8ee12e5d0bb900 +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: 62b3734bb12b9a74b6b484f877493c41 +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 +Patch6: %{name}-usbip-nocommon.patch +URL: https://www.kernel.org/ BuildRequires: bison BuildRequires: docutils BuildRequires: flex @@ -57,21 +60,29 @@ 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 @@ -144,6 +155,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 @@ -376,7 +403,11 @@ cd linux-%{basever} %endif %patch1 -p1 +%patch2 -p1 %patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 %{__sed} -i -e '/^CFLAGS = /s/ -g / $(OPTFLAGS) /' tools/hv/Makefile %{__sed} -i -e '/^CFLAGS+=/s/ -O1 / $(OPTFLAGS) /' tools/thermal/tmon/Makefile @@ -385,7 +416,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 @@ -396,7 +441,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}" \ @@ -429,11 +474,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} \ @@ -493,6 +539,7 @@ cd tools/usb/usbip %{__autoheader} %{__automake} %configure \ + CFLAGS="%{rpmcflags} $Wstringop $Waddressof" \ --disable-silent-rules \ --with-usbids-dir=/lib/hwdata %{__make} @@ -522,7 +569,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 @@ -537,7 +584,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} \ @@ -551,6 +598,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 @@ -611,6 +659,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 @@ -645,7 +696,6 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_sbindir}/dslm %attr(755,root,root) %{_sbindir}/freefall %attr(755,root,root) %{_sbindir}/page-types -%{_mandir}/man7/bpf-helpers.7* %{_mandir}/man8/bpftool*.8* %{_mandir}/man8/tmon.8* %ifarch %{ix86} %{x8664} x32 @@ -677,6 +727,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)