]>
Commit | Line | Data |
---|---|---|
465ece3e JB |
1 | # |
2 | # Conditional build: | |
465ece3e JB |
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) | |
6 | # | |
248e4e5f JR |
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} | |
13 | exit 1 | |
14 | %endif | |
15 | ||
465ece3e JB |
16 | %if %{without userspace} |
17 | # nothing to be placed to debuginfo package | |
18 | %define _enable_debug_packages 0 | |
19 | %endif | |
8535b998 | 20 | |
248e4e5f JR |
21 | %define _duplicate_files_terminate_build 0 |
22 | ||
248e4e5f | 23 | %define pname spl |
1f0a73c1 | 24 | %define rel 2 |
465ece3e JB |
25 | Summary: Solaris Porting Layer |
26 | Summary(pl.UTF-8): Solaris Porting Layer - warstwa do portowania kodu z Solarisa | |
248e4e5f | 27 | Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel} |
8678d9a1 | 28 | Version: 0.6.5.8 |
248e4e5f | 29 | Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}} |
465ece3e JB |
30 | License: GPL v2+ |
31 | Group: Applications/System | |
cf8ca1bb | 32 | Source0: https://github.com/zfsonlinux/zfs/releases/download/zfs-%{version}/%{pname}-%{version}.tar.gz |
8678d9a1 | 33 | # Source0-md5: 54b049cde051d0bd67f3f18ff58113c2 |
1f0a73c1 JR |
34 | Patch0: fix-crgetgroups-out-of-bound.patch |
35 | Patch1: fix-splat-cred.c-cred-usage.patch | |
36 | Patch2: linux-4.9.patch | |
465ece3e | 37 | URL: http://zfsonlinux.org/ |
35fe93cb JR |
38 | BuildRequires: rpmbuild(macros) >= 1.701 |
39 | %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}} | |
465ece3e JB |
40 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
41 | ||
42 | %description | |
43 | Solaris Porting Layer. | |
44 | ||
45 | %description -l pl.UTF-8 | |
46 | Solaris Porting Layer - warstwa do portowania kodu z Solarisa. | |
47 | ||
e4432ffc JR |
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 | |
52 | ||
53 | %description -n kernel-spl-common-devel | |
54 | Solaris Porting Layer - Linux kernel headers common for all PLD | |
55 | kernel versions. | |
56 | ||
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. | |
60 | ||
248e4e5f JR |
61 | %define kernel_pkg()\ |
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}\ | |
66 | Group: Base/Kernel\ | |
67 | Requires(post,postun): /sbin/depmod\ | |
248e4e5f JR |
68 | %requires_releq_kernel\ |
69 | Requires(postun): %releq_kernel\ | |
248e4e5f JR |
70 | \ |
71 | %description -n kernel%{_alt_kernel}-spl\ | |
72 | Solaris Porting Layer - Linux kernel modules.\ | |
73 | \ | |
74 | %description -n kernel%{_alt_kernel}-spl -l pl.UTF-8\ | |
75 | Solaris Porting Layer - moduły jądra Linuksa.\ | |
76 | \ | |
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\ | |
e4432ffc JR |
82 | Requires: kernel%{_alt_kernel}-headers\ |
83 | Requires: kernel-spl-common-devel\ | |
248e4e5f JR |
84 | \ |
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}.\ | |
88 | \ | |
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}.\ | |
92 | \ | |
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*\ | |
99 | \ | |
100 | %files -n kernel%{_alt_kernel}-spl-devel\ | |
101 | %defattr(644,root,root,755)\ | |
248e4e5f JR |
102 | /usr/src/spl-%{version}/%{_kernel_ver}\ |
103 | \ | |
104 | %post -n kernel%{_alt_kernel}-spl\ | |
105 | %depmod %{_kernel_ver}\ | |
106 | \ | |
107 | %postun -n kernel%{_alt_kernel}-spl\ | |
108 | %depmod %{_kernel_ver}\ | |
109 | %{nil} | |
110 | ||
111 | %define build_kernel_pkg()\ | |
112 | %configure \\\ | |
113 | --disable-silent-rules \\\ | |
114 | --with-config="kernel" \\\ | |
1f5a4f60 JR |
115 | --with-linux=%{_kernelsrcdir}\\\ |
116 | --with-linux-obj=%{_kernelsrcdir}\ | |
248e4e5f JR |
117 | \ |
118 | %{__make} clean\ | |
119 | %{__make} %{?with_verbose:V=1}\ | |
120 | p=`pwd`\ | |
88e4a4bf | 121 | %{__make} install DESTDIR=$p/installed INSTALL_MOD_DIR=misc\ |
248e4e5f JR |
122 | %{nil} |
123 | ||
35fe93cb | 124 | %{?with_kernel:%{expand:%create_kernel_packages}} |
465ece3e JB |
125 | |
126 | %prep | |
c59747d1 | 127 | %setup -q -n %{pname}-%{version} |
1f0a73c1 JR |
128 | %patch0 -p1 |
129 | %patch1 -p1 | |
130 | %patch2 -p1 | |
465ece3e JB |
131 | |
132 | %build | |
2a075b3b JR |
133 | %{__aclocal} -I config |
134 | %{__autoconf} | |
6d0372a6 | 135 | %{__autoheader} |
2a075b3b | 136 | %{__automake} |
35fe93cb | 137 | %{?with_kernel:%{expand:%build_kernel_packages}} |
248e4e5f JR |
138 | |
139 | %if %{with userspace} | |
465ece3e JB |
140 | %configure \ |
141 | --disable-silent-rules \ | |
248e4e5f | 142 | --with-config="user" |
465ece3e | 143 | |
ce3c5ca8 JB |
144 | %{__make} \ |
145 | %{?with_verbose:V=1} | |
248e4e5f | 146 | %endif |
465ece3e JB |
147 | |
148 | %install | |
149 | rm -rf $RPM_BUILD_ROOT | |
150 | ||
248e4e5f JR |
151 | %if %{with kernel} |
152 | install -d $RPM_BUILD_ROOT | |
153 | cp -a installed/* $RPM_BUILD_ROOT | |
154 | %endif | |
155 | ||
156 | %if %{with userspace} | |
465ece3e | 157 | %{__make} install \ |
248e4e5f JR |
158 | DESTDIR=$RPM_BUILD_ROOT |
159 | %endif | |
465ece3e JB |
160 | |
161 | %clean | |
162 | rm -rf $RPM_BUILD_ROOT | |
163 | ||
164 | %if %{with userspace} | |
165 | %files | |
166 | %defattr(644,root,root,755) | |
ce3c5ca8 | 167 | %doc AUTHORS DISCLAIMER |
465ece3e JB |
168 | %attr(755,root,root) %{_sbindir}/splat |
169 | %{_mandir}/man1/splat.1* | |
3e137c69 | 170 | %{_mandir}/man5/spl-module-parameters.5.gz |
465ece3e | 171 | %endif |
e4432ffc JR |
172 | |
173 | %if %{with kernel} | |
174 | %files -n kernel-spl-common-devel | |
175 | %defattr(644,root,root,755) | |
176 | %dir /usr/src/spl-%{version} | |
177 | /usr/src/spl-%{version}/spl*.in | |
178 | /usr/src/spl-%{version}/include | |
179 | %endif |