]> git.pld-linux.org Git - packages/kernel-tools.git/blobdiff - kernel-tools.spec
- rebuild with perl 5.30.0
[packages/kernel-tools.git] / kernel-tools.spec
index cbd91ae67fe53a7cac240989fefd275bd28b4d4e..058c19ac063e6569e5698ce8116863524566d2bc 100644 (file)
 %bcond_without multilib        # multilib perf support
 %bcond_without usbip           # usbip utils
 
-%ifarch x32
-%undefine      with_libunwind
-%endif
 %ifnarch %{x8664}
 %undefine      with_multilib
 %endif
 
-%define                basever         4.7
-%define                postver         .0
+%define                basever         5.3
+%define                postver         .6
 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:       2
+Release:       3
 License:       GPL v2
 Group:         Applications/System
-Source0:       https://www.kernel.org/pub/linux/kernel/v4.x/linux-%{basever}.tar.xz
-# Source0-md5: 5276563eb1f39a048e4a8a887408c031
+Source0:       https://www.kernel.org/pub/linux/kernel/v5.x/linux-%{basever}.tar.xz
+# Source0-md5: c99feaade8047339528fb066ec5f8a49
 Source1:       cpupower.service
 Source2:       cpupower.config
 %if "%{postver}" != ".0"
-Patch0:                https://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz
-# Patch0-md5:  3a465c7cf55ec9dbf2d72d9292aa5fde
+Patch0:                https://www.kernel.org/pub/linux/kernel/v5.x/patch-%{version}.xz
+# Patch0-md5:  2c2db421d422d0d7306fe230c65c862c
 %endif
 Patch1:                x32.patch
-Patch2:                %{name}-format.patch
-URL:           http://www.kernel.org/
+Patch2:                regex.patch
+Patch3:                %{name}-perf-update.patch
+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: rpmbuild(macros) >= 1.647
+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: binutils-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
 %{?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
@@ -139,6 +149,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
@@ -253,7 +279,7 @@ Ten pakiet zawiera graficzny interfejs oparty na GTK+ 2.
 Summary:       Bash completion for perf command
 Summary(pl.UTF-8):     Bashowe uzupełnianie parametrów dla polecenia perf
 Group:         Applications/Shells
-Requires:      %{name}-perf
+Requires:      %{name}-perf = %{version}-%{release}
 Requires:      bash-completion
 %if "%{_rpmversion}" >= "5"
 BuildArch:     noarch
@@ -265,6 +291,23 @@ Bash completion for perf command.
 %description -n bash-completion-perf -l pl.UTF-8
 Bashowe uzupełnianie parametrów dla polecenia perf.
 
+%package -n bash-completion-kernel-tools
+Summary:       Bash completion for kernel-tools commands
+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).
+
+%description -n bash-completion-kernel-tools -l pl.UTF-8
+Bashowe uzupełnianie parametrów dla poleceń kernel-tools (obecnie
+bpftool).
+
 %package -n usbip
 Summary:       USB device sharing system over IP network
 Summary(pl.UTF-8):     System współdzielenia urządzeń USB po sieci IP
@@ -355,26 +398,41 @@ cd linux-%{basever}
 
 %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#%{_datadir}/perf-core#g' tools/perf/config/Makefile
+%{__sed} -i -e 's#libexec/perf-core#share/perf-core#g' tools/perf/Makefile.config
+
+# don't rebuild on make install
+%{__sed} -i -e '/^\$(LIBBPF): FORCE/ s/FORCE$//' tools/bpf/bpftool/Makefile
 
 %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
-%{__cc} %{rpmcppflags} %{rpmcflags} %{rpmldflags} Documentation/laptops/dslm.c -o dslm
+%{__make} -C tools/laptop/dslm \
+       %{makeopts} \
+       EXTRA_CFLAGS="%{rpmcflags}"
 
 # tools common (used eg. by tools/vm)
 %{__make} -C tools/lib/api \
-       CC="%{__cc}" \
-       EXTRA_CFLAGS="%{rpmcflags}"
+       %{makeopts} \
+       EXTRA_CFLAGS="%{rpmcflags} $Wstringop"
 
 # lsgpio
 CFLAGS="%{rpmcflags}" \
-%{__make} -C tools/gpio \
-       CC="%{__cc}"
+%{__make} -C tools/gpio -j1 \
+       %{makeopts}
 
 # HyperV is Windows based, x86 specific
 %ifarch %{ix86} %{x8664} x32
@@ -384,27 +442,29 @@ CFLAGS="%{rpmcflags}" \
 %endif
 
 CFLAGS="%{rpmcflags}" \
-%{__make} -C tools/iio \
-       CC="%{__cc}"
+%{__make} -C tools/iio -j1 \
+       CC="%{__cc}" \
+       %{?with_verbose:V=1}
 
 %{__make} -C tools/laptop/freefall \
        CC="%{__cc}" \
        CFLAGS="%{rpmcflags}"
 
-%ifarch %{ix86}
-# drivers/lguest is x86_32 only
-%{__make} -C tools/lguest \
+# make bpftool first, top-level bpf CFLAGS cause includes conflict
+CFLAGS="%{rpmcflags}" \
+%{__make} -C tools/bpf/bpftool \
        CC="%{__cc}" \
-       CFLAGS="%{rpmcflags} -Wall -U_FORTIFY_SOURCE -Iinclude"
-%endif
+       %{?with_verbose:V=1}
 
 CFLAGS="%{rpmcflags}" \
