3 %bcond_without kernel # don't build kernel modules
4 %bcond_without userspace # don't build userspace programs
5 %bcond_with verbose # verbose build (V=1)
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}
16 %if %{without userspace}
17 # nothing to be placed to debuginfo package
18 %define _enable_debug_packages 0
21 %define _duplicate_files_terminate_build 0
25 Summary: Solaris Porting Layer
26 Summary(pl.UTF-8): Solaris Porting Layer - warstwa do portowania kodu z Solarisa
27 Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
29 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
31 Group: Applications/System
32 Source0: http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/%{pname}-%{version}.tar.gz
33 # Source0-md5: 8df6ce3c8f1d9af6526b36f5079cba59
34 Patch0: linux-3.17.patch
35 Patch1: linux-3.18.patch
36 URL: http://zfsonlinux.org/
37 BuildRequires: rpmbuild(macros) >= 1.701
38 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
39 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42 Solaris Porting Layer.
44 %description -l pl.UTF-8
45 Solaris Porting Layer - warstwa do portowania kodu z Solarisa.
47 %package -n kernel-spl-common-devel
48 Summary: Solaris Porting Layer - Linux kernel headers
49 Summary(pl.UTF-8): Solaris Porting Layer - pliki nagłówkowe jądra Linuksa
50 Group: Development/Building
52 %description -n kernel-spl-common-devel
53 Solaris Porting Layer - Linux kernel headers common for all PLD
56 %description -n kernel-spl-common-devel -l pl.UTF-8
57 Solaris Porting Layer - pliki nagłówkowe jądra Linuksa wspólne
58 dla wszystkich wersji jądrer PLD.
61 %package -n kernel%{_alt_kernel}-spl\
62 Summary: Solaris Porting Layer - Linux kernel modules\
63 Summary(pl.UTF-8): Solaris Porting Layer - moduły jądra Linuksa\
64 Release: %{rel}@%{_kernel_ver_str}\
66 Requires(post,postun): /sbin/depmod\
67 %requires_releq_kernel\
68 Requires(postun): %releq_kernel\
70 %description -n kernel%{_alt_kernel}-spl\
71 Solaris Porting Layer - Linux kernel modules.\
73 %description -n kernel%{_alt_kernel}-spl -l pl.UTF-8\
74 Solaris Porting Layer - moduły jądra Linuksa.\
76 %package -n kernel%{_alt_kernel}-spl-devel\
77 Summary: Solaris Porting Layer - Linux kernel headers\
78 Summary(pl.UTF-8): Solaris Porting Layer - pliki nagłówkowe jądra Linuksa\
79 Release: %{rel}@%{_kernel_ver_str}\
80 Group: Development/Building\
81 Requires: kernel%{_alt_kernel}-headers\
82 Requires: kernel-spl-common-devel\
84 %description -n kernel%{_alt_kernel}-spl-devel\
85 Solaris Porting Layer - Linux kernel headers configured for PLD\
86 kernel%{_alt_kernel}, version %{_kernel_ver}.\
88 %description -n kernel%{_alt_kernel}-spl-devel -l pl.UTF-8\
89 Solaris Porting Layer - pliki nagłówkowe jądra Linuksa skonfigurowane\
90 dla jądra PLD z pakietu kernel%{_alt_kernel} w wersji %{_kernel_ver}.\
92 %files -n kernel%{_alt_kernel}-spl\
93 %defattr(644,root,root,755)\
94 %dir /lib/modules/%{_kernel_ver}/misc/spl\
95 /lib/modules/%{_kernel_ver}/misc/spl/spl.ko*\
96 %dir /lib/modules/%{_kernel_ver}/misc/splat\
97 /lib/modules/%{_kernel_ver}/misc/splat/splat.ko*\
99 %files -n kernel%{_alt_kernel}-spl-devel\
100 %defattr(644,root,root,755)\
101 /usr/src/spl-%{version}/%{_kernel_ver}\
103 %post -n kernel%{_alt_kernel}-spl\
104 %depmod %{_kernel_ver}\
106 %postun -n kernel%{_alt_kernel}-spl\
107 %depmod %{_kernel_ver}\
110 %define build_kernel_pkg()\
112 --disable-silent-rules \\\
113 --with-config="kernel" \\\
114 --with-linux=%{_kernelsrcdir}\
117 %{__make} %{?with_verbose:V=1}\
119 %{__make} install DESTDIR=$p/installed INSTALL_MOD_DIR=misc\
122 %{?with_kernel:%{expand:%create_kernel_packages}}
125 %setup -q -n %{pname}-%{version}
130 %{__aclocal} -I config
134 %{?with_kernel:%{expand:%build_kernel_packages}}
136 %if %{with userspace}
138 --disable-silent-rules \
146 rm -rf $RPM_BUILD_ROOT
149 install -d $RPM_BUILD_ROOT
150 cp -a installed/* $RPM_BUILD_ROOT
153 %if %{with userspace}
155 DESTDIR=$RPM_BUILD_ROOT
159 rm -rf $RPM_BUILD_ROOT
161 %if %{with userspace}
163 %defattr(644,root,root,755)
164 %doc AUTHORS DISCLAIMER
165 %attr(755,root,root) %{_sbindir}/splat
166 %{_mandir}/man1/splat.1*
167 %{_mandir}/man5/spl-module-parameters.5.gz
171 %files -n kernel-spl-common-devel
172 %defattr(644,root,root,755)
173 %dir /usr/src/spl-%{version}
174 /usr/src/spl-%{version}/spl*.in
175 /usr/src/spl-%{version}/include