]> git.pld-linux.org Git - packages/kernel-tools.git/blobdiff - kernel-tools.spec
- updated to 6.0[.0]
[packages/kernel-tools.git] / kernel-tools.spec
index b5788e888f53c36b0d41b01707e40fc470e07baf..ff65f53edffe9bc1f738413221d2b23f5dd0df68 100644 (file)
@@ -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
 %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         .26
+%define                basever         6.0
+%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,20 @@ 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/v6.x/linux-%{basever}.tar.xz
+# Source0-md5: d681bd1d62d48049a4874646f6774d92
 Source1:       cpupower.service
 Source2:       cpupower.config
+Source3:       cpupower@.service
 %if "%{postver}" != ".0"
-Patch0:                https://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz
-# Patch0-md5:  c03985e05f145c7a94f90181b9d1e6cb
+Patch0:                https://www.kernel.org/pub/linux/kernel/v6.x/patch-%{version}.xz
+# Patch0-md5:  5a015eeaa9a3bf5bea84290f54ccf48d
 %endif
 Patch1:                x32.patch
+Patch2:                regex.patch
 Patch3:                %{name}-perf-update.patch
-URL:           http://www.kernel.org/
+Patch4:                %{name}-perf-gtk2.patch
+URL:           https://www.kernel.org/
 BuildRequires: bison
 BuildRequires: docutils
 BuildRequires: flex
@@ -51,27 +53,37 @@ BuildRequires:      pciutils-devel
 BuildRequires: pkgconfig
 BuildRequires: python3
 BuildRequires: python3-modules
+BuildRequires: readline-devel
 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.?}
