]> git.pld-linux.org Git - packages/kernel-tools.git/blame - kernel-tools.spec
- added bpf-upstream patch with upstream bpf/hashmap.h changes and rewritten hashmap...
[packages/kernel-tools.git] / kernel-tools.spec
CommitLineData
bb6b0f50
ER
1# TODO:
2# - redefine: PACKAGE_BUGREPORT=cpufreq@vger.kernel.org
b1f08c11 3# - add -n python-perf?
b1f08c11 4# - add bcond to disable building docs (perf docs)
a5af5310 5# - install of perf links perf binary again
c8c3bb5d
JB
6# - build runqslower (needs vmlinux with BPF section)
7#
49fba13a
ER
8# Conditional build:
9%bcond_without verbose # verbose build (V=1)
0a891de9 10%bcond_without cpupower # cpupower tools
db5f9ac9 11%bcond_without perf # perf tools
ae4c1fd4 12%bcond_without gtk # GTK+ 2.x perf support
5a8bbd03 13%bcond_without libunwind # libunwind perf support
a5af5310 14%bcond_without multilib # multilib perf support
c8c3bb5d 15%bcond_with runqslower # runqslower bpf tool
0a891de9 16%bcond_without usbip # usbip utils
5a8bbd03 17
a5af5310
JB
18%ifnarch %{x8664}
19%undefine with_multilib
20%endif
49fba13a 21
a02a39f3
JB
22%define basever 5.7
23%define postver .0
49fba13a 24Summary: Assortment of tools for the Linux kernel
bd620db3 25Summary(pl.UTF-8): Zestaw narzędzi dla jądra Linuksa
49fba13a
ER
26Name: kernel-tools
27Version: %{basever}%{postver}
49505f6f 28Release: 2
49fba13a 29License: GPL v2
fea1e605 30Group: Applications/System
57e0ffb5 31Source0: https://www.kernel.org/pub/linux/kernel/v5.x/linux-%{basever}.tar.xz
a02a39f3 32# Source0-md5: f63ed18935914e1ee3e04c2a0ce1ba3b
bedc6c43
JR
33Source1: cpupower.service
34Source2: cpupower.config
49fba13a 35%if "%{postver}" != ".0"
57e0ffb5 36Patch0: https://www.kernel.org/pub/linux/kernel/v5.x/patch-%{version}.xz
c8c3bb5d 37# Patch0-md5: 7055ff82e7e6a557c04831a191ed14b3
49fba13a 38%endif
bedc6c43 39Patch1: x32.patch
388d18e6 40Patch2: regex.patch
32b75768 41Patch3: %{name}-perf-update.patch
ba3b9a67 42Patch4: %{name}-perf-gtk2.patch
49505f6f
JB
43Patch5: %{name}-bpf-hashmap-upstream.patch
44Patch6: %{name}-bpf-hashmap.patch
45Patch7: %{name}-usbip-nocommon.patch
ba3b9a67 46URL: https://www.kernel.org/
0a891de9 47BuildRequires: bison
89b3b11f 48BuildRequires: docutils
0a891de9 49BuildRequires: flex
4a7175d2 50BuildRequires: gettext-tools
4490164f 51BuildRequires: linux-libc-headers >= 7:4.12
0a891de9 52BuildRequires: ncurses-devel
97b9d37b 53BuildRequires: ncurses-ext-devel
9596c3d3 54BuildRequires: pciutils-devel
0a891de9 55BuildRequires: pkgconfig
605beaf9
AM
56BuildRequires: python3
57BuildRequires: python3-modules
c5a822e3 58BuildRequires: rpmbuild(macros) >= 1.673
49fba13a
ER
59BuildRequires: tar >= 1:1.22
60BuildRequires: xz
fea1e605
ER
61%if %{with perf}
62BuildRequires: asciidoc
52583efa 63BuildRequires: audit-libs-devel
ba3b9a67 64BuildRequires: babeltrace-devel
ea7d139b 65BuildRequires: binutils-devel >= 4:2.29
a8b28c3a 66BuildRequires: docbook-dtd45-xml
52583efa 67BuildRequires: docbook-style-xsl
ba3b9a67 68BuildRequires: elfutils-devel >= 0.158
a5af5310
JB
69%if %{with multilib}
70BuildRequires: gcc-multilib-32
71BuildRequires: gcc-multilib-x32
72%endif
c8c3bb5d
JB
73# for `btftool btf dump file ... format c` - requires vmlinux with BPF section
74%{?with_runqslower:BuildRequires: kernel-vmlinux >= 5.?}
5a8bbd03 75%{?with_libunwind:BuildRequires: libunwind-devel >= 0.99}
60ccbbd3 76BuildRequires: numactl-devel
ba3b9a67 77BuildRequires: openssl-devel
52583efa 78BuildRequires: perl-devel >= 5.1
52583efa 79BuildRequires: python-devel
fea1e605 80BuildRequires: rpm-pythonprov
a1c57a8e 81BuildRequires: slang-devel
fea1e605 82BuildRequires: xmlto
ba3b9a67
JB
83BuildRequires: xz-devel
84BuildRequires: zlib-devel
85BuildRequires: zstd-devel
86# openscd? (CORESIGHT=1 for %{arm}?)
a8b28c3a
ER
87%if %{with gtk}
88BuildRequires: gtk+2-devel >= 2.0
a8b28c3a 89%endif
fea1e605 90%endif
0a891de9
JB
91%if %{with usbip}
92BuildRequires: autoconf >= 2.59
93BuildRequires: automake >= 1:1.9
94BuildRequires: gcc >= 6:4.0
95BuildRequires: libtool >= 2:2
96BuildRequires: libwrap-devel
97BuildRequires: udev-devel
98%endif
49fba13a
ER
99BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
100
eb373af4
AM
101# otherwise /usr/lib/rpm/bin/debugedit: canonicalization unexpectedly shrank by one character
102%define _enable_debug_packages 0
103
60972f76
ER
104%define makeopts CC="%{__cc}" %{?with_verbose:V=1}
105
49fba13a 106%description
bd620db3
JB
107This package contains the software from tools/ subdirectory from Linux
108kernel source and the supporting documentation.
109
110%description -l pl.UTF-8
111Ten pakiet zawiera oprogramowanie z podkatalogu tools/ ze źródeł jądra
112Linuksa oraz związaną z nim dokumentację.
49fba13a 113
4bc5704a
JK
114%package cpupower
115Summary: cpupower - Shows and sets processor power related values
bd620db3 116Summary(pl.UTF-8): cpupower - wyświetlanie i ustawianie wartości związanych z zużyciem energii przez procesor
4bc5704a 117Group: Applications/System
f57fcd71 118Requires(post,preun,postun): systemd-units >= 38
91fd1f55 119Requires: %{name}-cpupower-libs = %{version}-%{release}
f57fcd71 120Requires: systemd-units >= 0.38
2bd21e06 121Provides: cpupowerutils = 1:009-0.6.p1
2bd21e06
ER
122Obsoletes: cpupowerutils < 1:009-0.6.p1
123Obsoletes: cpuspeed < 1:1.5-16
4bc5704a
JK
124
125%description cpupower
60972f76
ER
126cpupower is a collection of tools to examine and tune power saving
127related features of your processor.
4bc5704a 128
bd620db3
JB
129%description cpupower -l pl.UTF-8
130cpupower to zbiór narzędzi do sprawdzania i ustawiania opcji procesora
131związanych z oszczędzaniem energii.
132
4bc5704a 133%package cpupower-libs
bd620db3
JB
134Summary: cpupower library
135Summary(pl.UTF-8): Biblioteka cpupower
49fba13a
ER
136Group: Libraries
137
4bc5704a 138%description cpupower-libs
bd620db3
JB
139cpupower library.
140
141%description cpupower-libs -l pl.UTF-8
142Biblioteka cpupower.
49fba13a 143
4bc5704a 144%package cpupower-libs-devel
bd620db3
JB
145Summary: Development files for the cpupower library
146Summary(pl.UTF-8): Pliki programistyczne biblioteki cpupower
49fba13a 147Group: Development/Libraries
178c4b31 148Requires: %{name}-cpupower-libs = %{version}-%{release}
49fba13a 149Provides: cpupowerutils-devel = 1:009-0.6.p1
49fba13a 150Obsoletes: cpupowerutils-devel < 1:009-0.6.p1
08be99c5 151Conflicts: cpufrequtils-devel
49fba13a 152
4bc5704a 153%description cpupower-libs-devel
bd620db3
JB
154Development files for the cpupower library.
155
156%description cpupower-libs-devel -l pl.UTF-8
157Pliki programistyczne biblioteki cpupower.
49fba13a 158
388d18e6
JR
159%package -n bash-completion-cpupower
160Summary: Bash completion for cpupower tools
161Summary(pl.UTF-8): Bashowe uzupełnianie parametrów dla poleceń cpupower
162Group: Applications/Shells
163Requires: %{name}-cpupower = %{version}-%{release}
164Requires: bash-completion
165%if "%{_rpmversion}" >= "5"
166BuildArch: noarch
167%endif
168
169%description -n bash-completion-cpupower
170Bash completion for cpupower tools.
171
172%description -n bash-completion-cpupower -l pl.UTF-8
173Bashowe uzupełnianie parametrów dla poleceń cpupower.
174
0a891de9
JB
175%package hv
176Summary: Hyper-V virtualization tools
177Summary(pl.UTF-8): Narzędzia do wirtualizacji Hyper-V
178Group: Applications/System
179
180%description hv
181Hyper-V virtualization tools.
182
183%description hv -l pl.UTF-8
184Narzędzia do wirtualizacji Hyper-V.
185
ae4c1fd4
JB
186%package perf
187Summary: perf profiler tool
188Summary(pl.UTF-8): Narzędzie profilujące perf
fea1e605 189Group: Applications/System
9efc8fed 190Suggests: binutils
ae4c1fd4
JB
191Obsoletes: perf-core
192Obsoletes: perf-slang
fea1e605 193
ae4c1fd4 194%description perf
fea1e605
ER
195Perf is a profiler tool for Linux 2.6+ based systems that abstracts
196away CPU hardware differences in Linux performance measurements and
197presents a simple commandline interface. Perf is based on the
198perf_events interface exported by recent versions of the Linux kernel.
199
ae4c1fd4 200This package contains core files, scripts and text interface (TUI).
db5f9ac9 201
ae4c1fd4 202%description perf -l pl.UTF-8
db5f9ac9
JB
203Perf to narzędzie profilujące dla systemów opartych na Linuksie 2.6+,
204odseparowujące od różnic sprzętowych między pomiarami wydajności w
205zależności od procesora oraz udostępniające prosty interfejs linii
206poleceń. Perf jest oparty na interfejsie perf_events eksportowanym
207przez nowe wersje jądra Linuksa.
208
ae4c1fd4
JB
209Ten pakiet zawiera podstawowe pliki, skrypty oraz interfejs tekstowy
210(TUI).
db5f9ac9 211
0a3bb9dd 212%package perf-vdso32
dda20c35
JB
213Summary: perf profiler tool - VDSO 32-bit ABI reader
214Summary(pl.UTF-8): Narzędzie profilujące perf - odczyt VDSO dla ABI 32-bitowego
0a3bb9dd
JR
215Group: Applications/System
216Requires: %{name}-perf = %{version}-%{release}
217
218%description perf-vdso32
219Perf is a profiler tool for Linux 2.6+ based systems that abstracts
220away CPU hardware differences in Linux performance measurements and
221presents a simple commandline interface. Perf is based on the
222perf_events interface exported by recent versions of the Linux kernel.
223
224This package contains perf-read-vdso32 tool for reading the 32-bit
225compatibility VDSO in 64-bit mode.
226
dda20c35
JB
227%description perf-vdso32 -l pl.UTF-8
228Perf to narzędzie profilujące dla systemów opartych na Linuksie 2.6+,
229odseparowujące od różnic sprzętowych między pomiarami wydajności w
230zależności od procesora oraz udostępniające prosty interfejs linii
231poleceń. Perf jest oparty na interfejsie perf_events eksportowanym
232przez nowe wersje jądra Linuksa.
233
234Ten pakiet zawiera narzędzie perf-read-vdso32 do odczytu VDSO dla
235binariów 32-bitowych w trybie 64-bitowym.
236
0a3bb9dd 237%package perf-vdsox32
dda20c35
JB
238Summary: perf profiler tool - VDSO x32 ABI reader
239Summary(pl.UTF-8): Narzędzie profilujące perf - odczyt VDSO dla ABI x32
0a3bb9dd
JR
240Group: Applications/System
241Requires: %{name}-perf = %{version}-%{release}
242
243%description perf-vdsox32
244Perf is a profiler tool for Linux 2.6+ based systems that abstracts
245away CPU hardware differences in Linux performance measurements and
246presents a simple commandline interface. Perf is based on the
247perf_events interface exported by recent versions of the Linux kernel.
248
249This package contains perf-read-vdso32 tool for reading the x32 mode
25032-bit compatibility VDSO in 64-bit mode.
251
dda20c35
JB
252%description perf-vdsox32 -l pl.UTF-8
253Perf to narzędzie profilujące dla systemów opartych na Linuksie 2.6+,
254odseparowujące od różnic sprzętowych między pomiarami wydajności w
255zależności od procesora oraz udostępniające prosty interfejs linii
256poleceń. Perf jest oparty na interfejsie perf_events eksportowanym
257przez nowe wersje jądra Linuksa.
258
259Ten pakiet zawiera narzędzie perf-read-vdso32 do odczytu VDSO dla
260binariów ABI x32 w trybie 64-bitowym.
261
db5f9ac9 262%package perf-gtk
ae4c1fd4
JB
263Summary: perf profiler tool (GTK+ 2 GUI)
264Summary(pl.UTF-8): Narzędzie profilujące perf (interfejs graficzny GTK+ 2)
db5f9ac9 265Group: X11/Applications
dad8cd2d 266Requires: %{name}-perf = %{version}-%{release}
db5f9ac9
JB
267
268%description perf-gtk
269Perf is a profiler tool for Linux 2.6+ based systems that abstracts
270away CPU hardware differences in Linux performance measurements and
271presents a simple commandline interface. Perf is based on the
272perf_events interface exported by recent versions of the Linux kernel.
273
ae4c1fd4 274This package contains GTK+ 2 based GUI.
db5f9ac9
JB
275
276%description perf-gtk -l pl.UTF-8
277Perf to narzędzie profilujące dla systemów opartych na Linuksie 2.6+,
278odseparowujące od różnic sprzętowych między pomiarami wydajności w
279zależności od procesora oraz udostępniające prosty interfejs linii
280poleceń. Perf jest oparty na interfejsie perf_events eksportowanym
281przez nowe wersje jądra Linuksa.
282
ae4c1fd4 283Ten pakiet zawiera graficzny interfejs oparty na GTK+ 2.
db5f9ac9 284
db5f9ac9
JB
285%package -n bash-completion-perf
286Summary: Bash completion for perf command
287Summary(pl.UTF-8): Bashowe uzupełnianie parametrów dla polecenia perf
288Group: Applications/Shells
c5a822e3 289Requires: %{name}-perf = %{version}-%{release}
db5f9ac9 290Requires: bash-completion
741b96de
ER
291%if "%{_rpmversion}" >= "5"
292BuildArch: noarch
293%endif
db5f9ac9
JB
294
295%description -n bash-completion-perf
296Bash completion for perf command.
297
298%description -n bash-completion-perf -l pl.UTF-8
299Bashowe uzupełnianie parametrów dla polecenia perf.
300
c5a822e3
JB
301%package -n bash-completion-kernel-tools
302Summary: Bash completion for kernel-tools commands
303Summary(pl.UTF-8): Bashowe uzupełnianie parametrów dla poleceń kernel-tools
304Group: Applications/Shells
305Requires: %{name} = %{version}-%{release}
306Requires: bash-completion >= 2.0
307%if "%{_rpmversion}" >= "5"
308BuildArch: noarch
309%endif
310
311%description -n bash-completion-kernel-tools
312Bash completion for kernel-tools commands (currently bpftool).
313
314%description -n bash-completion-kernel-tools -l pl.UTF-8
315Bashowe uzupełnianie parametrów dla poleceń kernel-tools (obecnie
316bpftool).
317
0a891de9
JB
318%package -n usbip
319Summary: USB device sharing system over IP network
320Summary(pl.UTF-8): System współdzielenia urządzeń USB po sieci IP
321Group: Networking/Utilities
322Requires: usbip-libs = %{version}-%{release}
323# /lib/hwdata/usb.ids (note: only uncompressed file supported)
324Requires: hwdata >= 0.243-2
325
326%description -n usbip
327The USB/IP Project aims to develop a general USB device sharing system
328over IP network. To share USB devices between computers with their
329full functionality, USB/IP encapsulates "USB requests" into IP packets
330and transmits them between computers. Original USB device drivers and
331applications can be also used for remote USB devices without any
332modification of them. A computer can use remote USB devices as if they
333were directly attached; for example, we can:
334 - USB storage devices: fdisk, mkfs, mount/umount, file operations,
335 play a DVD movie and record a DVD-R media.
336 - USB keyboards and USB mice: use with Linux console and X Window
337 System.
338 - USB webcams and USB speakers: view webcam, capture image data and
339 play some music.
340 - USB printers, USB scanners, USB serial converters and USB Ethernet
341 interfaces: ok, use fine.
342
343%description -n usbip -l pl.UTF-8
344Projekt USB/IP ma na celu stworzenie ogólnego systemu współdzielenia
345urządzeń USB po sieci IP. W celu współdzielenia urządzeń USB między
346komputerami z zachowaniem pełnej funkcjonalności, USB/IP obudowuje
347żądania SUB w pakiety IP i przesyła je między komputerami. Oryginalne
348sterowniki urządzeń USB oraz aplikacje mogą być używane bez żadnych
349modyfikacji. Komputer może wykorzystywać zdaln urządzenia USB tak,
350jakby były podłączone bezpośrednio. Przykładowe możliwości:
351 - urządzenia USB do przechowywania danych: można używać programów
352 fdisk, mkfs, mount/umount, operacji na plikach, odtwarzać filmy
353 DVD oraz nagrywać nośniki DVD-R
354 - klawiatury i myszy USB: można ich używać na linuksowej konsoli oraz
355 w systemie X Window
356 - kamery i głośniki USB: można oglądać obraz z kamery, robić zdjęcia
357 i odtwarzać muzykę
358 - drukarki, skanery, konwertery portów szeregowych oraz interfejsy
359 sieciowe USB: można ich normalnie używać
360
361%package -n usbip-libs
362Summary: USB/IP library
363Summary(pl.UTF-8): Biblioteka USB/IP
364Group: Libraries
365
366%description -n usbip-libs
367USB over IP library.
368
369%description -n usbip-libs -l pl.UTF-8
370Biblioteka USB po IP.
371
372%package -n usbip-devel
373Summary: Header files for usbip library
374Summary(pl.UTF-8): Pliki nagłówkowe biblioteki usbip
375Group: Development/Libraries
376Requires: usbip-libs = %{version}-%{release}
377
378%description -n usbip-devel
379This package contains the header files needed to develop programs
380which make use of USB/IP.
381
382%description -n usbip-devel -l pl.UTF-8
383Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
384wykorzystujących USB/IP.
385
386%package -n usbip-static
387Summary: Static usbip library
388Summary(pl.UTF-8): Statyczna biblioteka usbip
389Group: Development/Libraries
390Requires: usbip-devel = %{version}-%{release}
391
392%description -n usbip-static
393Static usbip library.
394
395%description -n usbip-static -l pl.UTF-8
396Statyczna biblioteka usbip.
397
49fba13a
ER
398%prep
399%setup -qc
400cd linux-%{basever}
401
402%if "%{postver}" != ".0"
403%patch0 -p1
404%endif
405
bedc6c43 406%patch1 -p1
388d18e6 407%patch2 -p1
32b75768 408%patch3 -p1
ba3b9a67 409%patch4 -p1
a02a39f3 410%patch5 -p1
da263bb0 411%patch6 -p1
49505f6f 412%patch7 -p1
bedc6c43 413
0a891de9
JB
414%{__sed} -i -e '/^CFLAGS = /s/ -g / $(OPTFLAGS) /' tools/hv/Makefile
415%{__sed} -i -e '/^CFLAGS+=/s/ -O1 / $(OPTFLAGS) /' tools/thermal/tmon/Makefile
c5a822e3 416%{__sed} -i -e 's#libexec/perf-core#share/perf-core#g' tools/perf/Makefile.config
eb373af4 417
e76f6fde
JB
418# don't rebuild on make install
419%{__sed} -i -e '/^\$(LIBBPF): FORCE/ s/FORCE$//' tools/bpf/bpftool/Makefile
420
c8c3bb5d
JB
421%if %{without runqslower}
422%{__sed} -i -e '/^all: / s/ runqslower//' \
423 -e '/^install: / s/ runqslower_install//' \
424 tools/bpf/Makefile
425%endif
426
49fba13a 427%build
ba3b9a67
JB
428Wstringop=""
429Waddressof=""
430%if "%{cc_version}" >= "8"
431Wstringop="-Wno-error=stringop-truncation"
432%endif
433%if "%{cc_version}" >= "9"
434Waddressof="-Wno-error=address-of-packed-member"
435%endif
49fba13a
ER
436cd linux-%{basever}
437
b1f08c11 438# Simple Disk Sleep Monitor
2c8f0d44
JR
439%{__make} -C tools/laptop/dslm \
440 %{makeopts} \
441 EXTRA_CFLAGS="%{rpmcflags}"
b1f08c11 442
0a891de9
JB
443# tools common (used eg. by tools/vm)
444%{__make} -C tools/lib/api \
51feff82 445 %{makeopts} \
ba3b9a67 446 EXTRA_CFLAGS="%{rpmcflags} $Wstringop"
0a891de9
JB
447
448# lsgpio
449CFLAGS="%{rpmcflags}" \
51feff82
JB
450%{__make} -C tools/gpio -j1 \
451 %{makeopts}
0a891de9
JB
452
453# HyperV is Windows based, x86 specific
454%ifarch %{ix86} %{x8664} x32
455%{__make} -C tools/hv \
456 CC="%{__cc}" \
457 OPTFLAGS="%{rpmcflags}"
458%endif
459
460CFLAGS="%{rpmcflags}" \
d4e17d6f 461%{__make} -C tools/iio -j1 \
e76f6fde
JB
462 CC="%{__cc}" \
463 %{?with_verbose:V=1}
0a891de9
JB
464
465%{__make} -C tools/laptop/freefall \
466 CC="%{__cc}" \
467 CFLAGS="%{rpmcflags}"
468
ffa90917
JB
469# make bpftool first, top-level bpf CFLAGS cause includes conflict
470CFLAGS="%{rpmcflags}" \
471%{__make} -C tools/bpf/bpftool \
472 CC="%{__cc}" \
473 %{?with_verbose:V=1}
474
0a891de9 475CFLAGS="%{rpmcflags}" \
c5a822e3 476%{__make} -C tools/bpf \
e76f6fde
JB
477 CC="%{__cc}" \
478 EXTRA_CFLAGS="%{rpmcflags}" \
c8c3bb5d 479 %{?with_runqslower:VMLINUX_BTF=$(rpm -ql kernel-vmlinux | head -n 1)} \
e76f6fde 480 %{?with_verbose:V=1}
0a891de9
JB
481
482# perf
483%if %{with perf}
388d18e6 484%{__make} -j1 -C tools/perf all man \
0a891de9
JB
485%ifarch %{x8664}
486 IS_X86_64=1 \
487 %{!?with_multilib:NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1} \
488%endif
489 %{!?with_gtk:NO_GTK2=1} \
490 %{!?with_libunwind:NO_LIBUNWIND=1} \
491 %{makeopts} \
492 CFLAGS_OPTIMIZE="%{rpmcflags}" \
493 WERROR=0 \
494 prefix=%{_prefix} \
495 perfexecdir=%{_datadir}/perf-core \
496 lib=%{_lib} \
497 template_dir=%{_datadir}/perf-core/templates
498%endif
499
49fba13a 500# cpupower
0a891de9 501%if %{with cpupower}
49fba13a 502%{__make} -C tools/power/cpupower \
60972f76 503 %{makeopts} \
fb1ff9fc
JB
504 CPUFREQ_BENCH=false \
505 OPTIMIZATION="%{rpmcflags}" \
506 STRIPCMD=true
49fba13a 507
bedc6c43 508%ifarch %{ix86} x32
49fba13a 509%{__make} -C tools/power/cpupower/debug/i386 centrino-decode powernow-k8-decode \
fb1ff9fc
JB
510 CC="%{__cc}" \
511 CFLAGS="%{rpmcflags}"
49fba13a
ER
512%endif
513
bedc6c43 514%ifarch %{x8664} x32
49fba13a 515%{__make} -C tools/power/cpupower/debug/x86_64 centrino-decode powernow-k8-decode \
fb1ff9fc
JB
516 CC="%{__cc}" \
517 CFLAGS="%{rpmcflags}"
49fba13a 518%endif
0a891de9 519%endif
49fba13a 520
bedc6c43 521%ifarch %{ix86} %{x8664} x32
ea7d139b 522CFLAGS="%{rpmcflags}" \
49fba13a 523%{__make} -C tools/power/x86/x86_energy_perf_policy \
ea7d139b
JR
524 CC="%{__cc}"
525
4b352448 526CFLAGS="%{rpmcflags}" \
49fba13a 527%{__make} -C tools/power/x86/turbostat \
4b352448 528 CC="%{__cc}"
49fba13a
ER
529%endif
530
0a891de9 531%{__make} -C tools/thermal/tmon \
dbaf19f8 532 CC="%{__cc}" \
0a891de9
JB
533 OPTFLAGS="%{rpmcflags}"
534
535# usbip-utils
536%if %{with usbip}
537cd tools/usb/usbip
538%{__libtoolize}
539%{__aclocal}
540%{__autoconf}
541%{__autoheader}
542%{__automake}
543%configure \
ba3b9a67 544 CFLAGS="%{rpmcflags} $Wstringop $Waddressof" \
0a891de9
JB
545 --disable-silent-rules \
546 --with-usbids-dir=/lib/hwdata
547%{__make}
548cd ../../..
549%endif
dbaf19f8 550
f111fe43
JK
551# page-types, slabinfo
552%{__make} -C tools/vm page-types slabinfo \
701b458f 553 CC="%{__cc}" \
f111fe43 554 CFLAGS="%{rpmcflags} -Wall -Wextra -I../lib"
701b458f 555
dd28be58
JK
556# gen_init_cpio
557%{__make} -C usr gen_init_cpio \
60972f76 558 %{makeopts} \
fb1ff9fc 559 CFLAGS="%{rpmcflags}"
dd28be58 560
49fba13a
ER
561%install
562rm -rf $RPM_BUILD_ROOT
b1f08c11 563
49fba13a
ER
564cd linux-%{basever}
565
0a891de9 566%if %{with cpupower}
bd620db3 567%{__make} -C tools/power/cpupower install \
49fba13a
ER
568 DESTDIR=$RPM_BUILD_ROOT \
569 libdir=%{_libdir} \
570 mandir=%{_mandir} \
571 CPUFREQ_BENCH=false
572
573%find_lang cpupower
ba3b9a67 574%{__mv} cpupower.lang ..
49fba13a 575
f57fcd71
ER
576install -d $RPM_BUILD_ROOT{/etc/sysconfig,%{systemdunitdir}}
577cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/cpupower.service
578cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/cpupower
579
bedc6c43 580%ifarch %{ix86} x32
701b458f 581install -p tools/power/cpupower/debug/i386/{centrino,powernow-k8}-decode $RPM_BUILD_ROOT%{_bindir}
49fba13a 582%endif
bedc6c43 583%ifarch %{x8664} x32
701b458f 584install -p tools/power/cpupower/debug/x86_64/{centrino,powernow-k8}-decode $RPM_BUILD_ROOT%{_bindir}
49fba13a 585%endif
49fba13a 586%endif
fea1e605
ER
587
588%if %{with perf}
388d18e6 589%{__make} -C tools/perf install install-man \
4dfb9dde
JR
590%ifarch %{x8664}
591 IS_X86_64=1 \
a5af5310 592 %{!?with_multilib:NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1} \
4dfb9dde 593%endif
ae4c1fd4 594 %{!?with_gtk:NO_GTK2=1} \
5a8bbd03 595 %{!?with_libunwind:NO_LIBUNWIND=1} \
fea1e605 596 CC="%{__cc}" \
fb1ff9fc 597 CFLAGS_OPTIMIZE="%{rpmcflags}" \
6e9d46c8 598 WERROR=0 \
fea1e605
ER
599 %{?with_verbose:V=1} \
600 prefix=%{_prefix} \
601 perfexecdir=%{_datadir}/perf-core \
602 template_dir=%{_datadir}/perf-core/templates \
388d18e6 603 bash_compdir=%{bash_compdir} \
4f4642fc 604 lib=%{_lib} \
fea1e605 605 DESTDIR=$RPM_BUILD_ROOT
db5f9ac9
JB
606
607%py_comp $RPM_BUILD_ROOT%{_datadir}/perf-core/scripts/python
608%py_ocomp $RPM_BUILD_ROOT%{_datadir}/perf-core/scripts/python
a8b28c3a 609
4b352448 610%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/perf-core/tests
49fba13a
ER
611%endif
612
0a891de9
JB
613%if %{with usbip}
614%{__make} -C tools/usb/usbip install \
615 DESTDIR=$RPM_BUILD_ROOT
616
617%{__rm} $RPM_BUILD_ROOT%{_libdir}/libusbip.la
618%endif
619
620install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_mandir}/man8}
621
2c8f0d44 622install -p tools/laptop/dslm/dslm $RPM_BUILD_ROOT%{_sbindir}
0a891de9
JB
623
624install -p tools/gpio/lsgpio $RPM_BUILD_ROOT%{_bindir}
625
626%ifarch %{ix86} %{x8664} x32
627install -p tools/hv/hv_{fcopy,kvp,vss}_daemon $RPM_BUILD_ROOT%{_sbindir}
628# TODO: PLD-specific hv_get_dhcp_info,hv_get_dns_info,hv_set_ifconfig
629%{__sed} -e '1s,/usr/bin/env python,%{__python},' tools/hv/lsvmbus >$RPM_BUILD_ROOT%{_bindir}/lsvmbus
630chmod 755 $RPM_BUILD_ROOT%{_bindir}/lsvmbus
631%endif
632
51feff82 633install -p tools/iio/{iio_event_monitor,iio_generic_buffer,lsiio} $RPM_BUILD_ROOT%{_bindir}
0a891de9
JB
634
635install -p tools/laptop/freefall/freefall $RPM_BUILD_ROOT%{_sbindir}
636
c5a822e3
JB
637%{__make} -C tools/bpf install \
638 prefix=$RPM_BUILD_ROOT%{_prefix} \
e76f6fde
JB
639 bash_compdir=$RPM_BUILD_ROOT%{bash_compdir} \
640 %{?with_verbose:V=1}
c5a822e3 641%{__make} -C tools/bpf/bpftool doc-install \
e76f6fde
JB
642 prefix=$RPM_BUILD_ROOT%{_prefix} \
643 mandir=$RPM_BUILD_ROOT%{_mandir} \
644 %{?with_verbose:V=1}
0a891de9
JB
645
646install -p tools/thermal/tmon/tmon $RPM_BUILD_ROOT%{_bindir}
647cp -p tools/thermal/tmon/tmon.8 $RPM_BUILD_ROOT%{_mandir}/man8
648
649install -p tools/vm/slabinfo $RPM_BUILD_ROOT%{_bindir}
650install -p tools/vm/page-types $RPM_BUILD_ROOT%{_sbindir}
651
652%ifarch %{ix86} %{x8664} x32
653install -d $RPM_BUILD_ROOT%{_mandir}/man8
654%{__make} -C tools/power/x86/x86_energy_perf_policy install \
655 DESTDIR=$RPM_BUILD_ROOT
656
657%{__make} -C tools/power/x86/turbostat install \
658 DESTDIR=$RPM_BUILD_ROOT
659%endif
660
dd28be58 661# gen_init_cpio
60972f76 662install -p usr/gen_init_cpio $RPM_BUILD_ROOT%{_bindir}/gen_init_cpio
dd28be58 663
ba3b9a67
JB
664# packaged in man-pages (5.02)
665%{__rm} $RPM_BUILD_ROOT%{_mandir}/man7/bpf-helpers.7*
0813123e 666
49fba13a
ER
667%clean
668rm -rf $RPM_BUILD_ROOT
669
4bc5704a
JK
670%post cpupower-libs -p /sbin/ldconfig
671%postun cpupower-libs -p /sbin/ldconfig
49fba13a 672
f57fcd71
ER
673%post cpupower
674%systemd_post cpupower.service
675
676%preun cpupower
677%systemd_preun cpupower.service
678
679%postun cpupower
680%systemd_reload
681
0a891de9
JB
682%post -n usbip-libs -p /sbin/ldconfig
683%postun -n usbip-libs -p /sbin/ldconfig
684
4bc5704a 685%files
49fba13a 686%defattr(644,root,root,755)
0a891de9
JB
687%attr(755,root,root) %{_bindir}/bpf_asm
688%attr(755,root,root) %{_bindir}/bpf_dbg
689%attr(755,root,root) %{_bindir}/bpf_jit_disasm
701b458f 690%attr(755,root,root) %{_bindir}/gen_init_cpio
0a891de9
JB
691%attr(755,root,root) %{_bindir}/iio_event_monitor
692%attr(755,root,root) %{_bindir}/iio_generic_buffer
0a891de9
JB
693%attr(755,root,root) %{_bindir}/lsgpio
694%attr(755,root,root) %{_bindir}/lsiio
701b458f 695%attr(755,root,root) %{_bindir}/slabinfo
0a891de9 696%attr(755,root,root) %{_bindir}/tmon
c5a822e3 697%attr(755,root,root) %{_sbindir}/bpftool
b1f08c11 698%attr(755,root,root) %{_sbindir}/dslm
0a891de9 699%attr(755,root,root) %{_sbindir}/freefall
f111fe43 700%attr(755,root,root) %{_sbindir}/page-types
c5a822e3 701%{_mandir}/man8/bpftool*.8*
0a891de9 702%{_mandir}/man8/tmon.8*
bedc6c43 703%ifarch %{ix86} %{x8664} x32
49fba13a
ER
704%attr(755,root,root) %{_bindir}/centrino-decode
705%attr(755,root,root) %{_bindir}/powernow-k8-decode
706%endif
bedc6c43 707%ifarch %{ix86} %{x8664} x32
49fba13a
ER
708%attr(755,root,root) %{_bindir}/turbostat
709%attr(755,root,root) %{_bindir}/x86_energy_perf_policy
bd620db3
JB
710%{_mandir}/man8/turbostat.8*
711%{_mandir}/man8/x86_energy_perf_policy.8*
49fba13a
ER
712%endif
713
4bc5704a
JK
714%files cpupower -f cpupower.lang
715%defattr(644,root,root,755)
716%attr(755,root,root) %{_bindir}/cpupower
bd620db3 717%{_mandir}/man1/cpupower*.1*
f57fcd71
ER
718%{systemdunitdir}/cpupower.service
719%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cpupower
4bc5704a
JK
720
721%files cpupower-libs
49fba13a
ER
722%defattr(644,root,root,755)
723%attr(755,root,root) %{_libdir}/libcpupower.so.*.*.*
bd620db3 724%attr(755,root,root) %ghost %{_libdir}/libcpupower.so.0
49fba13a 725
4bc5704a 726%files cpupower-libs-devel
49fba13a 727%defattr(644,root,root,755)
bd620db3 728%attr(755,root,root) %{_libdir}/libcpupower.so
49fba13a 729%{_includedir}/cpufreq.h
dbaf19f8 730%{_includedir}/cpuidle.h
fea1e605 731
388d18e6
JR
732%files -n bash-completion-cpupower
733%defattr(644,root,root,755)
734%{bash_compdir}/cpupower
735
0a891de9
JB
736%ifarch %{ix86} %{x8664} x32
737%files hv
738%defattr(644,root,root,755)
739# TODO: PLDify these scripts and move to bindir
740%doc linux-%{basever}/tools/hv/hv_{get_dhcp_info,get_dns_info,set_ifconfig}.sh
741%attr(755,root,root) %{_bindir}/lsvmbus
742%attr(755,root,root) %{_sbindir}/hv_fcopy_daemon
743%attr(755,root,root) %{_sbindir}/hv_kvp_daemon
744%attr(755,root,root) %{_sbindir}/hv_vss_daemon
745%endif
746
fea1e605 747%if %{with perf}
ae4c1fd4 748%files perf
fea1e605 749%defattr(644,root,root,755)
35be6466 750%attr(755,root,root) %{_bindir}/perf
ae4c1fd4 751%attr(755,root,root) %{_bindir}/trace
fea1e605 752%{_mandir}/man1/perf*.1*
c5a822e3 753%{_docdir}/perf-tip
fea1e605
ER
754%dir %{_datadir}/perf-core
755%attr(755,root,root) %{_datadir}/perf-core/perf-archive
4f4642fc 756%attr(755,root,root) %{_datadir}/perf-core/perf-with-kcore
c5a822e3 757%{_datadir}/perf-core/strace
fea1e605
ER
758
759%dir %{_datadir}/perf-core/scripts
760
761%dir %{_datadir}/perf-core/scripts/perl
762%dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util
763%dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib
764%dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf
765%dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace
766%{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/*.pm
767%dir %{_datadir}/perf-core/scripts/perl/bin
768%attr(755,root,root) %{_datadir}/perf-core/scripts/perl/bin/*
769%{_datadir}/perf-core/scripts/perl/*.pl
770
771%dir %{_datadir}/perf-core/scripts/python
772%dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util
773%dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib
774%dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf
775%dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace
db5f9ac9 776%{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/*.py*
fea1e605
ER
777%dir %{_datadir}/perf-core/scripts/python/bin
778%attr(755,root,root) %{_datadir}/perf-core/scripts/python/bin/*
db5f9ac9
JB
779%{_datadir}/perf-core/scripts/python/*.py*
780
eb373af4
AM
781%dir %{_libdir}/traceevent
782%dir %{_libdir}/traceevent/plugins
783%attr(755,root,root) %{_libdir}/traceevent/plugins/plugin_*.so
784
51522bd6
JB
785%dir %{_prefix}/lib/perf
786%{_prefix}/lib/perf/examples
787%{_prefix}/lib/perf/include
788
a5af5310 789%if %{with multilib}
0a3bb9dd
JR
790%files perf-vdso32
791%defattr(644,root,root,755)
792%attr(755,root,root) %{_bindir}/perf-read-vdso32
793
794%files perf-vdsox32
795%defattr(644,root,root,755)
796%attr(755,root,root) %{_bindir}/perf-read-vdsox32
797%endif
798
bc35d286 799%if %{with gtk}
db5f9ac9
JB
800%files perf-gtk
801%defattr(644,root,root,755)
ae4c1fd4 802%attr(755,root,root) %{_libdir}/libperf-gtk.so
bc35d286 803%endif
db5f9ac9 804
db5f9ac9
JB
805%files -n bash-completion-perf
806%defattr(644,root,root,755)
807/etc/bash_completion.d/perf
fea1e605 808%endif
0a891de9 809
c5a822e3
JB
810%files -n bash-completion-kernel-tools
811%defattr(644,root,root,755)
812%{bash_compdir}/bpftool
813
0a891de9
JB
814%if %{with usbip}
815%files -n usbip
816%defattr(644,root,root,755)
817%doc linux-%{basever}/tools/usb/usbip/{AUTHORS,README}
818%attr(755,root,root) %{_sbindir}/usbip
819%attr(755,root,root) %{_sbindir}/usbipd
820%{_mandir}/man8/usbip.8*
821%{_mandir}/man8/usbipd.8*
822
823%files -n usbip-libs
824%defattr(644,root,root,755)
825%attr(755,root,root) %{_libdir}/libusbip.so.*.*.*
826%attr(755,root,root) %ghost %{_libdir}/libusbip.so.0
827
828%files -n usbip-devel
829%defattr(644,root,root,755)
830%attr(755,root,root) %{_libdir}/libusbip.so
831%{_includedir}/usbip
832
833%files -n usbip-static
834%defattr(644,root,root,755)
835%{_libdir}/libusbip.a
836%endif
This page took 0.24432 seconds and 4 git commands to generate.