]> git.pld-linux.org Git - packages/zfs.git/blob - zfs.spec
- up to 0.7.3
[packages/zfs.git] / zfs.spec
1 # TODO:
2 # - PLDify init script
3 # - unpackaged initramfs-tools support:
4 #   /usr/share/initramfs-tools/conf-hooks.d/zfs
5 #   /usr/share/initramfs-tools/hooks/zfs
6 #   /usr/share/initramfs-tools/scripts/zfs
7 #
8 # Conditional build:
9 %bcond_without  kernel          # don't build kernel modules
10 %bcond_without  userspace       # don't build userspace programs
11 %bcond_with     verbose         # verbose build (V=1)
12 #
13 # The goal here is to have main, userspace, package built once with
14 # simple release number, and only rebuild kernel packages with kernel
15 # version as part of release number, without the need to bump release
16 # with every kernel change.
17 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
18 %{error:kernel and userspace cannot be built at the same time on PLD builders}
19 exit 1
20 %endif
21
22 %if %{without userspace}
23 # nothing to be placed to debuginfo package
24 %define         _enable_debug_packages  0
25 %endif
26
27 %define         _duplicate_files_terminate_build        0
28
29 %define rel     1
30 %define pname   zfs
31 Summary:        Native Linux port of the ZFS filesystem
32 Summary(pl.UTF-8):      Natywny linuksowy port systemu plików ZFS
33 Name:           %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
34 Version:        0.7.3
35 Release:        %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
36 License:        CDDL (ZFS), GPL v2+ (ZPIOS)
37 Group:          Applications/System
38 Source0:        https://github.com/zfsonlinux/zfs/releases/download/zfs-%{version}/%{pname}-%{version}.tar.gz
39 # Source0-md5:  9c8ec99955c7166cc8bf8676df5085bd
40 Patch0:         %{pname}-link.patch
41 Patch1:         x32.patch
42 URL:            http://zfsonlinux.org/
43 BuildRequires:  autoconf >= 2.50
44 BuildRequires:  automake
45 BuildRequires:  libtool
46 BuildRequires:  rpmbuild(macros) >= 1.701
47 %if %{with kernel}
48 %{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}
49 %{expand:%buildrequires_kernel kernel%%{_alt_kernel}-spl-devel >= 0.6.3}
50 %endif
51 %if %{with userspace}
52 BuildRequires:  libblkid-devel
53 BuildRequires:  libselinux-devel
54 BuildRequires:  libuuid-devel
55 BuildRequires:  zlib-devel
56 %endif
57 Requires:       %{pname}-libs = %{version}-%{release}
58 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59
60 %define         dracutlibdir    %{_prefix}/lib/dracut
61
62 %description
63 ZFS is an advanced file system and volume manager which was originally
64 developed for Solaris and is now maintained by the Illumos community.
65
66 ZFS on Linux, which is also known as ZoL, is currently feature
67 complete. It includes fully functional and stable SPA, DMU, ZVOL, and
68 ZPL layers.
69
70 %description -l pl.UTF-8
71 ZFS to zaawansowany system plików i zarządca wolumenów, oryginalnie
72 stworzony dla Solarisa, obecnie utrzymywany przez społeczność Illumos.
73
74 ZFS dla Linuksa, znany takża jako ZoL (ZFS on Linux), jest obecnie w
75 pełni funkcjonalny. Zawiera w pełni funkcjonalne i stabilne warstwy
76 SPA, DMU, ZVOL i ZPL.
77
78 %package libs
79 Summary:        ZFS on Linux libraries
80 Summary(pl.UTF-8):      Biblioteki ZFS-a dla Linuksa
81 License:        CDDL
82 Group:          Libraries
83 Requires(post,postun):  /sbin/ldconfig
84
85 %description libs
86 ZFS on Linux libraries.
87
88 %description libs -l pl.UTF-8
89 Biblioteki ZFS-a dla Linuksa.
90
91 %package devel
92 Summary:        Header files for ZFS libraries
93 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek ZFS-a
94 License:        CDDL
95 Group:          Development/Libraries
96 Requires:       %{pname}-libs = %{version}-%{release}
97 Requires:       libselinux-devel
98 Requires:       libuuid-devel
99 Requires:       zlib-devel
100
101 %description devel
102 Header files for ZFS libraries.
103
104 %description devel -l pl.UTF-8
105 Pliki nagłówkowe bibliotek ZFS-a.
106
107 %package static
108 Summary:        Static ZFS libraries
109 Summary(pl.UTF-8):      Statyczne biblioteki ZFS-a
110 License:        CDDL
111 Group:          Development/Libraries
112 Requires:       %{pname}-devel = %{version}-%{release}
113
114 %description static
115 Static ZFS libraries.
116
117 %description static -l pl.UTF-8
118 Statyczne biblioteki ZFS-a.
119
120 %package -n dracut-zfs
121 Summary:        ZFS support for Dracut
122 Summary(pl.UTF-8):      Obsługa ZFS-a dla Dracuta
123 Group:          Applications/System
124 Requires:       %{pname} = %{version}-%{release}
125 Requires:       dracut
126
127 %description -n dracut-zfs
128 ZFS support for Dracut.
129
130 %description -n dracut-zfs -l pl.UTF-8
131 Obsługa ZFS-a dla Dracuta.
132
133 %package -n kernel-zfs-common-devel
134 Summary:        ZFS Linux kernel headers
135 Summary(pl.UTF-8):      ZFS - pliki nagłówkowe jądra Linuksa
136 Group:          Development/Building
137
138 %description -n kernel-zfs-common-devel
139 ZFS Linux kernel headers common for all PLD kernel versions.
140
141 %description -n kernel-zfs-common-devel -l pl.UTF-8
142 ZFS - pliki nagłówkowe jądra Linuksa wspólne na wszystkich
143 wersji jąder PLD.
144
145 %define kernel_pkg()\
146 %package -n kernel%{_alt_kernel}-zfs\
147 Summary:        ZFS Linux kernel modules\
148 Summary(pl.UTF-8):      ZFS - moduły jądra Linuksa\
149 Release:        %{rel}@%{_kernel_ver_str}\
150 Group:          Base/Kernel\
151 Requires(post,postun):  /sbin/depmod\
152 %requires_releq_kernel\
153 Requires(postun):       %releq_kernel\
154 \
155 %description -n kernel%{_alt_kernel}-zfs\
156 ZFS Linux kernel modules.\
157 \
158 %description -n kernel%{_alt_kernel}-zfs -l pl.UTF-8\
159 ZFS - moduły jądra Linuksa.\
160 \
161 %package -n kernel%{_alt_kernel}-zfs-devel\
162 Summary:        ZFS Linux kernel headers\
163 Summary(pl.UTF-8):      ZFS - pliki nagłówkowe jądra Linuksa\
164 Release:        %{rel}@%{_kernel_ver_str}\
165 Group:          Development/Building\
166 Requires:       kernel%{_alt_kernel}-headers\
167 Requires:       kernel-zfs-common-devel\
168 \
169 %description -n kernel%{_alt_kernel}-zfs-devel\
170 ZFS Linux kernel headers configured for PLD kernel%{_alt_kernel},\
171 version %{_kernel_ver}.\
172 \
173 %description -n kernel%{_alt_kernel}-zfs-devel -l pl.UTF-8\
174 ZFS - pliki nagłówkowe jądra Linuksa skonfigurowane dla jądra PLD z\
175 pakietu kernel%{_alt_kernel} w wersji %{_kernel_ver}.\
176 \
177 %files -n kernel%{_alt_kernel}-zfs\
178 %defattr(644,root,root,755)\
179 %dir /lib/modules/%{_kernel_ver}/misc/avl\
180 /lib/modules/%{_kernel_ver}/misc/avl/zavl.ko*\
181 %dir /lib/modules/%{_kernel_ver}/misc/icp\
182 /lib/modules/%{_kernel_ver}/misc/icp/icp.ko*\
183 %dir /lib/modules/%{_kernel_ver}/misc/nvpair\
184 /lib/modules/%{_kernel_ver}/misc/nvpair/znvpair.ko*\
185 %dir /lib/modules/%{_kernel_ver}/misc/unicode\
186 /lib/modules/%{_kernel_ver}/misc/unicode/zunicode.ko*\
187 %dir /lib/modules/%{_kernel_ver}/misc/zcommon\
188 /lib/modules/%{_kernel_ver}/misc/zcommon/zcommon.ko*\
189 %dir /lib/modules/%{_kernel_ver}/misc/zfs\
190 /lib/modules/%{_kernel_ver}/misc/zfs/zfs.ko*\
191 %dir /lib/modules/%{_kernel_ver}/misc/zpios\
192 /lib/modules/%{_kernel_ver}/misc/zpios/zpios.ko*\
193 \
194 %files -n kernel%{_alt_kernel}-zfs-devel\
195 %defattr(644,root,root,755)\
196 /usr/src/zfs-%{version}/%{_kernel_ver}\
197 \
198 %post   -n kernel%{_alt_kernel}-zfs\
199 %depmod %{_kernel_ver}\
200 \
201 %postun -n kernel%{_alt_kernel}-zfs\
202 %depmod %{_kernel_ver}\
203 %{nil}
204
205 %define build_kernel_pkg()\
206 %configure \\\
207         --disable-silent-rules \\\
208         --with-config="kernel" \\\
209         --with-linux=%{_kernelsrcdir}\\\
210         --with-linux-obj=%{_kernelsrcdir}\
211 \
212 %{__make} clean\
213 %{__make} %{?with_verbose:V=1}\
214 p=`pwd`\
215 %{__make} install DESTDIR=$p/installed INSTALL_MOD_DIR=misc\
216 %{nil}
217
218 %{?with_kernel:%{expand:%create_kernel_packages}}
219
220 %prep
221 %setup -q -n %{pname}-%{version}
222 %patch0 -p1
223 %patch1 -p1
224
225 %build
226 %{__libtoolize}
227 %{__aclocal} -I config
228 %{__autoconf}
229 %{__autoheader}
230 %{__automake}
231 %{?with_kernel:%{expand:%build_kernel_packages}}
232
233 %if %{with userspace}
234 %configure \
235         --disable-silent-rules \
236         --with-config="user" \
237         --with-linux=%{_kernelsrcdir} \
238         --with-systemdunitdir=%{systemdunitdir} \
239         --with-systemdpresetdir=/etc/systemd/system-preset \
240         --with-udevdir=/lib/udev
241
242 %{__make} \
243         %{?with_verbose:V=1}
244 %endif
245
246 %install
247 rm -rf $RPM_BUILD_ROOT
248
249 %if %{with kernel}
250 install -d $RPM_BUILD_ROOT
251 cp -a installed/* $RPM_BUILD_ROOT
252 %endif
253
254 %if %{with userspace}
255 %{__make} install \
256         DESTDIR=$RPM_BUILD_ROOT \
257         DEFAULT_INIT_DIR=/etc/rc.d/init.d
258
259 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
260 %{__mv} $RPM_BUILD_ROOT%{_npkgconfigdir}/* $RPM_BUILD_ROOT%{_pkgconfigdir}
261
262 # Package these? These are integration tests of the implementation.
263 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/zfs/{zfs-tests,test-runner,runfiles}
264 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{raidz_test,test-runner}.1*
265 %{__rm} $RPM_BUILD_ROOT%{_bindir}/raidz_test
266 %endif
267
268 %clean
269 rm -rf $RPM_BUILD_ROOT
270
271 %post   libs -p /sbin/ldconfig
272 %postun libs -p /sbin/ldconfig
273
274 %if %{with userspace}
275 %files
276 %defattr(644,root,root,755)
277 %doc AUTHORS COPYRIGHT DISCLAIMER OPENSOLARIS.LICENSE README.markdown
278 %attr(755,root,root) /sbin/mount.zfs
279 %attr(755,root,root) %{_bindir}/arc_summary.py
280 %attr(755,root,root) %{_bindir}/arcstat.py
281 %attr(755,root,root) %{_bindir}/dbufstat.py
282 %attr(755,root,root) %{_bindir}/zgenhostid
283 %attr(755,root,root) %{_sbindir}/fsck.zfs
284 %attr(755,root,root) %{_sbindir}/zdb
285 %attr(755,root,root) %{_sbindir}/zed
286 %attr(755,root,root) %{_sbindir}/zfs
287 %attr(755,root,root) %{_sbindir}/zhack
288 %attr(755,root,root) %{_sbindir}/zinject
289 %attr(755,root,root) %{_sbindir}/zpios
290 %attr(755,root,root) %{_sbindir}/zpool
291 %attr(755,root,root) %{_sbindir}/zstreamdump
292 %attr(755,root,root) %{_sbindir}/ztest
293 %dir %{_sysconfdir}/zfs
294 # package *.example as %doc? (they cannot act as default configuration)
295 %{_sysconfdir}/zfs/vdev_id.conf.*.example
296 %dir %{_sysconfdir}/zfs/zed.d
297 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zfs/zed.d/*.sh
298 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zfs/zed.d/zed.rc
299 %dir %{_sysconfdir}/zfs/zpool.d
300 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zfs/zpool.d/*
301 %attr(754,root,root) /etc/rc.d/init.d/zfs-import
302 %attr(754,root,root) /etc/rc.d/init.d/zfs-mount
303 %attr(754,root,root) /etc/rc.d/init.d/zfs-share
304 %attr(754,root,root) /etc/rc.d/init.d/zfs-zed
305 %config(noreplace) %verify(not md5 mtime size) /etc/default/zfs
306 /etc/zfs/zfs-functions
307 /usr/lib/modules-load.d/zfs.conf
308 /etc/systemd/system-preset/50-zfs.preset
309 %{systemdunitdir}/zfs.target
310 %{systemdunitdir}/zfs-import-cache.service
311 %{systemdunitdir}/zfs-import-scan.service
312 %{systemdunitdir}/zfs-mount.service
313 %{systemdunitdir}/zfs-share.service
314 %{systemdunitdir}/zfs-zed.service
315 %attr(755,root,root) /lib/udev/vdev_id
316 %attr(755,root,root) /lib/udev/zvol_id
317 /lib/udev/rules.d/60-zvol.rules
318 /lib/udev/rules.d/69-vdev.rules
319 /lib/udev/rules.d/90-zfs.rules
320 %dir %{_libdir}/zfs
321 %dir %{_libdir}/zfs/zed.d
322 %attr(755,root,root) %{_libdir}/zfs/zed.d/*.sh
323 %dir %{_libdir}/zfs/zpool.d
324 %attr(755,root,root) %{_libdir}/zfs/zpool.d/*
325 %dir %{_datadir}/zfs
326 %attr(755,root,root) %{_datadir}/zfs/*.sh
327 %dir %{_datadir}/zfs/zpios-profile
328 %attr(755,root,root) %{_datadir}/zfs/zpios-profile/*.sh
329 %dir %{_datadir}/zfs/zpios-test
330 %attr(755,root,root) %{_datadir}/zfs/zpios-test/*.sh
331 %dir %{_datadir}/zfs/zpool-config
332 %attr(755,root,root) %{_datadir}/zfs/zpool-config/*.sh
333 %{_mandir}/man1/zhack.1*
334 %{_mandir}/man1/zpios.1*
335 %{_mandir}/man1/ztest.1*
336 %{_mandir}/man5/vdev_id.conf.5*
337 %{_mandir}/man5/zfs-events.5*
338 %{_mandir}/man5/zfs-module-parameters.5*
339 %{_mandir}/man5/zpool-features.5*
340 %{_mandir}/man8/fsck.zfs.8*
341 %{_mandir}/man8/mount.zfs.8*
342 %{_mandir}/man8/vdev_id.8*
343 %{_mandir}/man8/zdb.8*
344 %{_mandir}/man8/zed.8*
345 %{_mandir}/man8/zfs.8*
346 %{_mandir}/man8/zgenhostid.8*
347 %{_mandir}/man8/zinject.8*
348 %{_mandir}/man8/zpool.8*
349 %{_mandir}/man8/zstreamdump.8*
350
351 %files libs
352 %defattr(644,root,root,755)
353 %attr(755,root,root) %{_libdir}/libnvpair.so.*.*.*
354 %attr(755,root,root) %ghost %{_libdir}/libnvpair.so.1
355 %attr(755,root,root) %{_libdir}/libuutil.so.*.*.*
356 %attr(755,root,root) %ghost %{_libdir}/libuutil.so.1
357 %attr(755,root,root) %{_libdir}/libzfs.so.*.*.*
358 %attr(755,root,root) %ghost %{_libdir}/libzfs.so.2
359 %attr(755,root,root) %{_libdir}/libzfs_core.so.*.*.*
360 %attr(755,root,root) %ghost %{_libdir}/libzfs_core.so.1
361 %attr(755,root,root) %{_libdir}/libzpool.so.*.*.*
362 %attr(755,root,root) %ghost %{_libdir}/libzpool.so.2
363
364 %files devel
365 %defattr(644,root,root,755)
366 %attr(755,root,root) %{_libdir}/libnvpair.so
367 %attr(755,root,root) %{_libdir}/libuutil.so
368 %attr(755,root,root) %{_libdir}/libzfs.so
369 %attr(755,root,root) %{_libdir}/libzfs_core.so
370 %attr(755,root,root) %{_libdir}/libzpool.so
371 %{_libdir}/libnvpair.la
372 %{_libdir}/libuutil.la
373 %{_libdir}/libzfs.la
374 %{_libdir}/libzfs_core.la
375 %{_libdir}/libzpool.la
376 %{_includedir}/libspl
377 %{_includedir}/libzfs
378 %{_pkgconfigdir}/libzfs.pc
379 %{_pkgconfigdir}/libzfs_core.pc
380
381 %files static
382 %defattr(644,root,root,755)
383 %{_libdir}/libnvpair.a
384 %{_libdir}/libuutil.a
385 %{_libdir}/libzfs.a
386 %{_libdir}/libzfs_core.a
387 %{_libdir}/libzpool.a
388
389 %files -n dracut-zfs
390 %defattr(644,root,root,755)
391 %doc contrib/dracut/README.dracut.markdown
392 %dir %{dracutlibdir}/modules.d/02zfsexpandknowledge
393 %attr(755,root,root) %{dracutlibdir}/modules.d/02zfsexpandknowledge/module-setup.sh
394 %dir %{dracutlibdir}/modules.d/90zfs
395 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/export-zfs.sh
396 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/module-setup.sh
397 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/mount-zfs.sh
398 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/parse-zfs.sh
399 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/zfs-generator.sh
400 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/zfs-lib.sh
401 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/zfs-needshutdown.sh
402 %endif
403
404 %if %{with kernel}
405 %files -n kernel-zfs-common-devel
406 %defattr(644,root,root,755)
407 %dir /usr/src/zfs-%{version}
408 /usr/src/zfs-%{version}/include
409 /usr/src/zfs-%{version}/zfs.release.in
410 /usr/src/zfs-%{version}/zfs_config.h.in
411 %endif
This page took 0.106507 seconds and 4 git commands to generate.