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