-%{__make} -C tools/net \
-       CC="%{__cc}"
+%{__make} -C tools/bpf \
+       CC="%{__cc}" \
+       EXTRA_CFLAGS="%{rpmcflags}" \
+       %{?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} \
@@ -442,9 +502,10 @@ CFLAGS="%{rpmcflags}" \
 %endif
 
 %ifarch %{ix86} %{x8664} x32
+CFLAGS="%{rpmcflags}" \
 %{__make} -C tools/power/x86/x86_energy_perf_policy \
-       CC="%{__cc}" \
-       CFLAGS="%{rpmcflags}"
+       CC="%{__cc}"
+
 CFLAGS="%{rpmcflags}" \
 %{__make} -C tools/power/x86/turbostat \
        CC="%{__cc}"
@@ -463,6 +524,7 @@ cd tools/usb/usbip
 %{__autoheader}
 %{__automake}
 %configure \
+       CFLAGS="%{rpmcflags} $Wstringop $Waddressof" \
        --disable-silent-rules \
        --with-usbids-dir=/lib/hwdata
 %{__make}
@@ -492,7 +554,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
@@ -507,7 +569,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} \
@@ -521,6 +583,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
 
@@ -539,7 +602,7 @@ install -p tools/power/cpupower/debug/x86_64/{centrino,powernow-k8}-decode $RPM_
 
 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_mandir}/man8}
 
-install -p dslm $RPM_BUILD_ROOT%{_sbindir}
+install -p tools/laptop/dslm/dslm $RPM_BUILD_ROOT%{_sbindir}
 
 install -p tools/gpio/lsgpio $RPM_BUILD_ROOT%{_bindir}
 
@@ -550,14 +613,18 @@ install -p tools/hv/hv_{fcopy,kvp,vss}_daemon $RPM_BUILD_ROOT%{_sbindir}
 chmod 755 $RPM_BUILD_ROOT%{_bindir}/lsvmbus
 %endif
 
-install -p tools/iio/{iio_event_monitor,lsiio} $RPM_BUILD_ROOT%{_bindir}
-install -p tools/iio/generic_buffer $RPM_BUILD_ROOT%{_bindir}/iio_generic_buffer
+install -p tools/iio/{iio_event_monitor,iio_generic_buffer,lsiio} $RPM_BUILD_ROOT%{_bindir}
 
 install -p tools/laptop/freefall/freefall $RPM_BUILD_ROOT%{_sbindir}
 
-install -p tools/lguest/lguest $RPM_BUILD_ROOT%{_bindir}
-
-install -p tools/net/{bpf_asm,bpf_dbg,bpf_jit_disasm} $RPM_BUILD_ROOT%{_bindir}
+%{__make} -C tools/bpf install \
+       prefix=$RPM_BUILD_ROOT%{_prefix} \
+       bash_compdir=$RPM_BUILD_ROOT%{bash_compdir} \
+       %{?with_verbose:V=1}
+%{__make} -C tools/bpf/bpftool doc-install \
+       prefix=$RPM_BUILD_ROOT%{_prefix} \
+       mandir=$RPM_BUILD_ROOT%{_mandir} \
+       %{?with_verbose:V=1}
 
 install -p tools/thermal/tmon/tmon $RPM_BUILD_ROOT%{_bindir}
 cp -p tools/thermal/tmon/tmon.8 $RPM_BUILD_ROOT%{_mandir}/man8
@@ -577,6 +644,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
 
@@ -597,21 +667,21 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc linux-%{basever}/tools/lguest/lguest.txt
 %attr(755,root,root) %{_bindir}/bpf_asm
 %attr(755,root,root) %{_bindir}/bpf_dbg
 %attr(755,root,root) %{_bindir}/bpf_jit_disasm
 %attr(755,root,root) %{_bindir}/gen_init_cpio
 %attr(755,root,root) %{_bindir}/iio_event_monitor
 %attr(755,root,root) %{_bindir}/iio_generic_buffer
-%attr(755,root,root) %{_bindir}/lguest
 %attr(755,root,root) %{_bindir}/lsgpio
 %attr(755,root,root) %{_bindir}/lsiio
 %attr(755,root,root) %{_bindir}/slabinfo
 %attr(755,root,root) %{_bindir}/tmon
+%attr(755,root,root) %{_sbindir}/bpftool
 %attr(755,root,root) %{_sbindir}/dslm
 %attr(755,root,root) %{_sbindir}/freefall
 %attr(755,root,root) %{_sbindir}/page-types
+%{_mandir}/man8/bpftool*.8*
 %{_mandir}/man8/tmon.8*
 %ifarch %{ix86} %{x8664} x32
 %attr(755,root,root) %{_bindir}/centrino-decode
@@ -642,6 +712,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)
@@ -659,9 +733,11 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/perf
 %attr(755,root,root) %{_bindir}/trace
 %{_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
 
@@ -689,6 +765,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)
@@ -710,6 +790,10 @@ rm -rf $RPM_BUILD_ROOT
 /etc/bash_completion.d/perf
 %endif
 
+%files -n bash-completion-kernel-tools
+%defattr(644,root,root,755)
+%{bash_compdir}/bpftool
+
 %if %{with usbip}
 %files -n usbip
 %defattr(644,root,root,755)
This page took 0.049313 seconds and 4 git commands to generate.