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: https://github.com/zfsonlinux/zfs/releases/download/zfs-%{version}/%{pname}-%{version}.tar.gz
33 # Source0-md5: 30cd00e473f8f3f589a599ecb0e71de9
34 URL: http://zfsonlinux.org/
35 BuildRequires: rpmbuild(macros) >= 1.701
36 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
37 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40 Solaris Porting Layer.
42 %description -l pl.UTF-8
43 Solaris Porting Layer - warstwa do portowania kodu z Solarisa.
45 %package -n kernel-spl-common-devel
46 Summary: Solaris Porting Layer - Linux kernel headers
47 Summary(pl.UTF-8): Solaris Porting Layer - pliki nagłówkowe jądra Linuksa
48 Group: Development/Building
50 %description -n kernel-spl-common-devel
51 Solaris Porting Layer - Linux kernel headers common for all PLD
54 %description -n kernel-spl-common-devel -l pl.UTF-8
55 Solaris Porting Layer - pliki nagłówkowe jądra Linuksa wspólne
56 dla wszystkich wersji jądrer PLD.
59 %package -n kernel%{_alt_kernel}-spl\
60 Summary: Solaris Porting Layer - Linux kernel modules\
61 Summary(pl.UTF-8): Solaris Porting Layer - moduły jądra Linuksa\
62 Release: %{rel}@%{_kernel_ver_str}\
64 Requires(post,postun): /sbin/depmod\
65 %requires_releq_kernel\
66 Requires(postun): %releq_kernel\
68 %description -n kernel%{_alt_kernel}-spl\
69 Solaris Porting Layer - Linux kernel modules.\
71 %description -n kernel%{_alt_kernel}-spl -l pl.UTF-8\
72 Solaris Porting Layer - moduły jądra Linuksa.\
74 %package -n kernel%{_alt_kernel}-spl-devel\
75 Summary: Solaris Porting Layer - Linux kernel headers\
76 Summary(pl.UTF-8): Solaris Porting Layer - pliki nagłówkowe jądra Linuksa\
77 Release: %{rel}@%{_kernel_ver_str}\
78 Group: Development/Building\
79 Requires: kernel%{_alt_kernel}-headers\
80 Requires: kernel-spl-common-devel\
82 %description -n kernel%{_alt_kernel}-spl-devel\
83 Solaris Porting Layer - Linux kernel headers configured for PLD\
84 kernel%{_alt_kernel}, version %{_kernel_ver}.\
86 %description -n kernel%{_alt_kernel}-spl-devel -l pl.UTF-8\
87 Solaris Porting Layer - pliki nagłówkowe jądra Linuksa skonfigurowane\
88 dla jądra PLD z pakietu kernel%{_alt_kernel} w wersji %{_kernel_ver}.\
90 %files -n kernel%{_alt_kernel}-spl\
91 %defattr(644,root,root,755)\
92 %dir /lib/modules/%{_kernel_ver}/misc/spl\
93 /lib/modules/%{_kernel_ver}/misc/spl/spl.ko*\
94 %dir /lib/modules/%{_kernel_ver}/misc/splat\
95 /lib/modules/%{_kernel_ver}/misc/splat/splat.ko*\
97 %files -n kernel%{_alt_kernel}-spl-devel\
98 %defattr(644,root,root,755)\
99 /usr/src/spl-%{version}/%{_kernel_ver}\
101 %post -n kernel%{_alt_kernel}-spl\
102 %depmod %{_kernel_ver}\
104 %postun -n kernel%{_alt_kernel}-spl\
105 %depmod %{_kernel_ver}\
108 %define build_kernel_pkg()\
110 --disable-silent-rules \\\
111 --with-config="kernel" \\\
112 --with-linux=%{_kernelsrcdir}\\\
113 --with-linux-obj=%{_kernelsrcdir}\
116 %{__make} %{?with_verbose:V=1}\
118 %{__make} install DESTDIR=$p/installed INSTALL_MOD_DIR=misc\
121 %{?with_kernel:%{expand:%create_kernel_packages}}
124 %setup -q -n %{pname}-%{version}
127 %{__aclocal} -I config
131 %{?with_kernel:%{expand:%build_kernel_packages}}
133 %if %{with userspace}
135 --disable-silent-rules \
143 rm -rf $RPM_BUILD_ROOT
146 install -d $RPM_BUILD_ROOT
147 cp -a installed/* $RPM_BUILD_ROOT
150 %if %{with userspace}
152 DESTDIR=$RPM_BUILD_ROOT
156 rm -rf $RPM_BUILD_ROOT
158 %if %{with userspace}
160 %defattr(644,root,root,755)
161 %doc AUTHORS DISCLAIMER
162 %attr(755,root,root) %{_bindir}/splslab.py
163 %attr(755,root,root) %{_sbindir}/splat
164 %{_mandir}/man1/splat.1*
165 %{_mandir}/man5/spl-module-parameters.5.gz
169 %files -n kernel-spl-common-devel
170 %defattr(644,root,root,755)
171 %dir /usr/src/spl-%{version}
172 /usr/src/spl-%{version}/spl*.in
173 /usr/src/spl-%{version}/include