]> git.pld-linux.org Git - packages/kernel-tools.git/blob - kernel-tools.spec
89807e80c19ed2ec0d61bcfc8256c88623c45d35
[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.13
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:  76c60fb304510a7bbd9c838790bc5fe4
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:   d8273731ed72ed885ab815d3805ecd67
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 BuildArch:      noarch
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 BuildArch:      noarch
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 BuildArch:      noarch
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 %clean
663 rm -rf $RPM_BUILD_ROOT
664
665 %post   cpupower-libs -p /sbin/ldconfig
666 %postun cpupower-libs -p /sbin/ldconfig
667
668 %post cpupower
669 %systemd_post cpupower.service
670
671 %preun cpupower
672 %systemd_preun cpupower.service
673
674 %postun cpupower
675 %systemd_reload
676
677 %post   -n usbip-libs -p /sbin/ldconfig
678 %postun -n usbip-libs -p /sbin/ldconfig
679
680 %files
681 %defattr(644,root,root,755)
682 %attr(755,root,root) %{_bindir}/bpf_asm
683 %attr(755,root,root) %{_bindir}/bpf_dbg
684 %attr(755,root,root) %{_bindir}/bpf_jit_disasm
685 %attr(755,root,root) %{_bindir}/gen_init_cpio
686 %attr(755,root,root) %{_bindir}/iio_event_monitor
687 %attr(755,root,root) %{_bindir}/iio_generic_buffer
688 %attr(755,root,root) %{_bindir}/lsgpio
689 %attr(755,root,root) %{_bindir}/lsiio
690 %attr(755,root,root) %{_bindir}/slabinfo
691 %attr(755,root,root) %{_bindir}/tmon
692 %attr(755,root,root) %{_sbindir}/bpftool
693 %attr(755,root,root) %{_sbindir}/dslm
694 %attr(755,root,root) %{_sbindir}/freefall
695 %attr(755,root,root) %{_sbindir}/page-types
696 %{_mandir}/man8/bpftool*.8*
697 %{_mandir}/man8/tmon.8*
698 %ifarch %{ix86} %{x8664} x32
699 %attr(755,root,root) %{_bindir}/centrino-decode
700 %attr(755,root,root) %{_bindir}/powernow-k8-decode
701 %endif
702 %ifarch %{ix86} %{x8664} x32
703 %attr(755,root,root) %{_bindir}/turbostat
704 %attr(755,root,root) %{_bindir}/x86_energy_perf_policy
705 %{_mandir}/man8/turbostat.8*
706 %{_mandir}/man8/x86_energy_perf_policy.8*
707 %endif
708
709 %files cpupower -f cpupower.lang
710 %defattr(644,root,root,755)
711 %attr(755,root,root) %{_bindir}/cpupower
712 %{_mandir}/man1/cpupower*.1*
713 %{systemdunitdir}/cpupower.service
714 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cpupower
715
716 %files cpupower-libs
717 %defattr(644,root,root,755)
718 %attr(755,root,root) %{_libdir}/libcpupower.so.*.*.*
719 %attr(755,root,root) %ghost %{_libdir}/libcpupower.so.0
720
721 %files cpupower-libs-devel
722 %defattr(644,root,root,755)
723 %attr(755,root,root) %{_libdir}/libcpupower.so
724 %{_includedir}/cpufreq.h
725 %{_includedir}/cpuidle.h
726
727 %files -n bash-completion-cpupower
728 %defattr(644,root,root,755)
729 %{bash_compdir}/cpupower
730
731 %ifarch %{ix86} %{x8664} x32
732 %files hv
733 %defattr(644,root,root,755)
734 # TODO: PLDify these scripts and move to bindir
735 %doc linux-%{basever}/tools/hv/hv_{get_dhcp_info,get_dns_info,set_ifconfig}.sh
736 %attr(755,root,root) %{_bindir}/lsvmbus
737 %attr(755,root,root) %{_sbindir}/hv_fcopy_daemon
738 %attr(755,root,root) %{_sbindir}/hv_kvp_daemon
739 %attr(755,root,root) %{_sbindir}/hv_vss_daemon
740 %endif
741
742 %if %{with perf}
743 %files perf
744 %defattr(644,root,root,755)
745 %attr(755,root,root) %{_bindir}/perf
746 %attr(755,root,root) %{_bindir}/trace
747 %{_mandir}/man1/perf*.1*
748 %{_docdir}/perf-tip
749 %dir %{_datadir}/perf-core
750 %attr(755,root,root) %{_datadir}/perf-core/perf-archive
751 %attr(755,root,root) %{_datadir}/perf-core/perf-iostat
752 %attr(755,root,root) %{_datadir}/perf-core/perf-with-kcore
753 %{_datadir}/perf-core/strace
754
755 %dir %{_datadir}/perf-core/scripts
756
757 %dir %{_datadir}/perf-core/scripts/perl
758 %dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util
759 %dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib
760 %dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf
761 %dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace
762 %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/*.pm
763 %dir %{_datadir}/perf-core/scripts/perl/bin
764 %attr(755,root,root) %{_datadir}/perf-core/scripts/perl/bin/*
765 %{_datadir}/perf-core/scripts/perl/*.pl
766
767 %dir %{_datadir}/perf-core/scripts/python
768 %dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util
769 %dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib
770 %dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf
771 %dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace
772 %{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/*.py*
773 %dir %{_datadir}/perf-core/scripts/python/bin
774 %attr(755,root,root) %{_datadir}/perf-core/scripts/python/bin/*
775 %{_datadir}/perf-core/scripts/python/*.py*
776
777 %dir %{_libdir}/traceevent
778 %dir %{_libdir}/traceevent/plugins
779 %attr(755,root,root) %{_libdir}/traceevent/plugins/plugin_*.so
780
781 %dir %{_prefix}/lib/perf
782 %{_prefix}/lib/perf/examples
783 %{_prefix}/lib/perf/include
784
785 %if %{with multilib}
786 %files perf-vdso32
787 %defattr(644,root,root,755)
788 %attr(755,root,root) %{_bindir}/perf-read-vdso32
789
790 %files perf-vdsox32
791 %defattr(644,root,root,755)
792 %attr(755,root,root) %{_bindir}/perf-read-vdsox32
793 %endif
794
795 %if %{with gtk}
796 %files perf-gtk
797 %defattr(644,root,root,755)
798 %attr(755,root,root) %{_libdir}/libperf-gtk.so
799 %endif
800
801 %files -n bash-completion-perf
802 %defattr(644,root,root,755)
803 /etc/bash_completion.d/perf
804 %endif
805
806 %files -n bash-completion-kernel-tools
807 %defattr(644,root,root,755)
808 %{bash_compdir}/bpftool
809
810 %if %{with usbip}
811 %files -n usbip
812 %defattr(644,root,root,755)
813 %doc linux-%{basever}/tools/usb/usbip/{AUTHORS,README}
814 %attr(755,root,root) %{_sbindir}/usbip
815 %attr(755,root,root) %{_sbindir}/usbipd
816 %{_mandir}/man8/usbip.8*
817 %{_mandir}/man8/usbipd.8*
818
819 %files -n usbip-libs
820 %defattr(644,root,root,755)
821 %attr(755,root,root) %{_libdir}/libusbip.so.*.*.*
822 %attr(755,root,root) %ghost %{_libdir}/libusbip.so.0
823
824 %files -n usbip-devel
825 %defattr(644,root,root,755)
826 %attr(755,root,root) %{_libdir}/libusbip.so
827 %{_includedir}/usbip
828
829 %files -n usbip-static
830 %defattr(644,root,root,755)
831 %{_libdir}/libusbip.a
832 %endif
This page took 0.103303 seconds and 2 git commands to generate.