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