]> git.proxmox.com Git - mirror_zfs-debian.git/blob - rpm/redhat/zfs.spec.in
Imported Upstream version 0.6.5.8
[mirror_zfs-debian.git] / rpm / redhat / zfs.spec.in
1 %global _sbindir /sbin
2 %global _libdir /%{_lib}
3
4 # Set the default udev directory based on distribution.
5 %if %{undefined _udevdir}
6 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 || 0%{?centos} >= 7
7 %global _udevdir %{_prefix}/lib/udev
8 %else
9 %global _udevdir /lib/udev
10 %endif
11 %endif
12
13 # Set the default udevrule directory based on distribution.
14 %if %{undefined _udevruledir}
15 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 || 0%{?centos} >= 7
16 %global _udevruledir %{_prefix}/lib/udev/rules.d
17 %else
18 %global _udevruledir /lib/udev/rules.d
19 %endif
20 %endif
21
22 # Set the default dracut directory based on distribution.
23 %if %{undefined _dracutdir}
24 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 || 0%{?centos} >= 7
25 %global _dracutdir %{_prefix}/lib/dracut
26 %else
27 %global _dracutdir %{_prefix}/share/dracut
28 %endif
29 %endif
30
31 # Set the default _initconfdir when undefined.
32 %if %{undefined _initconfdir}
33 %global _initconfdir /etc/sysconfig
34 %endif
35
36 %bcond_with debug
37 %bcond_with blkid
38 %bcond_with systemd
39
40 # Generic enable switch for systemd
41 %if %{with systemd}
42 %define _systemd 1
43 %endif
44
45 # RHEL >= 7 comes with systemd
46 %if 0%{?rhel} >= 7
47 %define _systemd 1
48 %endif
49
50 # Fedora >= 15 comes with systemd, but only >= 18 has
51 # the proper macros
52 %if 0%{?fedora} >= 18
53 %define _systemd 1
54 %endif
55
56 # opensuse >= 12.1 comes with systemd, but only >= 13.1
57 # has the proper macros
58 %if 0%{?suse_version} >= 1310
59 %define _systemd 1
60 %endif
61
62 Name: @PACKAGE@
63 Version: @VERSION@
64 Release: @RELEASE@%{?dist}
65 Summary: Commands to control the kernel modules and libraries
66
67 Group: System Environment/Kernel
68 License: @ZFS_META_LICENSE@
69 URL: http://zfsonlinux.org/
70 Source0: %{name}-%{version}.tar.gz
71 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
72 Requires: spl = %{version}
73 Requires: libzpool2 = %{version}
74 Requires: libnvpair1 = %{version}
75 Requires: libuutil1 = %{version}
76 Requires: libzfs2 = %{version}
77 Requires: %{name}-kmod = %{version}
78 Provides: %{name}-kmod-common = %{version}
79
80 # zfs-fuse provides the same commands and man pages that ZoL does. Renaming
81 # those on either side would conflict with all available documentation.
82 Conflicts: zfs-fuse
83
84 %if 0%{?rhel}%{?fedora}%{?suse_version}
85 BuildRequires: zlib-devel
86 BuildRequires: libuuid-devel
87 %if %{with blkid}
88 BuildRequires: libblkid-devel
89 %endif
90 %endif
91 %if 0%{?_systemd}
92 Requires(post): systemd
93 Requires(preun): systemd
94 Requires(postun): systemd
95 BuildRequires: systemd
96 %endif
97
98 %description
99 This package contains the ZFS command line utilities.
100
101 %package -n libzpool2
102 Summary: Native ZFS pool library for Linux
103 Group: System Environment/Kernel
104
105 %description -n libzpool2
106 This package contains the zpool library, which provides support
107 for managing zpools
108
109 %post -n libzpool2 -p /sbin/ldconfig
110 %postun -n libzpool2 -p /sbin/ldconfig
111
112 %package -n libnvpair1
113 Summary: Solaris name-value library for Linux
114 Group: System Environment/Kernel
115
116 %description -n libnvpair1
117 This package contains routines for packing and unpacking name-value
118 pairs. This functionality is used to portably transport data across
119 process boundaries, between kernel and user space, and can be used
120 to write self describing data structures on disk.
121
122 %post -n libnvpair1 -p /sbin/ldconfig
123 %postun -n libnvpair1 -p /sbin/ldconfig
124
125 %package -n libuutil1
126 Summary: Solaris userland utility library for Linux
127 Group: System Environment/Kernel
128
129 %description -n libuutil1
130 This library provides a variety of compatibility functions for ZFS on Linux:
131 * libspl: The Solaris Porting Layer userland library, which provides APIs
132 that make it possible to run Solaris user code in a Linux environment
133 with relatively minimal modification.
134 * libavl: The Adelson-Velskii Landis balanced binary tree manipulation
135 library.
136 * libefi: The Extensible Firmware Interface library for GUID disk
137 partitioning.
138 * libshare: NFS, SMB, and iSCSI service integration for ZFS.
139
140 %post -n libuutil1 -p /sbin/ldconfig
141 %postun -n libuutil1 -p /sbin/ldconfig
142
143 %package -n libzfs2
144 Summary: Native ZFS filesystem library for Linux
145 Group: System Environment/Kernel
146
147 %description -n libzfs2
148 This package provides support for managing ZFS filesystems
149
150 %post -n libzfs2 -p /sbin/ldconfig
151 %postun -n libzfs2 -p /sbin/ldconfig
152
153 %package -n libzfs2-devel
154 Summary: Development headers
155 Group: System Environment/Kernel
156 Requires: libzfs2 = %{version}
157 Requires: libzpool2 = %{version}
158 Requires: libnvpair1 = %{version}
159 Requires: libuutil1 = %{version}
160 Provides: libzpool2-devel
161 Provides: libnvpair1-devel
162 Provides: libuutil1-devel
163 Obsoletes: zfs-devel
164
165 %description -n libzfs2-devel
166 This package contains the header files needed for building additional
167 applications against the ZFS libraries.
168
169 %package test
170 Summary: Test infrastructure
171 Group: System Environment/Kernel
172 Requires: %{name}%{?_isa} = %{version}-%{release}
173 Requires: parted
174 Requires: lsscsi
175 Requires: mdadm
176 Requires: bc
177
178 %description test
179 This package contains test infrastructure and support scripts for
180 validating the file system.
181
182 %package dracut
183 Summary: Dracut module
184 Group: System Environment/Kernel
185 Requires: %{name}%{?_isa} = %{version}-%{release}
186 Requires: dracut
187
188 %description dracut
189 This package contains a dracut module used to construct an initramfs
190 image which is ZFS aware.
191
192 %if 0%{?_initramfs}
193 %package initramfs
194 Summary: Initramfs module
195 Group: System Environment/Kernel
196 Requires: %{name}%{?_isa} = %{version}-%{release}
197 Requires: %{name} = %{version}-%{release}
198 Requires: initramfs-tools
199
200 %description initramfs
201 This package contains a initramfs module used to construct an initramfs
202 image which is ZFS aware.
203 %endif
204
205 %prep
206 %if %{with debug}
207 %define debug --enable-debug
208 %else
209 %define debug --disable-debug
210 %endif
211 %if %{with blkid}
212 %define blkid --with-blkid
213 %else
214 %define blkid --without-blkid
215 %endif
216 %if 0%{?_systemd}
217 %define systemd --enable-systemd --with-systemdunitdir=%{_unitdir} --with-systemdpresetdir=%{_presetdir} --disable-sysvinit
218 %else
219 %define systemd --enable-sysvinit --disable-systemd
220 %endif
221
222 %setup -q
223
224 %build
225 %configure \
226 --with-config=user \
227 --with-udevdir=%{_udevdir} \
228 --with-udevruledir=%{_udevruledir} \
229 --with-dracutdir=%{_dracutdir} \
230 --disable-static \
231 %{debug} \
232 %{blkid} \
233 %{systemd}
234 make %{?_smp_mflags}
235
236 %install
237 %{__rm} -rf $RPM_BUILD_ROOT
238 make install DESTDIR=%{?buildroot}
239 find %{?buildroot}%{_libdir} -name '*.la' -exec rm -f {} \;
240
241 %post
242 %if 0%{?_systemd}
243 %systemd_post zfs.target
244 %else
245 if [ -x /sbin/chkconfig ]; then
246 /sbin/chkconfig --add zfs-import
247 /sbin/chkconfig --add zfs-mount
248 /sbin/chkconfig --add zfs-share
249 /sbin/chkconfig --add zfs-zed
250 fi
251 %endif
252 exit 0
253
254 %preun
255 %if 0%{?_systemd}
256 %systemd_preun zfs.target
257 %else
258 if [ $1 -eq 0 ] && [ -x /sbin/chkconfig ]; then
259 /sbin/chkconfig --del zfs-import
260 /sbin/chkconfig --del zfs-mount
261 /sbin/chkconfig --del zfs-share
262 /sbin/chkconfig --del zfs-zed
263 fi
264 %endif
265 exit 0
266
267 %postun
268 %if 0%{?_systemd}
269 %systemd_postun zfs.target
270 %endif
271
272 %files
273 %{_sbindir}/*
274 %{_bindir}/*
275 %{_libexecdir}/%{name}
276 %{_mandir}/man1/*
277 %{_mandir}/man5/*
278 %{_mandir}/man8/*
279 %{_udevdir}/vdev_id
280 %{_udevdir}/zvol_id
281 %{_udevdir}/rules.d/*
282 %if 0%{?_systemd}
283 /usr/lib/modules-load.d/*
284 %{_unitdir}/*
285 %{_presetdir}/*
286 %else
287 %config(noreplace) %{_sysconfdir}/init.d/*
288 %config(noreplace) %{_initconfdir}/zfs
289 %endif
290 %config(noreplace) %{_sysconfdir}/%{name}
291
292 %files -n libzpool2
293 %{_libdir}/libzpool.so.*
294
295 %files -n libnvpair1
296 %{_libdir}/libnvpair.so.*
297
298 %files -n libuutil1
299 %{_libdir}/libuutil.so.*
300
301 %files -n libzfs2
302 %{_libdir}/libzfs*.so.*
303
304 %files -n libzfs2-devel
305 %{_datadir}/pkgconfig/libzfs.pc
306 %{_datadir}/pkgconfig/libzfs_core.pc
307 %{_libdir}/*.so
308 %{_includedir}/*
309 %doc AUTHORS COPYRIGHT DISCLAIMER
310 %doc OPENSOLARIS.LICENSE README.markdown
311
312 %files test
313 %{_datadir}/%{name}
314
315 %files dracut
316 %doc contrib/dracut/README.dracut.markdown
317 %{_dracutdir}/modules.d/*
318
319 %if 0%{?_initramfs}
320 %files initramfs
321 %doc contrib/initramfs/README.initramfs.markdown
322 /usr/share/initramfs-tools/*
323 %else
324 # Since we're not building the initramfs package,
325 # ignore those files.
326 %exclude /usr/share/initramfs-tools
327 %endif
328
329 %changelog
330 * Fri Sep 9 2016 Ned Bass <bass6@llnl.gov> - 0.6.5.8-1
331 - Linux 4.6, 4.7 and 4.8 compatibility zfsonlinux/spl#549 zfsonlinux/spl#563 zfsonlinux/spl#565 zfsonlinux/spl#566 zfsonlinux/zfs#4664 zfsonlinux/zfs#4665 zfsonlinux/zfs#4717 zfsonlinux/zfs#4726 zfsonlinux/zfs#4892 zfsonlinux/zfs#4899 zfsonlinux/zfs#4922 zfsonlinux/zfs#4944 zfsonlinux/zfs#4946 zfsonlinux/zfs#4951
332 - Fix new tunable to ignore hole_birth, enabled by default zfsonlinux/zfs#4833
333 - Fix rw_tryupgrade() semantics zfsonlinux/spl#534 zfsonlinux/spl#554
334 - Fix taskq_wait_outstanding() re-evaluation issue zfsonlinux/spl#553
335 - Fix race between taskq_destroy and new spawning thread zfsonlinux/spl#550 zfsonlinux/spl#553
336 - Fix handle NULL case in spl_kmem_free_track() zfsonlinux/spl#567
337 - Fix persist vdev_resilver_txg changes zfsonlinux/zfs#4790
338 - Fix array bounds read in zprop_print_one_property() zfsonlinux/zfs#5003
339 - Fix call zfs_get_name() with invalid parameter zfsonlinux/zfs#4919
340 - Fix incorrect pool state after import zfsonlinux/zfs#4948
341 - Fix self-healing IO prior to dsl_pool_init() completion zfsonlinux/zfs#4652
342 - Fix stack corruption after importing a pool with a too-long name zfsonlinux/zfs@dc4abb4
343 - Fix deeply nested nvlist can overflow stack zfsonlinux/zfs#4924
344 - Fix dbuf_stats_hash_table_data race zfsonlinux/zfs#4846
345 - Fix NULL dereference when accessing dbuf kstat zfsonlinux/zfs#4837
346 - Fix NFS fh_to_dentry() should return ESTALE when generation mismatch zfsonlinux/zfs#4828
347 - Fix allowing accessing XATTR via export handle zfsonlinux/zfs#4828
348 - Fix out-of-bound access in zfs_fillpage() zfsonlinux/zfs#4705 zfsonlinux/zfs#4708
349 - Fix memleak in zpl_parse_options zfsonlinux/zfs#4706 zfsonlinux/zfs#4708
350 - Fix arc_prune_task use-after-free zfsonlinux/zfs#4687 zfsonlinux/zfs#4690
351 - Fix get_zfs_sb() race with concurrent umount zfsonlinux/zfs@5cff9a0
352 - Fix xattr parent inode pinning zfsonlinux/zfs#4359 zfsonlinux/zfs#3508 zfsonlinux/zfs#4413 zfsonlinux/zfs#4827
353 - Fix xattr purge during iput zfsonlinux/zfs#4359 zfsonlinux/zfs#3508 zfsonlinux/zfs#4413 zfsonlinux/zfs#4827
354 - Fix metaslab_free_dva(): bad DVA X:Y:Z zfsonlinux/zfs#3937
355 - Fix large kmem_alloc in vdev_metaslab_init zfsonlinux/zfs#4752
356 - Fix snapdir by skipping ctldir znode in zfs_rezget zfsonlinux/zfs#4514 zfsonlinux/zfs#4661 zfsonlinux/zfs#4672
357 - Fix libshare performance issue zfsonlinux/zfs#4119
358 - Fix ztest truncated cache file zfsonlinux/zfs#4129
359 - Fix obeying arc_meta_limit default size when changing arc_max zfsonlinux/zfs#4001
360 - Fix bug in fix_paths() zfsonlinux/zfs#4632
361 - Fix systemd configuration zfsonlinux/zfs#4325 zfsonlinux/zfs#4496 zfsonlinux/zfs#4658 zfsonlinux/zfs#4699
362 - Fix use kernel provided mutex owner zfsonlinux/spl#540
363 - Fix rename 'zed.service' to 'zfs-zed.service' zfsonlinux/zfs#3837
364 - Add support for MIPS zfsonlinux/spl#558
365 - Add nfs-kernel-server for Debian zfsonlinux/zfs#4350
366 - Remove HAVE_CURRENT_UMASK and HAVE_POSIX_ACL_CACHING zfsonlinux/zfs#4922
367 - Remove dummy znode from zvol_state zfsonlinux/zfs#4510
368 - Fix gcc -Warray-bounds check for dump_object() in zdb zfsonlinux/zfs#4907
369 - Handle block pointers with a corrupt logical size zfsonlinux/zfs#4069 zfsonlinux/zfs#4080
370 * Thu May 12 2016 Ned Bass <bass6@llnl.gov> - 0.6.5.7-1
371 - Fix user namespaces uid/gid mapping zfsonlinux/zfs#4177
372 - Fix ZPL miswrite of default POSIX ACL zfsonlinux/zfs#4520
373 - Linux 4.5 and 4.6 compatibility zfsonlinux/zfs#4537 zfsonlinux/zfs#4489
374 - Ensure /dev/disk/by-partlabel gets correctly populated zfsonlinux/zfs#4517
375 - Utilities now work reliably with newly created partitions zfsonlinux/zfs#3708
376 - Import now reliably uses device names stored in label zfsonlinux/zfs#3043
377 - Fix possible deadlock in zfs_secpolicy_write_perms ioctl zfsonlinux/zfs#4554
378 - Fix inverted logic on none elevator comparison zfsonlinux/zfs#4507
379 - Add 32 bit FS_IOC32_{GET|SET}FLAGS compat ioctls for PPC zfsonlinux/zfs#4477
380 * Tue Mar 22 2016 Ned Bass <bass6@llnl.gov> - 0.6.5.6-1
381 - Remove artificial architecture restrictions in packaging
382 - Add support for s390[x] zfsonlinux/zfs#4425
383 - Handle negative dentries in case insensitive filesystem zfsonlinux/zfs#4243
384 - Fix casesensitivity=insensitive deadlock zfsonlinux/zfs#4136
385 - Correctly parse zdb -R flag arguments zfsonlinux/zfs#4304
386 - Fix lock order inversion with zvol_open() zfsonlinux/zfs#3681
387 - Add support for asynchronous zvol minor operations zfsonlinux/zfs#2217
388 - Make zvol minor functionality more robust zfsonlinux/zfs#4344
389 - Prevent zpool_find_vdev() from truncating vdev path zfsonlinux/zfs#4312
390 - Add -gLP to zpool subcommands for alt vdev names zfsonlinux/zfs#4341
391 - Fix zpool list -v output for spares and log devices zfsonlinux/zfs#4313
392 * Wed Mar 9 2016 Ned Bass <bass6@llnl.gov> - 0.6.5.5-1
393 - Linux 4.5 compatibility zfsonlinux/zfs#4228
394 - Create working debuginfo packages on Red Hat zfsonlinux/zfs#4224
395 - Make arc_summary.py and dbufstat.py compatible with python3
396 - musl libc compatibility for option parsing zfsonlinux/zfs#4222
397 - Prevent arc_c collapse and possible panic zfsonlinux/zfs#3904
398 - Prevent duplicated xattr between SA and dir zfsonlinux/zfs#4153
399 - Fix zsb->z_hold_mtx deadlock zfsonlinux/zfs#4106
400 - Prevent SA header corruption zfsonlinux/zfs#4150
401 * Fri Jan 8 2016 Ned Bass <bass6@llnl.gov> - 0.6.5.4-1
402 - Linux 4.4 compat
403 - Assorted stability fixes
404 - Fixes for NFS-exported snapshots
405 - Fix kernel warning in unlock_new_inode() and deadlock
406 - Fix overflow in P2ROUNDUP_TYPED macro
407 - Fix write performance issue due to bad zfs_dirty_data_max calculation
408 - Fix builtin kernel builds
409 - Fix deadlock during direct memory reclaim
410 * Tue Oct 13 2015 Ned Bass <bass6@llnl.gov> - 0.6.5.3-1
411 - Don't import all visible pools in zfs-import init script zfsonlinux/zfs#3777
412 - Fix use-after-free in vdev_disk_physio_completion zfsonlinux/zfs#3920
413 - Fix avl_is_empty(&dn->dn_dbufs) assertion zfsonlinux/zfs#3865
414 * Wed Sep 30 2015 Ned Bass <bass6@llnl.gov> - 0.6.5.2-1
415 - Init script fixes zfsonlinux/zfs#3816
416 - Fix uioskip crash when skip to end zfsonlinux/zfs#3806 zfsonlinux/zfs#3850
417 - Userspace can trigger an assertion zfsonlinux/zfs#3792
418 - Fix quota userused underflow bug zfsonlinux/zfs#3789
419 - Fix performance regression from unwanted synchronous I/O zfsonlinux/zfs#3780
420 - Fix deadlock during ARC reclaim zfsonlinux/zfs#3808 zfsonlinux/zfs#3834
421 - Fix deadlock with zfs receive and clamscan zfsonlinux/zfs#3719
422 - Allow NFS activity to defer snapshot unmounts zfsonlinux/zfs#3794
423 - Linux 4.3 compatibility zfsonlinux/zfs#3799
424 - Zed reload fixes zfsonlinux/zfs#3773
425 - Fix PAX Patch/Grsec SLAB_USERCOPY panic zfsonlinux/zfs#3796
426 - Always remove during dkms uninstall/update zfsonlinux/spl#476
427 * Sat Sep 19 2015 Ned Bass <bass6@llnl.gov> - 0.6.5.1-1
428 - Fix zvol corruption with TRIM/discard zfsonlinux/zfs#3798
429 - Fix NULL as mount(2) syscall data parameter zfsonlinux/zfs#3804
430 - Fix xattr=sa dataset property not honored zfsonlinux/zfs#3787
431 * Fri Sep 11 2015 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.5-1
432 - Released 0.6.5-1, detailed release notes are available at:
433 - https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.6.5
434 * Wed Apr 8 2015 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.4-1
435 - Released 0.6.4-1
436 * Thu Jun 12 2014 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.3-1
437 - Released 0.6.3-1
438 * Wed Aug 21 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.2-1
439 - Released 0.6.2-1
440 * Fri Mar 22 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.1-1
441 - First official stable release.