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 Patch2: linux-3.19.patch
37 URL: http://zfsonlinux.org/
38 BuildRequires: rpmbuild(macros) >= 1.701
39 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 Solaris Porting Layer.
45 %description -l pl.UTF-8
46 Solaris Porting Layer - warstwa do portowania kodu z Solarisa.
48 %package -n kernel-spl-common-devel
49 Summary: Solaris Porting Layer - Linux kernel headers
50 Summary(pl.UTF-8): Solaris Porting Layer - pliki nagłówkowe jądra Linuksa
51 Group: Development/Building
53 %description -n kernel-spl-common-devel
54 Solaris Porting Layer - Linux kernel headers common for all PLD
57 %description -n kernel-spl-common-devel -l pl.UTF-8
58 Solaris Porting Layer - pliki nagłówkowe jądra Linuksa wspólne
59 dla wszystkich wersji jądrer PLD.
62 %package -n kernel%{_alt_kernel}-spl\
63 Summary: Solaris Porting Layer - Linux kernel modules\
64 Summary(pl.UTF-8): Solaris Porting Layer - moduły jądra Linuksa\
65 Release: %{rel}@%{_kernel_ver_str}\
67 Requires(post,postun): /sbin/depmod\
68 %requires_releq_kernel\
69 Requires(postun): %releq_kernel\
71 %description -n kernel%{_alt_kernel}-spl\
72 Solaris Porting Layer - Linux kernel modules.\
74 %description -n kernel%{_alt_kernel}-spl -l pl.UTF-8\
75 Solaris Porting Layer - moduły jądra Linuksa.\
77 %package -n kernel%{_alt_kernel}-spl-devel\
78 Summary: Solaris Porting Layer - Linux kernel headers\
79 Summary(pl.UTF-8): Solaris Porting Layer - pliki nagłówkowe jądra Linuksa\
80 Release: %{rel}@%{_kernel_ver_str}\
81 Group: Development/Building\
82 Requires: kernel%{_alt_kernel}-headers\
83 Requires: kernel-spl-common-devel\
85 %description -n kernel%{_alt_kernel}-spl-devel\
86 Solaris Porting Layer - Linux kernel headers configured for PLD\
87 kernel%{_alt_kernel}, version %{_kernel_ver}.\
89 %description -n kernel%{_alt_kernel}-spl-devel -l pl.UTF-8\
90 Solaris Porting Layer - pliki nagłówkowe jądra Linuksa skonfigurowane\
91 dla jądra PLD z pakietu kernel%{_alt_kernel} w wersji %{_kernel_ver}.\
93 %files -n kernel%{_alt_kernel}-spl\
94 %defattr(644,root,root,755)\
95 %dir /lib/modules/%{_kernel_ver}/misc/spl\
96 /lib/modules/%{_kernel_ver}/misc/spl/spl.ko*\
97 %dir /lib/modules/%{_kernel_ver}/misc/splat\
98 /lib/modules/%{_kernel_ver}/misc/splat/splat.ko*\
100 %files -n kernel%{_alt_kernel}-spl-devel\
101 %defattr(644,root,root,755)\
102 /usr/src/spl-%{version}/%{_kernel_ver}\
104 %post -n kernel%{_alt_kernel}-spl\
105 %depmod %{_kernel_ver}\
107 %postun -n kernel%{_alt_kernel}-spl\
108 %depmod %{_kernel_ver}\
111 %define build_kernel_pkg()\
113 --disable-silent-rules \\\
114 --with-config="kernel" \\\
115 --with-linux=%{_kernelsrcdir}\
118 %{__make} %{?with_verbose:V=1}\
120 %{__make} install DESTDIR=$p/installed INSTALL_MOD_DIR=misc\
123 %{?with_kernel:%{expand:%create_kernel_packages}}
126 %setup -q -n %{pname}-%{version}
132 %{__aclocal} -I config
136 %{?with_kernel:%{expand:%build_kernel_packages}}
138 %if %{with userspace}
140 --disable-silent-rules \
148 rm -rf $RPM_BUILD_ROOT
151 install -d $RPM_BUILD_ROOT
152 cp -a installed/* $RPM_BUILD_ROOT
155 %if %{with userspace}
157 DESTDIR=$RPM_BUILD_ROOT
161 rm -rf $RPM_BUILD_ROOT
163 %if %{with userspace}
165 %defattr(644,root,root,755)
166 %doc AUTHORS DISCLAIMER
167 %attr(755,root,root) %{_sbindir}/splat
168 %{_mandir}/man1/splat.1*
169 %{_mandir}/man5/spl-module-parameters.5.gz
173 %files -n kernel-spl-common-devel
174 %defattr(644,root,root,755)
175 %dir /usr/src/spl-%{version}
176 /usr/src/spl-%{version}/spl*.in
177 /usr/src/spl-%{version}/include