]> git.pld-linux.org Git - packages/lttng-modules.git/blame - lttng-modules.spec
- switch to macro driven module build for multiple kernel versions
[packages/lttng-modules.git] / lttng-modules.spec
CommitLineData
f899359a
JB
1#
2# Conditional build:
3%bcond_without dist_kernel # allow non-distribution kernel
4%bcond_without allprobes # all probes build (some probes, e.g. fs, need full kernel source)
5%bcond_with verbose # verbose build (V=1)
85b0efa4
JR
6
7# The goal here is to have main, userspace, package built once with
8# simple release number, and only rebuild kernel packages with kernel
9# version as part of release number, without the need to bump release
10# with every kernel change.
11%if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
12%{error:kernel and userspace cannot be built at the same time on PLD builders}
13exit 1
14%endif
15
17aa6c61 16%if "%{_alt_kernel}" != "%{nil}"
85b0efa4
JR
17%if 0%{?build_kernels:1}
18%{error:alt_kernel and build_kernels are mutually exclusive}
19exit 1
17aa6c61 20%endif
85b0efa4
JR
21%global _build_kernels %{alt_kernel}
22%else
23%global _build_kernels %{?build_kernels:,%{?build_kernels}}
24%endif
25
26# nothing to be placed to debuginfo package
27%define _enable_debug_packages 0
28
29%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)
30%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)
17aa6c61 31
85b0efa4 32%define rel 5
2735f34a 33%define pname lttng-modules
f899359a
JB
34Summary: LTTng 2.x kernel modules
35Summary(pl.UTF-8): Moduły jądra LTTng 2.x
f9b1df23 36Name: %{pname}%{_alt_kernel}
2735f34a 37Version: 2.3.0
85b0efa4 38Release: %{rel}%{?with_kernel:@%{_kernel_ver_str}}
f899359a
JB
39License: GPL v2
40Group: Base/Kernel
f9b1df23 41Source0: http://lttng.org/files/lttng-modules/%{pname}-%{version}.tar.bz2
2735f34a 42# Source0-md5: 9c7e9d730020a0b94514eaed0927332a
f899359a
JB
43URL: http://lttng.org/
44%if %{with dist_kernel}
45BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.38
46%{?with_allprobes:BuildRequires: kernel%{_alt_kernel}-source >= 3:2.6.38}
47%endif
85b0efa4 48BuildRequires: rpmbuild(macros) >= 1.678
f899359a
JB
49BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50
f899359a
JB
51%description
52LTTng 2.x kernel modules.
53
54%description -l pl.UTF-8
55Moduły jądra LTTng 2.x.
56
85b0efa4
JR
57%define kernel_pkg()\
58%package -n kernel%{_alt_kernel}-lttng\
59Summary: LTTng 2.x modules for Linux kernel\
60Summary(pl.UTF-8): Moduły LTTng 2.x dla jądra Linuksa\
61Release: %{rel}@%{_kernel_ver_str}\
62Group: Base/Kernel\
63Requires(post,postun): /sbin/depmod\
64%if %{with dist_kernel}\
65%requires_releq_kernel\
66Requires(postun): %releq_kernel\
67%endif\
68\
69%description -n kernel%{_alt_kernel}-lttng\
70LTTng 2.x modules for Linux kernel.\
71\
72%description -n kernel%{_alt_kernel}-lttng -l pl.UTF-8\
73Moduły LTTng 2.x dla jądra Linuksa.\
74\
75%files -n kernel%{_alt_kernel}-lttng\
76%defattr(644,root,root,755)\
77%doc ChangeLog LICENSE README TODO\
78%dir /lib/modules/%{_kernel_ver}/kernel/lttng\
79/lib/modules/%{_kernel_ver}/kernel/lttng/lttng-ring-buffer-*.ko*\
80/lib/modules/%{_kernel_ver}/kernel/lttng/lttng-statedump.ko*\
81/lib/modules/%{_kernel_ver}/kernel/lttng/lttng-tracer.ko*\
82%dir /lib/modules/%{_kernel_ver}/kernel/lttng/lib\
83/lib/modules/%{_kernel_ver}/kernel/lttng/lib/lttng-lib-ring-buffer.ko*\
84%dir /lib/modules/%{_kernel_ver}/kernel/lttng/probes\
85/lib/modules/%{_kernel_ver}/kernel/lttng/probes/lttng-kprobes.ko*\
86/lib/modules/%{_kernel_ver}/kernel/lttng/probes/lttng-kretprobes.ko*\
87/lib/modules/%{_kernel_ver}/kernel/lttng/probes/lttng-probe-*.ko*\
88/lib/modules/%{_kernel_ver}/kernel/lttng/probes/lttng-types.ko*\
89\
90%post -n kernel%{_alt_kernel}-lttng\
91%depmod %{_kernel_ver}\
92\
93%postun -n kernel%{_alt_kernel}-lttng\
94%depmod %{_kernel_ver}\
95%{nil}
f899359a 96
85b0efa4
JR
97%define build_kernel_pkg()\
98%{__make} \\\
99 KERNELDIR=%{_kernelsrcdir} \\\
100 EXTCFLAGS="%{rpmcflags}"\
101p=`pwd`\
102%{__make} modules_install \\\
103 INSTALL_MOD_PATH=$p/installed \\\
104 INSTALL_MOD_DIR=kernel/lttng \\\
105 KERNELDIR=%{_kernelsrcdir}\
106%{nil}
f899359a 107
85b0efa4 108%{expand:%kpkg}
f899359a
JB
109
110%prep
f9b1df23 111%setup -q -n %{pname}-%{version}
f899359a
JB
112
113%build
85b0efa4 114%{expand:%bkpkg}
f899359a
JB
115
116%install
117rm -rf $RPM_BUILD_ROOT
85b0efa4 118install -d $RPM_BUILD_ROOT
f899359a 119
85b0efa4 120cp -a installed/* $RPM_BUILD_ROOT
f899359a
JB
121
122%clean
123rm -rf $RPM_BUILD_ROOT
This page took 0.135949 seconds and 4 git commands to generate.