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