]> git.pld-linux.org Git - packages/crash.git/blame - crash.spec
- drop non-dist kernel support
[packages/crash.git] / crash.spec
CommitLineData
61472ea8 1# TODO:
7d6e8030 2# - libeppic if anything else (but crash extension) wants to use it
61472ea8 3#
2025c975 4# Conditional build:
2025c975
JB
5%bcond_without kernel # don't build kernel modules
6%bcond_without userspace # don't build userspace programs
7%bcond_with verbose # verbose kernel module build (V=1)
661e0f95 8
661e0f95
JR
9# The goal here is to have main, userspace, package built once with
10# simple release number, and only rebuild kernel packages with kernel
11# version as part of release number, without the need to bump release
12# with every kernel change.
13%if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
14%{error:kernel and userspace cannot be built at the same time on PLD builders}
15exit 1
16%endif
17
ff79030e 18%if "%{_alt_kernel}" != "%{nil}"
661e0f95
JR
19%if 0%{?build_kernels:1}
20%{error:alt_kernel and build_kernels are mutually exclusive}
21exit 1
22%endif
ff79030e 23%undefine with_userspace
661e0f95
JR
24%global _build_kernels %{alt_kernel}
25%else
26%global _build_kernels %{?build_kernels:,%{?build_kernels}}
27%endif
28
29%if %{without userspace}
30# nothing to be placed to debuginfo package
31%define _enable_debug_packages 0
ff79030e
JR
32%endif
33
86186ee6 34%define kbrs %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo "BuildRequires:kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2" ; done)
661e0f95
JR
35%define kpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
36%define bkpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
37
b733153a 38%define rel 1
ff79030e 39%define pname crash
61472ea8
JB
40Summary: Core Analysis Suite
41Summary(pl.UTF-8): Zestaw narzędzi do analizy zrzutów pamięci
86186ee6 42Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
e7b5bc54 43Version: 7.0.8
86186ee6 44Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
61472ea8
JB
45License: GPL v2+
46Group: Libraries
ff79030e 47Source0: http://people.redhat.com/anderson/%{pname}-%{version}.tar.gz
e7b5bc54 48# Source0-md5: 94f3c60bc04c8e9c620878d77f23dc7f
7d6e8030
JB
49# git clone https://code.google.com/p/eppic
50Source1: eppic.tar.xz
51# Source1-md5: a9f80ad71de9d6f5b77534a7ebdbed8e
61472ea8 52URL: http://people.redhat.com/anderson/
661e0f95 53BuildRequires: rpmbuild(macros) >= 1.678
e9928611 54%{?with_kernel:%{expand:%kbrs}}
2025c975 55%if %{with userspace}
61472ea8
JB
56BuildRequires: ncurses-devel
57BuildRequires: readline-devel
58BuildRequires: xz-devel
59BuildRequires: zlib-devel
2025c975 60%endif
61472ea8
JB
61ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc64 s390 s390x
62BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63
64%description
65The core analysis suite is a self-contained tool that can be used to
66investigate either live systems, kernel core dumps created from the
67netdump and diskdump packages offered by Red Hat, the LKCD kernel
68patch or the mcore kernel patch available from Mission Critical Linux.
69
70%description -l pl.UTF-8
71Narzędzie do analizy zrzutów pamięci to samodzielny program służący do
72badania systemów działających, zrzutów pamięci jądra utworzonych przez
73pakiety Red Hata netdump lub diskdump, łatę jądra LKCD lub łatę jądra
74mcore dostępną w Mission Critical Linuksie.
75
76%package devel
77Summary: Header files for core analysis suite
78Summary(pl.UTF-8): Plik nagłówkowy narzędzia do analizy zrzutów pamięci
79Group: Development/Libraries
80# doesn't require base
81
82%description devel
83Header files for core analysis suite.
84
85%description devel -l pl.UTF-8
86Plik nagłówkowy narzędzia do analizy zrzutów pamięci.
87
661e0f95
JR
88%define kernel_pkg()\
89%package -n kernel%{_alt_kernel}-char-crash\
90Summary: Memory driver for live system crash sessions\
91Summary(pl.UTF-8): Sterownik pamięci dla sesji crash na żywym systemie\
92Release: %{rel}@%{_kernel_ver_str}\
93Group: Base/Kernel\
94Requires(post,postun): /sbin/depmod\
661e0f95
JR
95%requires_releq_kernel\
96Requires(postun): %releq_kernel\
661e0f95
JR
97\
98%description -n kernel%{_alt_kernel}-char-crash\
99This package contains /dev/crash memory driver for live system crash\
100sessions, which may be used when /dev/mem and /proc/kcore are\
101unavailable.\
102\
103%description -n kernel%{_alt_kernel}-char-crash -l pl.UTF-8\
104Ten pakiet zawiera sterownik pamięci /dev/crash do sesji crash na\
105żywym systemie. Może być używany do analizy, kiedy /dev/mem i\
106/proc/kcore nie są dostępne.\
107\
108%if %{with kernel}\
109%files -n kernel%{_alt_kernel}-char-crash\
110%defattr(644,root,root,755)\
111%doc memory_driver/README\
112/lib/modules/%{_kernel_ver}/kernel/drivers/char/crash.ko*\
113%endif\
114\
115%post -n kernel%{_alt_kernel}-char-crash\
116%depmod %{_kernel_ver}\
117\
118%postun -n kernel%{_alt_kernel}-char-crash\
119%depmod %{_kernel_ver}\
120%{nil}
121
122%define build_kernel_pkg()\
123%build_kernel_modules -C memory_driver -m crash\
124%install_kernel_modules -D installed -m memory_driver/crash -d kernel/drivers/char\
125%{nil}
126
127%{?with_kernel:%{expand:%kpkg}}
2025c975 128
61472ea8 129%prep
ff79030e 130%setup -q -a1 -n %{pname}-%{version}
61472ea8 131
7d6e8030 132%{__mv} eppic extensions
61472ea8
JB
133
134%build
661e0f95 135%{?with_kernel:%{expand:%bkpkg}}
2025c975
JB
136
137%if %{with userspace}
61472ea8
JB
138export CPPFLAGS="%{rpmcppflags} -I/usr/include/ncurses"
139%{__make} -j1 all extensions \
140 ARCH="%{_target_cpu}" \
141 CC="%{__cc}" \
142 CFLAGS="%{rpmcflags} -I/usr/include/ncurses"
2025c975 143%endif
61472ea8
JB
144
145%install
146rm -rf $RPM_BUILD_ROOT
2025c975
JB
147
148%if %{with kernel}
661e0f95
JR
149install -d $RPM_BUILD_ROOT
150cp -a installed/* $RPM_BUILD_ROOT
2025c975
JB
151%endif
152
153%if %{with userspace}
6d83b7e9 154install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man8,%{_libdir}/crash/extensions,%{_includedir}/crash}
61472ea8
JB
155
156%{__make} install \
157 DESTDIR=$RPM_BUILD_ROOT
158
159# omitted by make install
6d83b7e9 160install extensions/*.so $RPM_BUILD_ROOT%{_libdir}/crash/extensions
61472ea8
JB
161cp -p crash.8 $RPM_BUILD_ROOT%{_mandir}/man8
162cp -p defs.h $RPM_BUILD_ROOT%{_includedir}/crash
2025c975 163%endif
61472ea8
JB
164
165%clean
166rm -rf $RPM_BUILD_ROOT
167
2025c975 168%if %{with userspace}
61472ea8
JB
169%files
170%defattr(644,root,root,755)
171%doc README
172%attr(755,root,root) %{_bindir}/crash
6d83b7e9
JB
173%dir %{_libdir}/crash
174%dir %{_libdir}/crash/extensions
175%attr(755,root,root) %{_libdir}/crash/extensions/dminfo.so
176%attr(755,root,root) %{_libdir}/crash/extensions/echo.so
7d6e8030 177%attr(755,root,root) %{_libdir}/crash/extensions/eppic.so
6d83b7e9
JB
178%attr(755,root,root) %{_libdir}/crash/extensions/snap.so
179%attr(755,root,root) %{_libdir}/crash/extensions/trace.so
61472ea8
JB
180%{_mandir}/man8/crash.8*
181
182%files devel
183%defattr(644,root,root,755)
184%{_includedir}/crash
2025c975 185%endif
This page took 0.126167 seconds and 4 git commands to generate.