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: 9659a369571701f726af11426084ced6
34 Patch0: kernel-4.15.patch
35 URL: http://zfsonlinux.org/
36 BuildRequires: rpmbuild(macros) >= 1.701
37 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
38 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41 Solaris Porting Layer.
43 %description -l pl.UTF-8
44 Solaris Porting Layer - warstwa do portowania kodu z Solarisa.
46 %package -n kernel-spl-common-devel
47 Summary: Solaris Porting Layer - Linux kernel headers
48 Summary(pl.UTF-8): Solaris Porting Layer - pliki nagłówkowe jądra Linuksa
49 Group: Development/Building
51 %description -n kernel-spl-common-devel
52 Solaris Porting Layer - Linux kernel headers common for all PLD
55 %description -n kernel-spl-common-devel -l pl.UTF-8
56 Solaris Porting Layer - pliki nagłówkowe jądra Linuksa wspólne
57 dla wszystkich wersji jądrer PLD.
60 %package -n kernel%{_alt_kernel}-spl\
61 Summary: Solaris Porting Layer - Linux kernel modules\
62 Summary(pl.UTF-8): Solaris Porting Layer - moduły jądra Linuksa\
63 Release: %{rel}@%{_kernel_ver_str}\
65 Requires(post,postun): /sbin/depmod\
66 %requires_releq_kernel\
67 Requires(postun): %releq_kernel\
69 %description -n kernel%{_alt_kernel}-spl\
70 Solaris Porting Layer - Linux kernel modules.\
72 %description -n kernel%{_alt_kernel}-spl -l pl.UTF-8\
73 Solaris Porting Layer - moduły jądra Linuksa.\
75 %package -n kernel%{_alt_kernel}-spl-devel\
76 Summary: Solaris Porting Layer - Linux kernel headers\
77 Summary(pl.UTF-8): Solaris Porting Layer - pliki nagłówkowe jądra Linuksa\
78 Release: %{rel}@%{_kernel_ver_str}\
79 Group: Development/Building\
80 Requires: kernel%{_alt_kernel}-headers\
81 Requires: kernel-spl-common-devel\
83 %description -n kernel%{_alt_kernel}-spl-devel\
84 Solaris Porting Layer - Linux kernel headers configured for PLD\
85 kernel%{_alt_kernel}, version %{_kernel_ver}.\
87 %description -n kernel%{_alt_kernel}-spl-devel -l pl.UTF-8\
88 Solaris Porting Layer - pliki nagłówkowe jądra Linuksa skonfigurowane\
89 dla jądra PLD z pakietu kernel%{_alt_kernel} w wersji %{_kernel_ver}.\
91 %files -n kernel%{_alt_kernel}-spl\
92 %defattr(644,root,root,755)\
93 %dir /lib/modules/%{_kernel_ver}/misc/spl\
94 /lib/modules/%{_kernel_ver}/misc/spl/spl.ko*\
95 %dir /lib/modules/%{_kernel_ver}/misc/splat\
96 /lib/modules/%{_kernel_ver}/misc/splat/splat.ko*\
98 %files -n kernel%{_alt_kernel}-spl-devel\
99 %defattr(644,root,root,755)\
100 /usr/src/spl-%{version}/%{_kernel_ver}\
102 %post -n kernel%{_alt_kernel}-spl\
103 %depmod %{_kernel_ver}\
105 %postun -n kernel%{_alt_kernel}-spl\
106 %depmod %{_kernel_ver}\
109 %define build_kernel_pkg()\
111 --disable-silent-rules \\\
112 --with-config="kernel" \\\
113 --with-linux=%{_kernelsrcdir}\\\
114 --with-linux-obj=%{_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}
129 %{__aclocal} -I config
133 %{?with_kernel:%{expand:%build_kernel_packages}}
135 %if %{with userspace}
137 --disable-silent-rules \
145 rm -rf $RPM_BUILD_ROOT
148 install -d $RPM_BUILD_ROOT
149 cp -a installed/* $RPM_BUILD_ROOT
152 %if %{with userspace}
154 DESTDIR=$RPM_BUILD_ROOT
158 rm -rf $RPM_BUILD_ROOT
160 %if %{with userspace}
162 %defattr(644,root,root,755)
163 %doc AUTHORS DISCLAIMER
164 %attr(755,root,root) %{_bindir}/splslab.py
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