]> git.pld-linux.org Git - packages/spl.git/blob - spl.spec
- fix build on linux 3.18
[packages/spl.git] / spl.spec
1 #
2 # Conditional build:
3 %bcond_without  dist_kernel     # allow non-distribution kernel
4 %bcond_without  kernel          # don't build kernel modules
5 %bcond_without  userspace       # don't build userspace programs
6 %bcond_with     verbose         # verbose build (V=1)
7 #
8 %if %{without kernel}
9 %undefine       with_dist_kernel
10 %endif
11
12 # The goal here is to have main, userspace, package built once with
13 # simple release number, and only rebuild kernel packages with kernel
14 # version as part of release number, without the need to bump release
15 # with every kernel change.
16 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
17 %{error:kernel and userspace cannot be built at the same time on PLD builders}
18 exit 1
19 %endif
20
21 %if "%{_alt_kernel}" != "%{nil}"
22 %if 0%{?build_kernels:1}
23 %{error:alt_kernel and build_kernels are mutually exclusive}
24 exit 1
25 %endif
26 %undefine       with_userspace
27 %global         _build_kernels          %{alt_kernel}
28 %else
29 %global         _build_kernels          %{?build_kernels:,%{?build_kernels}}
30 %endif
31
32 %if %{without userspace}
33 # nothing to be placed to debuginfo package
34 %define         _enable_debug_packages  0
35 %endif
36
37 %define         _duplicate_files_terminate_build        0
38
39 %define         kbrs    %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo "BuildRequires:kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2" ; done)
40 %define         kpkg    %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
41 %define         bkpkg   %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
42
43 %define         pname   spl
44 %define         rel     4
45 Summary:        Solaris Porting Layer
46 Summary(pl.UTF-8):      Solaris Porting Layer - warstwa do portowania kodu z Solarisa
47 Name:           %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
48 Version:        0.6.3
49 Release:        %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
50 License:        GPL v2+
51 Group:          Applications/System
52 Source0:        http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/%{pname}-%{version}.tar.gz
53 # Source0-md5:  8df6ce3c8f1d9af6526b36f5079cba59
54 Patch0:         linux-3.17.patch
55 Patch0:         linux-3.18.patch
56 URL:            http://zfsonlinux.org/
57 BuildRequires:  rpmbuild(macros) >= 1.678
58 %{?with_dist_kernel:%{expand:%kbrs}}
59 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60
61 %description
62 Solaris Porting Layer.
63
64 %description -l pl.UTF-8
65 Solaris Porting Layer - warstwa do portowania kodu z Solarisa.
66
67 %package -n kernel-spl-common-devel
68 Summary:        Solaris Porting Layer - Linux kernel headers
69 Summary(pl.UTF-8):      Solaris Porting Layer - pliki nagłówkowe jądra Linuksa
70 Group:          Development/Building
71
72 %description -n kernel-spl-common-devel
73 Solaris Porting Layer - Linux kernel headers common for all PLD
74 kernel versions.
75
76 %description -n kernel-spl-common-devel -l pl.UTF-8
77 Solaris Porting Layer - pliki nagłówkowe jądra Linuksa wspólne
78 dla wszystkich wersji jądrer PLD.
79
80 %define kernel_pkg()\
81 %package -n kernel%{_alt_kernel}-spl\
82 Summary:        Solaris Porting Layer - Linux kernel modules\
83 Summary(pl.UTF-8):      Solaris Porting Layer - moduły jądra Linuksa\
84 Release:        %{rel}@%{_kernel_ver_str}\
85 Group:          Base/Kernel\
86 Requires(post,postun):  /sbin/depmod\
87 %if %{with dist_kernel}\
88 %requires_releq_kernel\
89 Requires(postun):       %releq_kernel\
90 %endif\
91 \
92 %description -n kernel%{_alt_kernel}-spl\
93 Solaris Porting Layer - Linux kernel modules.\
94 \
95 %description -n kernel%{_alt_kernel}-spl -l pl.UTF-8\
96 Solaris Porting Layer - moduły jądra Linuksa.\
97 \
98 %package -n kernel%{_alt_kernel}-spl-devel\
99 Summary:        Solaris Porting Layer - Linux kernel headers\
100 Summary(pl.UTF-8):      Solaris Porting Layer - pliki nagłówkowe jądra Linuksa\
101 Release:        %{rel}@%{_kernel_ver_str}\
102 Group:          Development/Building\
103 %if %{with dist_kernel}\
104 Requires:       kernel%{_alt_kernel}-headers\
105 Requires:       kernel-spl-common-devel\
106 %endif\
107 \
108 %description -n kernel%{_alt_kernel}-spl-devel\
109 Solaris Porting Layer - Linux kernel headers configured for PLD\
110 kernel%{_alt_kernel}, version %{_kernel_ver}.\
111 \
112 %description -n kernel%{_alt_kernel}-spl-devel -l pl.UTF-8\
113 Solaris Porting Layer - pliki nagłówkowe jądra Linuksa skonfigurowane\
114 dla jądra PLD z pakietu kernel%{_alt_kernel} w wersji %{_kernel_ver}.\
115 \
116 %files -n kernel%{_alt_kernel}-spl\
117 %defattr(644,root,root,755)\
118 %dir /lib/modules/%{_kernel_ver}/misc/spl\
119 /lib/modules/%{_kernel_ver}/misc/spl/spl.ko*\
120 %dir /lib/modules/%{_kernel_ver}/misc/splat\
121 /lib/modules/%{_kernel_ver}/misc/splat/splat.ko*\
122 \
123 %files -n kernel%{_alt_kernel}-spl-devel\
124 %defattr(644,root,root,755)\
125 /usr/src/spl-%{version}/%{_kernel_ver}\
126 \
127 %post   -n kernel%{_alt_kernel}-spl\
128 %depmod %{_kernel_ver}\
129 \
130 %postun -n kernel%{_alt_kernel}-spl\
131 %depmod %{_kernel_ver}\
132 %{nil}
133
134 %define build_kernel_pkg()\
135 %configure \\\
136         --disable-silent-rules \\\
137         --with-config="kernel" \\\
138         --with-linux=%{_kernelsrcdir}\
139 \
140 %{__make} clean\
141 %{__make} %{?with_verbose:V=1}\
142 p=`pwd`\
143 %{__make} install DESTDIR=$p/installed INSTALL_MOD_DIR=misc\
144 %{nil}
145
146 %{?with_kernel:%{expand:%kpkg}}
147
148 %prep
149 %setup -q -n %{pname}-%{version}
150 %patch0 -p1
151 %patch1 -p1
152
153 %build
154 %{__aclocal} -I config
155 %{__autoconf}
156 %{__autoheader}
157 %{__automake}
158 %{?with_kernel:%{expand:%bkpkg}}
159
160 %if %{with userspace}
161 %configure \
162         --disable-silent-rules \
163         --with-config="user"
164
165 %{__make} \
166         %{?with_verbose:V=1}
167 %endif
168
169 %install
170 rm -rf $RPM_BUILD_ROOT
171
172 %if %{with kernel}
173 install -d $RPM_BUILD_ROOT
174 cp -a installed/* $RPM_BUILD_ROOT
175 %endif
176
177 %if %{with userspace}
178 %{__make} install \
179         DESTDIR=$RPM_BUILD_ROOT
180 %endif
181
182 %clean
183 rm -rf $RPM_BUILD_ROOT
184
185 %if %{with userspace}
186 %files
187 %defattr(644,root,root,755)
188 %doc AUTHORS DISCLAIMER
189 %attr(755,root,root) %{_sbindir}/splat
190 %{_mandir}/man1/splat.1*
191 %{_mandir}/man5/spl-module-parameters.5.gz
192 %endif
193
194 %if %{with kernel}
195 %files -n kernel-spl-common-devel
196 %defattr(644,root,root,755)
197 %dir /usr/src/spl-%{version}
198 /usr/src/spl-%{version}/spl*.in
199 /usr/src/spl-%{version}/include
200 %endif
This page took 0.087879 seconds and 4 git commands to generate.