]> 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 65cd0cff9c63541fe685df187097f6316247e34e..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.18
-%define                postver         .4
+%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
 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/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:  eff3af043f7cfc0cd0bb57d70b8da618
+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
 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: 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
@@ -81,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
@@ -141,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
@@ -157,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
@@ -257,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.
@@ -273,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).
@@ -373,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
@@ -393,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}" \
@@ -403,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
@@ -456,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
@@ -470,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
@@ -490,6 +542,7 @@ cd tools/usb/usbip
 %{__autoheader}
 %{__automake}
 %configure \
+       CFLAGS="%{rpmcflags} $Wstringop $Waddressof" \
        --disable-silent-rules \
        --with-usbids-dir=/lib/hwdata
 %{__make}
@@ -498,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
@@ -519,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}
@@ -534,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}
@@ -660,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
@@ -673,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)
@@ -692,36 +751,46 @@ 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
 %attr(755,root,root) %{_libdir}/traceevent/plugins/plugin_*.so
 
+%dir %{_prefix}/lib/perf
+%{_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.055993 seconds and 4 git commands to generate.