]> git.pld-linux.org Git - packages/kernel-tools.git/blame - kernel-tools.spec
- fixed install
[packages/kernel-tools.git] / kernel-tools.spec
CommitLineData
bb6b0f50
ER
1# TODO:
2# - redefine: PACKAGE_BUGREPORT=cpufreq@vger.kernel.org
b1f08c11
ER
3# - add -n python-perf?
4# - without perf bcond does not work (it still builds it)
5# - add bcond to disable building docs (perf docs)
6# - install of perf compiles things over again
bb6b0f50 7
49fba13a
ER
8# Conditional build:
9%bcond_without verbose # verbose build (V=1)
db5f9ac9 10%bcond_without perf # perf tools
ae4c1fd4 11%bcond_without gtk # GTK+ 2.x perf support
5a8bbd03
JR
12%bcond_without libunwind # libunwind perf support
13
14%ifarch x32
15%undefine with_libunwind
16%endif
49fba13a 17
67ec7216
JR
18%define basever 4.1
19%define postver .6
49fba13a 20Summary: Assortment of tools for the Linux kernel
bd620db3 21Summary(pl.UTF-8): Zestaw narzędzi dla jądra Linuksa
49fba13a
ER
22Name: kernel-tools
23Version: %{basever}%{postver}
e8e6f555 24Release: 2
49fba13a 25License: GPL v2
fea1e605 26Group: Applications/System
3109d83e 27Source0: https://www.kernel.org/pub/linux/kernel/v4.x/linux-%{basever}.tar.xz
67ec7216 28# Source0-md5: fe9dc0f6729f36400ea81aa41d614c37
bedc6c43
JR
29Source1: cpupower.service
30Source2: cpupower.config
49fba13a 31%if "%{postver}" != ".0"
3109d83e 32Patch0: https://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz
67ec7216 33# Patch0-md5: 7dea69f02c906206f88df48085069eb6
49fba13a 34%endif
bedc6c43 35Patch1: x32.patch
52583efa 36URL: http://www.kernel.org/
bedc6c43 37%ifarch %{x8664}
e8e6f555 38BuildRequires: gcc-multilib-32
c0d5ff44 39BuildRequires: gcc-multilib-x32
bedc6c43 40%endif
4a7175d2 41BuildRequires: gettext-tools
9596c3d3 42BuildRequires: pciutils-devel
a8b28c3a 43BuildRequires: rpmbuild(macros) >= 1.647
49fba13a
ER
44BuildRequires: tar >= 1:1.22
45BuildRequires: xz
fea1e605
ER
46%if %{with perf}
47BuildRequires: asciidoc
52583efa 48BuildRequires: audit-libs-devel
db5f9ac9 49BuildRequires: binutils-devel
52583efa 50BuildRequires: bison
a8b28c3a 51BuildRequires: docbook-dtd45-xml
52583efa
JB
52BuildRequires: docbook-style-xsl
53BuildRequires: elfutils-devel
54BuildRequires: flex
5a8bbd03 55%{?with_libunwind:BuildRequires: libunwind-devel >= 0.99}
60ccbbd3 56BuildRequires: numactl-devel
52583efa 57BuildRequires: perl-devel >= 5.1
52583efa 58BuildRequires: python-devel
fea1e605 59BuildRequires: rpm-pythonprov
a1c57a8e 60BuildRequires: slang-devel
fea1e605 61BuildRequires: xmlto
a8b28c3a
ER
62%if %{with gtk}
63BuildRequires: gtk+2-devel >= 2.0
64BuildRequires: pkgconfig
65%endif
fea1e605 66%endif
49fba13a
ER
67BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
68
eb373af4
AM
69# otherwise /usr/lib/rpm/bin/debugedit: canonicalization unexpectedly shrank by one character
70%define _enable_debug_packages 0
71
60972f76
ER
72%define makeopts CC="%{__cc}" %{?with_verbose:V=1}
73
49fba13a 74%description
bd620db3
JB
75This package contains the software from tools/ subdirectory from Linux
76kernel source and the supporting documentation.
77
78%description -l pl.UTF-8
79Ten pakiet zawiera oprogramowanie z podkatalogu tools/ ze źródeł jądra
80Linuksa oraz związaną z nim dokumentację.
49fba13a 81
4bc5704a
JK
82%package cpupower
83Summary: cpupower - Shows and sets processor power related values
bd620db3 84Summary(pl.UTF-8): cpupower - wyświetlanie i ustawianie wartości związanych z zużyciem energii przez procesor
4bc5704a 85Group: Applications/System
f57fcd71 86Requires(post,preun,postun): systemd-units >= 38
91fd1f55 87Requires: %{name}-cpupower-libs = %{version}-%{release}
f57fcd71 88Requires: systemd-units >= 0.38
2bd21e06
ER
89Provides: cpufreq-utils = 1:009-0.6.p1
90Provides: cpufrequtils = 1:009-0.6.p1
91Provides: cpupowerutils = 1:009-0.6.p1
92Obsoletes: cpufreq-utils < 1:009-0.6.p1
93Obsoletes: cpufrequtils < 1:009-0.6.p1
94Obsoletes: cpupowerutils < 1:009-0.6.p1
95Obsoletes: cpuspeed < 1:1.5-16
4bc5704a
JK
96
97%description cpupower
60972f76
ER
98cpupower is a collection of tools to examine and tune power saving
99related features of your processor.
4bc5704a 100
bd620db3
JB
101%description cpupower -l pl.UTF-8
102cpupower to zbiór narzędzi do sprawdzania i ustawiania opcji procesora
103związanych z oszczędzaniem energii.
104
4bc5704a 105%package cpupower-libs
bd620db3
JB
106Summary: cpupower library
107Summary(pl.UTF-8): Biblioteka cpupower
49fba13a
ER
108Group: Libraries
109
4bc5704a 110%description cpupower-libs
bd620db3
JB
111cpupower library.
112
113%description cpupower-libs -l pl.UTF-8
114Biblioteka cpupower.
49fba13a 115
4bc5704a 116%package cpupower-libs-devel
bd620db3
JB
117Summary: Development files for the cpupower library
118Summary(pl.UTF-8): Pliki programistyczne biblioteki cpupower
49fba13a 119Group: Development/Libraries
178c4b31
ER
120Requires: %{name} = %{version}-%{release}
121Requires: %{name}-cpupower-libs = %{version}-%{release}
91fd1f55 122Provides: cpufrequtils-devel = 1:009-0.6.p1
49fba13a 123Provides: cpupowerutils-devel = 1:009-0.6.p1
91fd1f55 124Obsoletes: cpufrequtils-devel < 1:009-0.6.p1
49fba13a
ER
125Obsoletes: cpupowerutils-devel < 1:009-0.6.p1
126
4bc5704a 127%description cpupower-libs-devel
bd620db3
JB
128Development files for the cpupower library.
129
130%description cpupower-libs-devel -l pl.UTF-8
131Pliki programistyczne biblioteki cpupower.
49fba13a 132
ae4c1fd4
JB
133%package perf
134Summary: perf profiler tool
135Summary(pl.UTF-8): Narzędzie profilujące perf
fea1e605 136Group: Applications/System
9efc8fed 137Suggests: binutils
ae4c1fd4
JB
138Obsoletes: perf-core
139Obsoletes: perf-slang
fea1e605 140
ae4c1fd4 141%description perf
fea1e605
ER
142Perf is a profiler tool for Linux 2.6+ based systems that abstracts
143away CPU hardware differences in Linux performance measurements and
144presents a simple commandline interface. Perf is based on the
145perf_events interface exported by recent versions of the Linux kernel.
146
ae4c1fd4 147This package contains core files, scripts and text interface (TUI).
db5f9ac9 148
ae4c1fd4 149%description perf -l pl.UTF-8
db5f9ac9
JB
150Perf to narzędzie profilujące dla systemów opartych na Linuksie 2.6+,
151odseparowujące od różnic sprzętowych między pomiarami wydajności w
152zależności od procesora oraz udostępniające prosty interfejs linii
153poleceń. Perf jest oparty na interfejsie perf_events eksportowanym
154przez nowe wersje jądra Linuksa.
155
ae4c1fd4
JB
156Ten pakiet zawiera podstawowe pliki, skrypty oraz interfejs tekstowy
157(TUI).
db5f9ac9 158
0a3bb9dd
JR
159%package perf-vdso32
160Summary: perf profiler tool
161Summary(pl.UTF-8): Narzędzie profilujące perf
162Group: Applications/System
163Requires: %{name}-perf = %{version}-%{release}
164
165%description perf-vdso32
166Perf is a profiler tool for Linux 2.6+ based systems that abstracts
167away CPU hardware differences in Linux performance measurements and
168presents a simple commandline interface. Perf is based on the
169perf_events interface exported by recent versions of the Linux kernel.
170
171This package contains perf-read-vdso32 tool for reading the 32-bit
172compatibility VDSO in 64-bit mode.
173
174%package perf-vdsox32
175Summary: perf profiler tool
176Summary(pl.UTF-8): Narzędzie profilujące perf
177Group: Applications/System
178Requires: %{name}-perf = %{version}-%{release}
179
180%description perf-vdsox32
181Perf is a profiler tool for Linux 2.6+ based systems that abstracts
182away CPU hardware differences in Linux performance measurements and
183presents a simple commandline interface. Perf is based on the
184perf_events interface exported by recent versions of the Linux kernel.
185
186This package contains perf-read-vdso32 tool for reading the x32 mode
18732-bit compatibility VDSO in 64-bit mode.
188
db5f9ac9 189%package perf-gtk
ae4c1fd4
JB
190Summary: perf profiler tool (GTK+ 2 GUI)
191Summary(pl.UTF-8): Narzędzie profilujące perf (interfejs graficzny GTK+ 2)
db5f9ac9 192Group: X11/Applications
dad8cd2d 193Requires: %{name}-perf = %{version}-%{release}
db5f9ac9
JB
194
195%description perf-gtk
196Perf is a profiler tool for Linux 2.6+ based systems that abstracts
197away CPU hardware differences in Linux performance measurements and
198presents a simple commandline interface. Perf is based on the
199perf_events interface exported by recent versions of the Linux kernel.
200
ae4c1fd4 201This package contains GTK+ 2 based GUI.
db5f9ac9
JB
202
203%description perf-gtk -l pl.UTF-8
204Perf to narzędzie profilujące dla systemów opartych na Linuksie 2.6+,
205odseparowujące od różnic sprzętowych między pomiarami wydajności w
206zależności od procesora oraz udostępniające prosty interfejs linii
207poleceń. Perf jest oparty na interfejsie perf_events eksportowanym
208przez nowe wersje jądra Linuksa.
209
ae4c1fd4 210Ten pakiet zawiera graficzny interfejs oparty na GTK+ 2.
db5f9ac9 211
db5f9ac9
JB
212%package -n bash-completion-perf
213Summary: Bash completion for perf command
214Summary(pl.UTF-8): Bashowe uzupełnianie parametrów dla polecenia perf
215Group: Applications/Shells
3385eb86 216Requires: %{name}-perf
db5f9ac9 217Requires: bash-completion
741b96de
ER
218%if "%{_rpmversion}" >= "5"
219BuildArch: noarch
220%endif
db5f9ac9
JB
221
222%description -n bash-completion-perf
223Bash completion for perf command.
224
225%description -n bash-completion-perf -l pl.UTF-8
226Bashowe uzupełnianie parametrów dla polecenia perf.
227
49fba13a
ER
228%prep
229%setup -qc
230cd linux-%{basever}
231
232%if "%{postver}" != ".0"
233%patch0 -p1
234%endif
235
bedc6c43
JR
236%patch1 -p1
237
eb373af4
AM
238sed -i -e 's#libexec/perf-core#%{_datadir}/perf-core#g' tools/perf/config/Makefile
239
49fba13a
ER
240%build
241cd linux-%{basever}
242
b1f08c11
ER
243# Simple Disk Sleep Monitor
244%{__cc} %{rpmcppflags} %{rpmcflags} %{rpmldflags} Documentation/laptops/dslm.c -o dslm
245
49fba13a
ER
246# cpupower
247%{__make} -C tools/power/cpupower \
60972f76 248 %{makeopts} \
fb1ff9fc
JB
249 CPUFREQ_BENCH=false \
250 OPTIMIZATION="%{rpmcflags}" \
251 STRIPCMD=true
49fba13a 252
bedc6c43 253%ifarch %{ix86} x32
49fba13a 254%{__make} -C tools/power/cpupower/debug/i386 centrino-decode powernow-k8-decode \
fb1ff9fc
JB
255 CC="%{__cc}" \
256 CFLAGS="%{rpmcflags}"
49fba13a
ER
257%endif
258
bedc6c43 259%ifarch %{x8664} x32
49fba13a 260%{__make} -C tools/power/cpupower/debug/x86_64 centrino-decode powernow-k8-decode \
fb1ff9fc
JB
261 CC="%{__cc}" \
262 CFLAGS="%{rpmcflags}"
49fba13a
ER
263%endif
264
bedc6c43 265%ifarch %{ix86} %{x8664} x32
49fba13a 266%{__make} -C tools/power/x86/x86_energy_perf_policy \
fb1ff9fc
JB
267 CC="%{__cc}" \
268 CFLAGS="%{rpmcflags}"
4b352448 269CFLAGS="%{rpmcflags}" \
49fba13a 270%{__make} -C tools/power/x86/turbostat \
4b352448 271 CC="%{__cc}"
49fba13a
ER
272%endif
273
f111fe43
JK
274# page-types, slabinfo
275%{__make} -C tools/vm page-types slabinfo \
701b458f 276 CC="%{__cc}" \
f111fe43 277 CFLAGS="%{rpmcflags} -Wall -Wextra -I../lib"
701b458f 278
fea1e605 279%if %{with perf}
52583efa 280%{__make} -C tools/perf all man \
4dfb9dde
JR
281%ifarch %{x8664}
282 IS_X86_64=1 \
283%endif
ae4c1fd4 284 %{!?with_gtk:NO_GTK2=1} \
5a8bbd03 285 %{!?with_libunwind:NO_LIBUNWIND=1} \
60972f76 286 %{makeopts} \
fb1ff9fc 287 CFLAGS_OPTIMIZE="%{rpmcflags}" \
d0e13ec9 288 WERROR=0 \
fea1e605
ER
289 prefix=%{_prefix} \
290 perfexecdir=%{_datadir}/perf-core \
4f4642fc 291 lib=%{_lib} \
fea1e605 292 template_dir=%{_datadir}/perf-core/templates
bc35d286 293%endif
fea1e605 294
dd28be58
JK
295# gen_init_cpio
296%{__make} -C usr gen_init_cpio \
60972f76 297 %{makeopts} \
fb1ff9fc 298 CFLAGS="%{rpmcflags}"
dd28be58 299
49fba13a
ER
300%install
301rm -rf $RPM_BUILD_ROOT
b1f08c11 302
49fba13a 303cd linux-%{basever}
b1f08c11 304install -d $RPM_BUILD_ROOT%{_sbindir}
49fba13a 305
bd620db3 306%{__make} -C tools/power/cpupower install \
49fba13a
ER
307 DESTDIR=$RPM_BUILD_ROOT \
308 libdir=%{_libdir} \
309 mandir=%{_mandir} \
310 CPUFREQ_BENCH=false
311
312%find_lang cpupower
313mv cpupower.lang ..
314
f57fcd71
ER
315install -d $RPM_BUILD_ROOT{/etc/sysconfig,%{systemdunitdir}}
316cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/cpupower.service
317cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/cpupower
318
bedc6c43 319%ifarch %{ix86} x32
701b458f 320install -p tools/power/cpupower/debug/i386/{centrino,powernow-k8}-decode $RPM_BUILD_ROOT%{_bindir}
49fba13a 321%endif
bedc6c43 322%ifarch %{x8664} x32
701b458f 323install -p tools/power/cpupower/debug/x86_64/{centrino,powernow-k8}-decode $RPM_BUILD_ROOT%{_bindir}
49fba13a
ER
324%endif
325
b1f08c11 326install -p tools/vm/slabinfo $RPM_BUILD_ROOT%{_bindir}
f111fe43 327install -p tools/vm/page-types $RPM_BUILD_ROOT%{_sbindir}
b1f08c11 328install -p dslm $RPM_BUILD_ROOT%{_sbindir}
701b458f 329
bedc6c43 330%ifarch %{ix86} %{x8664} x32
49fba13a 331install -d $RPM_BUILD_ROOT%{_mandir}/man8
49fba13a
ER
332%{__make} install \
333 -C tools/power/x86/x86_energy_perf_policy \
334 DESTDIR=$RPM_BUILD_ROOT
49fba13a 335
49fba13a
ER
336%{__make} install \
337 -C tools/power/x86/turbostat \
338 DESTDIR=$RPM_BUILD_ROOT
49fba13a 339%endif
fea1e605
ER
340
341%if %{with perf}
fea1e605
ER
342%{__make} -j1 install install-man \
343 -C tools/perf \
4dfb9dde
JR
344%ifarch %{x8664}
345 IS_X86_64=1 \
346%endif
ae4c1fd4 347 %{!?with_gtk:NO_GTK2=1} \
5a8bbd03 348 %{!?with_libunwind:NO_LIBUNWIND=1} \
fea1e605 349 CC="%{__cc}" \
fb1ff9fc 350 CFLAGS_OPTIMIZE="%{rpmcflags}" \
6e9d46c8 351 WERROR=0 \
fea1e605
ER
352 %{?with_verbose:V=1} \
353 prefix=%{_prefix} \
354 perfexecdir=%{_datadir}/perf-core \
355 template_dir=%{_datadir}/perf-core/templates \
4f4642fc 356 lib=%{_lib} \
fea1e605 357 DESTDIR=$RPM_BUILD_ROOT
db5f9ac9
JB
358
359%py_comp $RPM_BUILD_ROOT%{_datadir}/perf-core/scripts/python
360%py_ocomp $RPM_BUILD_ROOT%{_datadir}/perf-core/scripts/python
a8b28c3a 361
4b352448 362%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/perf-core/tests
49fba13a
ER
363%endif
364
dd28be58 365# gen_init_cpio
60972f76 366install -p usr/gen_init_cpio $RPM_BUILD_ROOT%{_bindir}/gen_init_cpio
dd28be58 367
49fba13a
ER
368%clean
369rm -rf $RPM_BUILD_ROOT
370
4bc5704a
JK
371%post cpupower-libs -p /sbin/ldconfig
372%postun cpupower-libs -p /sbin/ldconfig
49fba13a 373
f57fcd71
ER
374%post cpupower
375%systemd_post cpupower.service
376
377%preun cpupower
378%systemd_preun cpupower.service
379
380%postun cpupower
381%systemd_reload
382
4bc5704a 383%files
49fba13a 384%defattr(644,root,root,755)
701b458f
JB
385%attr(755,root,root) %{_bindir}/gen_init_cpio
386%attr(755,root,root) %{_bindir}/slabinfo
b1f08c11 387%attr(755,root,root) %{_sbindir}/dslm
f111fe43 388%attr(755,root,root) %{_sbindir}/page-types
bedc6c43 389%ifarch %{ix86} %{x8664} x32
49fba13a
ER
390%attr(755,root,root) %{_bindir}/centrino-decode
391%attr(755,root,root) %{_bindir}/powernow-k8-decode
392%endif
bedc6c43 393%ifarch %{ix86} %{x8664} x32
49fba13a
ER
394%attr(755,root,root) %{_bindir}/turbostat
395%attr(755,root,root) %{_bindir}/x86_energy_perf_policy
bd620db3
JB
396%{_mandir}/man8/turbostat.8*
397%{_mandir}/man8/x86_energy_perf_policy.8*
49fba13a
ER
398%endif
399
4bc5704a
JK
400%files cpupower -f cpupower.lang
401%defattr(644,root,root,755)
402%attr(755,root,root) %{_bindir}/cpupower
bd620db3 403%{_mandir}/man1/cpupower*.1*
f57fcd71
ER
404%{systemdunitdir}/cpupower.service
405%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cpupower
4bc5704a
JK
406
407%files cpupower-libs
49fba13a
ER
408%defattr(644,root,root,755)
409%attr(755,root,root) %{_libdir}/libcpupower.so.*.*.*
bd620db3 410%attr(755,root,root) %ghost %{_libdir}/libcpupower.so.0
49fba13a 411
4bc5704a 412%files cpupower-libs-devel
49fba13a 413%defattr(644,root,root,755)
bd620db3 414%attr(755,root,root) %{_libdir}/libcpupower.so
49fba13a 415%{_includedir}/cpufreq.h
fea1e605
ER
416
417%if %{with perf}
ae4c1fd4 418%files perf
fea1e605 419%defattr(644,root,root,755)
35be6466 420%attr(755,root,root) %{_bindir}/perf
ae4c1fd4 421%attr(755,root,root) %{_bindir}/trace
fea1e605
ER
422%{_mandir}/man1/perf*.1*
423%dir %{_datadir}/perf-core
424%attr(755,root,root) %{_datadir}/perf-core/perf-archive
4f4642fc 425%attr(755,root,root) %{_datadir}/perf-core/perf-with-kcore
fea1e605
ER
426
427%dir %{_datadir}/perf-core/scripts
428
429%dir %{_datadir}/perf-core/scripts/perl
430%dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util
431%dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib
432%dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf
433%dir %{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace
434%{_datadir}/perf-core/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/*.pm
435%dir %{_datadir}/perf-core/scripts/perl/bin
436%attr(755,root,root) %{_datadir}/perf-core/scripts/perl/bin/*
437%{_datadir}/perf-core/scripts/perl/*.pl
438
439%dir %{_datadir}/perf-core/scripts/python
440%dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util
441%dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib
442%dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf
443%dir %{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace
db5f9ac9 444%{_datadir}/perf-core/scripts/python/Perf-Trace-Util/lib/Perf/Trace/*.py*
fea1e605
ER
445%dir %{_datadir}/perf-core/scripts/python/bin
446%attr(755,root,root) %{_datadir}/perf-core/scripts/python/bin/*
db5f9ac9
JB
447%{_datadir}/perf-core/scripts/python/*.py*
448
eb373af4
AM
449%dir %{_libdir}/traceevent
450%dir %{_libdir}/traceevent/plugins
451%attr(755,root,root) %{_libdir}/traceevent/plugins/plugin_*.so
452
0a3bb9dd
JR
453%ifarch %{x8664}
454%files perf-vdso32
455%defattr(644,root,root,755)
456%attr(755,root,root) %{_bindir}/perf-read-vdso32
457
458%files perf-vdsox32
459%defattr(644,root,root,755)
460%attr(755,root,root) %{_bindir}/perf-read-vdsox32
461%endif
462
bc35d286 463%if %{with gtk}
db5f9ac9
JB
464%files perf-gtk
465%defattr(644,root,root,755)
ae4c1fd4 466%attr(755,root,root) %{_libdir}/libperf-gtk.so
bc35d286 467%endif
db5f9ac9 468
db5f9ac9
JB
469%files -n bash-completion-perf
470%defattr(644,root,root,755)
471/etc/bash_completion.d/perf
fea1e605 472%endif
This page took 0.243586 seconds and 4 git commands to generate.