]> git.pld-linux.org Git - packages/spl.git/blame - spl.spec
- fix build on linux 3.18
[packages/spl.git] / spl.spec
CommitLineData
465ece3e
JB
1#
2# Conditional build:
3%bcond_without dist_kernel # allow non-distribution kernel
4%bcond_without kernel # don't build kernel modules
5%bcond_without userspace # don't build userspace programs
6%bcond_with verbose # verbose build (V=1)
7#
8%if %{without kernel}
9%undefine with_dist_kernel
10%endif
8535b998 11
248e4e5f
JR
12# The goal here is to have main, userspace, package built once with
13# simple release number, and only rebuild kernel packages with kernel
14# version as part of release number, without the need to bump release
15# with every kernel change.
16%if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
17%{error:kernel and userspace cannot be built at the same time on PLD builders}
18exit 1
19%endif
20
465ece3e 21%if "%{_alt_kernel}" != "%{nil}"
248e4e5f
JR
22%if 0%{?build_kernels:1}
23%{error:alt_kernel and build_kernels are mutually exclusive}
24exit 1
25%endif
465ece3e 26%undefine with_userspace
248e4e5f
JR
27%global _build_kernels %{alt_kernel}
28%else
29%global _build_kernels %{?build_kernels:,%{?build_kernels}}
465ece3e 30%endif
8535b998 31
465ece3e
JB
32%if %{without userspace}
33# nothing to be placed to debuginfo package
34%define _enable_debug_packages 0
35%endif
8535b998 36
248e4e5f
JR
37%define _duplicate_files_terminate_build 0
38
39%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)
40%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)
41%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)
42
43%define pname spl
b963299d 44%define rel 4
465ece3e
JB
45Summary: Solaris Porting Layer
46Summary(pl.UTF-8): Solaris Porting Layer - warstwa do portowania kodu z Solarisa
248e4e5f 47Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
3e137c69 48Version: 0.6.3
248e4e5f 49Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
465ece3e
JB
50License: GPL v2+
51Group: Applications/System
191eb534 52Source0: http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/%{pname}-%{version}.tar.gz
3e137c69 53# Source0-md5: 8df6ce3c8f1d9af6526b36f5079cba59
74742be2 54Patch0: linux-3.17.patch
b963299d 55Patch0: linux-3.18.patch
465ece3e 56URL: http://zfsonlinux.org/
248e4e5f
JR
57BuildRequires: rpmbuild(macros) >= 1.678
58%{?with_dist_kernel:%{expand:%kbrs}}
465ece3e
JB
59BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60
61%description
62Solaris Porting Layer.
63
64%description -l pl.UTF-8
65Solaris Porting Layer - warstwa do portowania kodu z Solarisa.
66
e4432ffc
JR
67%package -n kernel-spl-common-devel
68Summary: Solaris Porting Layer - Linux kernel headers
69Summary(pl.UTF-8): Solaris Porting Layer - pliki nagłówkowe jądra Linuksa
70Group: Development/Building
71
72%description -n kernel-spl-common-devel
73Solaris Porting Layer - Linux kernel headers common for all PLD
74kernel versions.
75
76%description -n kernel-spl-common-devel -l pl.UTF-8
77Solaris Porting Layer - pliki nagłówkowe jądra Linuksa wspólne
78dla wszystkich wersji jądrer PLD.
79
248e4e5f
JR
80%define kernel_pkg()\
81%package -n kernel%{_alt_kernel}-spl\
82Summary: Solaris Porting Layer - Linux kernel modules\
83Summary(pl.UTF-8): Solaris Porting Layer - moduły jądra Linuksa\
84Release: %{rel}@%{_kernel_ver_str}\
85Group: Base/Kernel\
86Requires(post,postun): /sbin/depmod\
87%if %{with dist_kernel}\
88%requires_releq_kernel\
89Requires(postun): %releq_kernel\
90%endif\
91\
92%description -n kernel%{_alt_kernel}-spl\
93Solaris Porting Layer - Linux kernel modules.\
94\
95%description -n kernel%{_alt_kernel}-spl -l pl.UTF-8\
96Solaris Porting Layer - moduły jądra Linuksa.\
97\
98%package -n kernel%{_alt_kernel}-spl-devel\
99Summary: Solaris Porting Layer - Linux kernel headers\
100Summary(pl.UTF-8): Solaris Porting Layer - pliki nagłówkowe jądra Linuksa\
101Release: %{rel}@%{_kernel_ver_str}\
102Group: Development/Building\
e4432ffc
JR
103%if %{with dist_kernel}\
104Requires: kernel%{_alt_kernel}-headers\
105Requires: kernel-spl-common-devel\
106%endif\
248e4e5f
JR
107\
108%description -n kernel%{_alt_kernel}-spl-devel\
109Solaris Porting Layer - Linux kernel headers configured for PLD\
110kernel%{_alt_kernel}, version %{_kernel_ver}.\
111\
112%description -n kernel%{_alt_kernel}-spl-devel -l pl.UTF-8\
113Solaris Porting Layer - pliki nagłówkowe jądra Linuksa skonfigurowane\
114dla jądra PLD z pakietu kernel%{_alt_kernel} w wersji %{_kernel_ver}.\
115\
116%files -n kernel%{_alt_kernel}-spl\
117%defattr(644,root,root,755)\
118%dir /lib/modules/%{_kernel_ver}/misc/spl\
119/lib/modules/%{_kernel_ver}/misc/spl/spl.ko*\
120%dir /lib/modules/%{_kernel_ver}/misc/splat\
121/lib/modules/%{_kernel_ver}/misc/splat/splat.ko*\
122\
123%files -n kernel%{_alt_kernel}-spl-devel\
124%defattr(644,root,root,755)\
248e4e5f
JR
125/usr/src/spl-%{version}/%{_kernel_ver}\
126\
127%post -n kernel%{_alt_kernel}-spl\
128%depmod %{_kernel_ver}\
129\
130%postun -n kernel%{_alt_kernel}-spl\
131%depmod %{_kernel_ver}\
132%{nil}
133
134%define build_kernel_pkg()\
135%configure \\\
136 --disable-silent-rules \\\
137 --with-config="kernel" \\\
138 --with-linux=%{_kernelsrcdir}\
139\
140%{__make} clean\
141%{__make} %{?with_verbose:V=1}\
142p=`pwd`\
143%{__make} install DESTDIR=$p/installed INSTALL_MOD_DIR=misc\
144%{nil}
145
146%{?with_kernel:%{expand:%kpkg}}
465ece3e
JB
147
148%prep
c59747d1 149%setup -q -n %{pname}-%{version}
74742be2 150%patch0 -p1
b963299d 151%patch1 -p1
465ece3e
JB
152
153%build
2a075b3b
JR
154%{__aclocal} -I config
155%{__autoconf}
6d0372a6 156%{__autoheader}
2a075b3b 157%{__automake}
248e4e5f
JR
158%{?with_kernel:%{expand:%bkpkg}}
159
160%if %{with userspace}
465ece3e
JB
161%configure \
162 --disable-silent-rules \
248e4e5f 163 --with-config="user"
465ece3e 164
ce3c5ca8
JB
165%{__make} \
166 %{?with_verbose:V=1}
248e4e5f 167%endif
465ece3e
JB
168
169%install
170rm -rf $RPM_BUILD_ROOT
171
248e4e5f
JR
172%if %{with kernel}
173install -d $RPM_BUILD_ROOT
174cp -a installed/* $RPM_BUILD_ROOT
175%endif
176
177%if %{with userspace}
465ece3e 178%{__make} install \
248e4e5f
JR
179 DESTDIR=$RPM_BUILD_ROOT
180%endif
465ece3e
JB
181
182%clean
183rm -rf $RPM_BUILD_ROOT
184
185%if %{with userspace}
186%files
187%defattr(644,root,root,755)
ce3c5ca8 188%doc AUTHORS DISCLAIMER
465ece3e
JB
189%attr(755,root,root) %{_sbindir}/splat
190%{_mandir}/man1/splat.1*
3e137c69 191%{_mandir}/man5/spl-module-parameters.5.gz
465ece3e 192%endif
e4432ffc
JR
193
194%if %{with kernel}
195%files -n kernel-spl-common-devel
196%defattr(644,root,root,755)
197%dir /usr/src/spl-%{version}
198/usr/src/spl-%{version}/spl*.in
199/usr/src/spl-%{version}/include
200%endif
This page took 0.05728 seconds and 4 git commands to generate.