+BuildRequires: libcap-devel
 %{?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
@@ -84,12 +96,24 @@ BuildRequires:      libtool >= 2:2
 BuildRequires: libwrap-devel
 BuildRequires: udev-devel
 %endif
+# /usr/bin/turbostat
+Conflicts:     pmtools < 20110323-2
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 # otherwise /usr/lib/rpm/bin/debugedit: canonicalization unexpectedly shrank by one character
 %define                _enable_debug_packages  0
 
-%define                makeopts        CC="%{__cc}" %{?with_verbose:V=1}
+%ifarch ppc ppc64
+%define                makearch        powerpc
+%else
+%ifarch aarch64
+%define                makearch        arm64
+%else
+%define                makearch        %{_target_base_arch}
+%endif
+%endif
+
+%define                makeopts        ARCH=%{makearch} CC="%{__cc}" %{?with_verbose:V=1}
 
 %description
 This package contains the software from tools/ subdirectory from Linux
@@ -144,6 +168,20 @@ 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
+BuildArch:     noarch
+
+%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
@@ -160,8 +198,8 @@ Summary:    perf profiler tool
 Summary(pl.UTF-8):     Narzędzie profilujące perf
 Group:         Applications/System
 Suggests:      binutils
-Obsoletes:     perf-core
-Obsoletes:     perf-slang
+Obsoletes:     kernel-tools-perf-core < 3.16.2
+Obsoletes:     kernel-tools-perf-slang < 3.16.2
 
 %description perf
 Perf is a profiler tool for Linux 2.6+ based systems that abstracts
@@ -260,9 +298,7 @@ Summary(pl.UTF-8):  Bashowe uzupełnianie parametrów dla polecenia perf
 Group:         Applications/Shells
 Requires:      %{name}-perf = %{version}-%{release}
 Requires:      bash-completion
-%if "%{_rpmversion}" >= "5"
 BuildArch:     noarch
-%endif
 
 %description -n bash-completion-perf
 Bash completion for perf command.
@@ -276,9 +312,7 @@ Summary(pl.UTF-8):  Bashowe uzupełnianie parametrów dla poleceń kernel-tools
 Group:         Applications/Shells
 Requires:      %{name} = %{version}-%{release}
 Requires:      bash-completion >= 2.0
-%if "%{_rpmversion}" >= "5"
 BuildArch:     noarch
-%endif
 
 %description -n bash-completion-kernel-tools
 Bash completion for kernel-tools commands (currently bpftool).
@@ -376,16 +410,32 @@ cd linux-%{basever}
 %endif
 
 %patch1 -p1
+%patch2 -p1
 %patch3 -p1
+%patch4 -p1
 
 %{__sed} -i -e '/^CFLAGS = /s/ -g / $(OPTFLAGS) /' tools/hv/Makefile
 %{__sed} -i -e '/^CFLAGS+=/s/ -O1 / $(OPTFLAGS) /' tools/thermal/tmon/Makefile
-%{__sed} -i -e 's#libexec/perf-core#share/perf-core#g' tools/perf/Makefile.config
+%{__sed} -i -e 's#libexec/perf-core#%{_lib}/perf-core#g' tools/perf/Makefile.config
 
 # 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 +446,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}" \
@@ -406,45 +456,44 @@ CFLAGS="%{rpmcflags}" \
 # HyperV is Windows based, x86 specific
 %ifarch %{ix86} %{x8664} x32
 %{__make} -C tools/hv \
-       CC="%{__cc}" \
+       %{makeopts} \
        OPTFLAGS="%{rpmcflags}"
 %endif
 
 CFLAGS="%{rpmcflags}" \
 %{__make} -C tools/iio -j1 \
-       CC="%{__cc}" \
-       %{?with_verbose:V=1}
+       %{makeopts}
 
 %{__make} -C tools/laptop/freefall \
-       CC="%{__cc}" \
+       %{makeopts} \
        CFLAGS="%{rpmcflags}"
 
 # make bpftool first, top-level bpf CFLAGS cause includes conflict
 CFLAGS="%{rpmcflags}" \
 %{__make} -C tools/bpf/bpftool \
-       CC="%{__cc}" \
-       %{?with_verbose:V=1}
+       %{makeopts}
 
 CFLAGS="%{rpmcflags}" \
 %{__make} -C tools/bpf \
-       CC="%{__cc}" \
+       %{makeopts} \
        EXTRA_CFLAGS="%{rpmcflags}" \
-       %{?with_verbose:V=1}
+       %{?with_runqslower:VMLINUX_BTF=$(rpm -ql kernel-vmlinux | head -n 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} \
 %endif
-       %{!?with_gtk:NO_GTK2=1} \
+       %{?with_gtk:GTK2=1} \
        %{!?with_libunwind:NO_LIBUNWIND=1} \
        %{makeopts} \
-       CFLAGS_OPTIMIZE="%{rpmcflags}" \
+       EXTRA_CFLAGS="%{rpmcflags}" \
+       VF=1 \
        WERROR=0 \
        prefix=%{_prefix} \
-       perfexecdir=%{_datadir}/perf-core \
+       perfexecdir=%{_libdir}/perf-core \
        lib=%{_lib} \
        template_dir=%{_datadir}/perf-core/templates
 %endif
@@ -459,13 +508,13 @@ CFLAGS="%{rpmcflags}" \
 
 %ifarch %{ix86} x32
 %{__make} -C tools/power/cpupower/debug/i386 centrino-decode powernow-k8-decode \
-       CC="%{__cc}" \
+       %{makeopts} \
        CFLAGS="%{rpmcflags}"
 %endif
 
 %ifarch %{x8664} x32
 %{__make} -C tools/power/cpupower/debug/x86_64 centrino-decode powernow-k8-decode \
-       CC="%{__cc}" \
+       %{makeopts} \
        CFLAGS="%{rpmcflags}"
 %endif
 %endif
@@ -473,15 +522,15 @@ CFLAGS="%{rpmcflags}" \
 %ifarch %{ix86} %{x8664} x32
 CFLAGS="%{rpmcflags}" \
 %{__make} -C tools/power/x86/x86_energy_perf_policy \
-       CC="%{__cc}"
+       %{makeopts}
 
 CFLAGS="%{rpmcflags}" \
 %{__make} -C tools/power/x86/turbostat \
-       CC="%{__cc}"
+       %{makeopts}
 %endif
 
 %{__make} -C tools/thermal/tmon \
-       CC="%{__cc}" \
+       %{makeopts} \
        OPTFLAGS="%{rpmcflags}"
 
 # usbip-utils
@@ -493,6 +542,7 @@ cd tools/usb/usbip
 %{__autoheader}
 %{__automake}
 %configure \
+       CFLAGS="%{rpmcflags} $Wstringop $Waddressof" \
        --disable-silent-rules \
        --with-usbids-dir=/lib/hwdata
 %{__make}
@@ -501,7 +551,7 @@ cd ../../..
 
 # page-types, slabinfo
 %{__make} -C tools/vm page-types slabinfo \
-       CC="%{__cc}" \
+       %{makeopts}
        CFLAGS="%{rpmcflags} -Wall -Wextra -I../lib"
 
 # gen_init_cpio
@@ -522,11 +572,12 @@ 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
 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/cpupower
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/cpupower@.service
 
 %ifarch %{ix86} x32
 install -p tools/power/cpupower/debug/i386/{centrino,powernow-k8}-decode $RPM_BUILD_ROOT%{_bindir}
@@ -537,27 +588,27 @@ 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 \
 %ifarch %{x8664}
        IS_X86_64=1 \
        %{!?with_multilib:NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1} \
 %endif
-       %{!?with_gtk:NO_GTK2=1} \
+       %{?with_gtk:GTK2=1} \
        %{!?with_libunwind:NO_LIBUNWIND=1} \
-       CC="%{__cc}" \
-       CFLAGS_OPTIMIZE="%{rpmcflags}" \
+       %{makeopts} \
+       EXTRA_CFLAGS="%{rpmcflags}" \
        WERROR=0 \
-       %{?with_verbose:V=1} \
        prefix=%{_prefix} \
-       perfexecdir=%{_datadir}/perf-core \
+       perfexecdir=%{_libdir}/perf-core \
        template_dir=%{_datadir}/perf-core/templates \
+       bash_compdir=%{bash_compdir} \
        lib=%{_lib} \
        DESTDIR=$RPM_BUILD_ROOT
 
-%py_comp $RPM_BUILD_ROOT%{_datadir}/perf-core/scripts/python
-%py_ocomp $RPM_BUILD_ROOT%{_datadir}/perf-core/scripts/python
+%py_comp $RPM_BUILD_ROOT%{_libdir}/perf-core/scripts/python
+%py_ocomp $RPM_BUILD_ROOT%{_libdir}/perf-core/scripts/python
 
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/perf-core/tests
+%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/perf-core/tests
 %endif
 
 %if %{with usbip}
@@ -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
@@ -664,6 +714,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/cpupower
 %{_mandir}/man1/cpupower*.1*
 %{systemdunitdir}/cpupower.service
+%{systemdunitdir}/cpupower@.service
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cpupower
 
 %files cpupower-libs
@@ -677,6 +728,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)
@@ -696,31 +751,35 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/perf*.1*
 %{_docdir}/perf-tip
 %dir %{_datadir}/perf-core
-%attr(755,root,root) %{_datadir}/perf-core/perf-archive
-%attr(755,root,root) %{_datadir}/perf-core/perf-with-kcore
 %{_datadir}/perf-core/strace
-
-%dir %{_datadir}/perf-core/scripts
-
-%dir %{_datadir}/perf-core/scripts/perl
-%dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util
-%dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib
-%dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf
-%dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace
-%{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/*.pm
-%dir %{_datadir}/perf-core/scripts/perl/bin
-%attr(755,root,root) %{_datadir}/perf-core/scripts/perl/bin/*
-%{_datadir}/perf-core/scripts/perl/*.pl
-
-%dir %{_datadir}/perf-core/scripts/python
-%dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util
-%dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib
-%dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf
-%dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace
-%{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/*.py*
-%dir %{_datadir}/perf-core/scripts/python/bin
-%attr(755,root,root) %{_datadir}/perf-core/scripts/python/bin/*
-%{_datadir}/perf-core/scripts/python/*.py*
+%dir %{_libdir}/perf-core
+%attr(755,root,root) %{_libdir}/perf-core/perf-archive
+%attr(755,root,root) %{_libdir}/perf-core/perf-iostat
+%dir %{_libdir}/perf-core/dlfilters
+%attr(755,root,root) %{_libdir}/perf-core/dlfilters/dlfilter-show-cycles.so
+%attr(755,root,root) %{_libdir}/perf-core/dlfilters/dlfilter-test-api-v0.so
+
+%dir %{_libdir}/perf-core/scripts
+
+%dir %{_libdir}/perf-core/scripts/perl
+%dir %{_libdir}/perf-core/scripts/perl/Perf-Trace-Util
+%dir %{_libdir}/perf-core/scripts/perl/Perf-Trace-Util/lib
+%dir %{_libdir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf
+%dir %{_libdir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace
+%{_libdir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/*.pm
+%dir %{_libdir}/perf-core/scripts/perl/bin
+%attr(755,root,root) %{_libdir}/perf-core/scripts/perl/bin/*
+%{_libdir}/perf-core/scripts/perl/*.pl
+
+%dir %{_libdir}/perf-core/scripts/python
+%dir %{_libdir}/perf-core/scripts/python/Perf-Trace-Util
+%dir %{_libdir}/perf-core/scripts/python/Perf-Trace-Util/lib
+%dir %{_libdir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf
+%dir %{_libdir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace
+%{_libdir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/*.py*
+%dir %{_libdir}/perf-core/scripts/python/bin
+%attr(755,root,root) %{_libdir}/perf-core/scripts/python/bin/*
+%{_libdir}/perf-core/scripts/python/*.py*
 
 %dir %{_libdir}/traceevent
 %dir %{_libdir}/traceevent/plugins
@@ -730,6 +789,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_prefix}/lib/perf/examples
 %{_prefix}/lib/perf/include
 
+%{_includedir}/perf
+
 %if %{with multilib}
 %files perf-vdso32
 %defattr(644,root,root,755)
This page took 0.105525 seconds and 4 git commands to generate.