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