]> git.proxmox.com Git - mirror_zfs-debian.git/blame - rpm/generic/zfs.spec.in
Imported Upstream version 0.6.5.7
[mirror_zfs-debian.git] / rpm / generic / zfs.spec.in
CommitLineData
f3757573
BB
1%global _sbindir /sbin
2%global _libdir /%{_lib}
ea04106b
AX
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
f3757573 7%global _udevdir %{_prefix}/lib/udev
f3757573
BB
8%else
9%global _udevdir /lib/udev
ea04106b
AX
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
a08ee875 27%global _dracutdir %{_prefix}/share/dracut
f3757573 28%endif
ea04106b 29%endif
f3757573 30
e10b0808
AX
31# Set the default _initconfdir when undefined.
32%if %{undefined _initconfdir}
33%global _initconfdir /etc/sysconfig
34%endif
35
f3757573
BB
36%bcond_with debug
37%bcond_with blkid
ea04106b
AX
38%bcond_with systemd
39
40# Generic enable switch for systemd
41%if %{with systemd}
42%define _systemd 1
43%endif
f3757573 44
ea04106b
AX
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
f3757573
BB
61
62Name: @PACKAGE@
63Version: @VERSION@
64Release: @RELEASE@%{?dist}
65Summary: Commands to control the kernel modules and libraries
66
67Group: System Environment/Kernel
68License: @ZFS_META_LICENSE@
69URL: http://zfsonlinux.org/
70Source0: %{name}-%{version}.tar.gz
71BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
68a2e016 72Requires: spl = %{version}
ea04106b
AX
73Requires: libzpool2 = %{version}
74Requires: libnvpair1 = %{version}
75Requires: libuutil1 = %{version}
76Requires: libzfs2 = %{version}
a08ee875 77Requires: %{name}-kmod = %{version}
f3757573
BB
78Provides: %{name}-kmod-common = %{version}
79
ea04106b
AX
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.
82Conflicts: zfs-fuse
83
f3757573
BB
84%if 0%{?rhel}%{?fedora}%{?suse_version}
85BuildRequires: zlib-devel
86BuildRequires: libuuid-devel
87%if %{with blkid}
88BuildRequires: libblkid-devel
89%endif
f3757573 90%endif
ea04106b
AX
91%if 0%{?_systemd}
92Requires(post): systemd
93Requires(preun): systemd
94Requires(postun): systemd
95BuildRequires: systemd
96%endif
f3757573
BB
97
98%description
ea04106b
AX
99This package contains the ZFS command line utilities.
100
101%package -n libzpool2
102Summary: Native ZFS pool library for Linux
103Group: System Environment/Kernel
104
105%description -n libzpool2
106This package contains the zpool library, which provides support
107for managing zpools
108
109%post -n libzpool2 -p /sbin/ldconfig
110%postun -n libzpool2 -p /sbin/ldconfig
111
112%package -n libnvpair1
113Summary: Solaris name-value library for Linux
114Group: System Environment/Kernel
115
116%description -n libnvpair1
117This package contains routines for packing and unpacking name-value
118pairs. This functionality is used to portably transport data across
119process boundaries, between kernel and user space, and can be used
120to write self describing data structures on disk.
f3757573 121
ea04106b
AX
122%post -n libnvpair1 -p /sbin/ldconfig
123%postun -n libnvpair1 -p /sbin/ldconfig
124
125%package -n libuutil1
126Summary: Solaris userland utility library for Linux
127Group: System Environment/Kernel
128
129%description -n libuutil1
130This 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
144Summary: Native ZFS filesystem library for Linux
145Group: System Environment/Kernel
146
147%description -n libzfs2
148This 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
f3757573
BB
154Summary: Development headers
155Group: System Environment/Kernel
ea04106b
AX
156Requires: libzfs2 = %{version}
157Requires: libzpool2 = %{version}
158Requires: libnvpair1 = %{version}
159Requires: libuutil1 = %{version}
160Provides: libzpool2-devel
161Provides: libnvpair1-devel
162Provides: libuutil1-devel
163Obsoletes: zfs-devel
f3757573 164
ea04106b 165%description -n libzfs2-devel
f3757573
BB
166This package contains the header files needed for building additional
167applications against the ZFS libraries.
168
169%package test
170Summary: Test infrastructure
171Group: System Environment/Kernel
172Requires: %{name}%{?_isa} = %{version}-%{release}
173Requires: parted
174Requires: lsscsi
175Requires: mdadm
176Requires: bc
177
178%description test
179This package contains test infrastructure and support scripts for
180validating the file system.
181
182%package dracut
183Summary: Dracut module
184Group: System Environment/Kernel
185Requires: %{name}%{?_isa} = %{version}-%{release}
186Requires: dracut
187
188%description dracut
189This package contains a dracut module used to construct an initramfs
190image which is ZFS aware.
191
e10b0808
AX
192%if 0%{?_initramfs}
193%package initramfs
194Summary: Initramfs module
195Group: System Environment/Kernel
196Requires: %{name}%{?_isa} = %{version}-%{release}
197Requires: %{name} = %{version}-%{release}
198Requires: initramfs-tools
199
200%description initramfs
201This package contains a initramfs module used to construct an initramfs
202image which is ZFS aware.
203%endif
204
f3757573
BB
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
ea04106b
AX
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
f3757573
BB
221
222%setup -q
223
224%build
225%configure \
226 --with-config=user \
227 --with-udevdir=%{_udevdir} \
ea04106b 228 --with-udevruledir=%{_udevruledir} \
f3757573
BB
229 --with-dracutdir=%{_dracutdir} \
230 --disable-static \
231 %{debug} \
ea04106b
AX
232 %{blkid} \
233 %{systemd}
f3757573
BB
234make %{?_smp_mflags}
235
236%install
237%{__rm} -rf $RPM_BUILD_ROOT
238make install DESTDIR=%{?buildroot}
239find %{?buildroot}%{_libdir} -name '*.la' -exec rm -f {} \;
240
c06d4368 241%post
ea04106b
AX
242%if 0%{?_systemd}
243%systemd_post zfs.target
244%else
e10b0808
AX
245if [ -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
250fi
ea04106b 251%endif
c06d4368
AX
252exit 0
253
254%preun
ea04106b
AX
255%if 0%{?_systemd}
256%systemd_preun zfs.target
257%else
e10b0808
AX
258if [ $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
c06d4368 263fi
ea04106b 264%endif
c06d4368 265exit 0
f3757573 266
ea04106b
AX
267%postun
268%if 0%{?_systemd}
269%systemd_postun zfs.target
270%endif
f3757573
BB
271
272%files
f3757573 273%{_sbindir}/*
c06d4368 274%{_bindir}/*
ea04106b 275%{_libexecdir}/%{name}
f3757573
BB
276%{_mandir}/man1/*
277%{_mandir}/man5/*
278%{_mandir}/man8/*
279%{_udevdir}/vdev_id
280%{_udevdir}/zvol_id
281%{_udevdir}/rules.d/*
ea04106b
AX
282%if 0%{?_systemd}
283/usr/lib/modules-load.d/*
284%{_unitdir}/*
285%{_presetdir}/*
286%else
e10b0808
AX
287%config(noreplace) %{_sysconfdir}/init.d/*
288%config(noreplace) %{_initconfdir}/zfs
ea04106b 289%endif
e10b0808 290%config(noreplace) %{_sysconfdir}/%{name}
f3757573 291
ea04106b
AX
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
f3757573
BB
307%{_libdir}/*.so
308%{_includedir}/*
ea04106b
AX
309%doc AUTHORS COPYRIGHT DISCLAIMER
310%doc OPENSOLARIS.LICENSE README.markdown
f3757573
BB
311
312%files test
313%{_datadir}/%{name}
314
315%files dracut
e10b0808 316%doc contrib/dracut/README.dracut.markdown
f3757573
BB
317%{_dracutdir}/modules.d/*
318
e10b0808
AX
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
f3757573 329%changelog
5eacc075
AX
330* Thu May 12 2016 Ned Bass <bass6@llnl.gov> - 0.6.5.7-1
331- Fix user namespaces uid/gid mapping zfsonlinux/zfs#4177
332- Fix ZPL miswrite of default POSIX ACL zfsonlinux/zfs#4520
333- Linux 4.5 and 4.6 compatibility zfsonlinux/zfs#4537 zfsonlinux/zfs#4489
334- Ensure /dev/disk/by-partlabel gets correctly populated zfsonlinux/zfs#4517
335- Utilities now work reliably with newly created partitions zfsonlinux/zfs#3708
336- Import now reliably uses device names stored in label zfsonlinux/zfs#3043
337- Fix possible deadlock in zfs_secpolicy_write_perms ioctl zfsonlinux/zfs#4554
338- Fix inverted logic on none elevator comparison zfsonlinux/zfs#4507
339- Add 32 bit FS_IOC32_{GET|SET}FLAGS compat ioctls for PPC zfsonlinux/zfs#4477
4e820b5a
AX
340* Tue Mar 22 2016 Ned Bass <bass6@llnl.gov> - 0.6.5.6-1
341- Remove artificial architecture restrictions in packaging
342- Add support for s390[x] zfsonlinux/zfs#4425
343- Handle negative dentries in case insensitive filesystem zfsonlinux/zfs#4243
344- Fix casesensitivity=insensitive deadlock zfsonlinux/zfs#4136
345- Correctly parse zdb -R flag arguments zfsonlinux/zfs#4304
346- Fix lock order inversion with zvol_open() zfsonlinux/zfs#3681
347- Add support for asynchronous zvol minor operations zfsonlinux/zfs#2217
348- Make zvol minor functionality more robust zfsonlinux/zfs#4344
349- Prevent zpool_find_vdev() from truncating vdev path zfsonlinux/zfs#4312
350- Add -gLP to zpool subcommands for alt vdev names zfsonlinux/zfs#4341
351- Fix zpool list -v output for spares and log devices zfsonlinux/zfs#4313
4d815aed
AX
352* Wed Mar 9 2016 Ned Bass <bass6@llnl.gov> - 0.6.5.5-1
353- Linux 4.5 compatibility zfsonlinux/zfs#4228
354- Create working debuginfo packages on Red Hat zfsonlinux/zfs#4224
355- Make arc_summary.py and dbufstat.py compatible with python3
356- musl libc compatibility for option parsing zfsonlinux/zfs#4222
357- Prevent arc_c collapse and possible panic zfsonlinux/zfs#3904
358- Prevent duplicated xattr between SA and dir zfsonlinux/zfs#4153
359- Fix zsb->z_hold_mtx deadlock zfsonlinux/zfs#4106
360- Prevent SA header corruption zfsonlinux/zfs#4150
94a40997
AX
361* Fri Jan 8 2016 Ned Bass <bass6@llnl.gov> - 0.6.5.4-1
362- Linux 4.4 compat
363- Assorted stability fixes
364- Fixes for NFS-exported snapshots
365- Fix kernel warning in unlock_new_inode() and deadlock
366- Fix overflow in P2ROUNDUP_TYPED macro
367- Fix write performance issue due to bad zfs_dirty_data_max calculation
368- Fix builtin kernel builds
369- Fix deadlock during direct memory reclaim
e10b0808
AX
370* Tue Oct 13 2015 Ned Bass <bass6@llnl.gov> - 0.6.5.3-1
371- Don't import all visible pools in zfs-import init script zfsonlinux/zfs#3777
372- Fix use-after-free in vdev_disk_physio_completion zfsonlinux/zfs#3920
373- Fix avl_is_empty(&dn->dn_dbufs) assertion zfsonlinux/zfs#3865
374* Wed Sep 30 2015 Ned Bass <bass6@llnl.gov> - 0.6.5.2-1
375- Init script fixes zfsonlinux/zfs#3816
376- Fix uioskip crash when skip to end zfsonlinux/zfs#3806 zfsonlinux/zfs#3850
377- Userspace can trigger an assertion zfsonlinux/zfs#3792
378- Fix quota userused underflow bug zfsonlinux/zfs#3789
379- Fix performance regression from unwanted synchronous I/O zfsonlinux/zfs#3780
380- Fix deadlock during ARC reclaim zfsonlinux/zfs#3808 zfsonlinux/zfs#3834
381- Fix deadlock with zfs receive and clamscan zfsonlinux/zfs#3719
382- Allow NFS activity to defer snapshot unmounts zfsonlinux/zfs#3794
383- Linux 4.3 compatibility zfsonlinux/zfs#3799
384- Zed reload fixes zfsonlinux/zfs#3773
385- Fix PAX Patch/Grsec SLAB_USERCOPY panic zfsonlinux/zfs#3796
386- Always remove during dkms uninstall/update zfsonlinux/spl#476
387* Sat Sep 19 2015 Ned Bass <bass6@llnl.gov> - 0.6.5.1-1
388- Fix zvol corruption with TRIM/discard zfsonlinux/zfs#3798
389- Fix NULL as mount(2) syscall data parameter zfsonlinux/zfs#3804
390- Fix xattr=sa dataset property not honored zfsonlinux/zfs#3787
391* Fri Sep 11 2015 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.5-1
392- Released 0.6.5-1, detailed release notes are available at:
393- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.6.5
ea04106b
AX
394* Wed Apr 8 2015 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.4-1
395- Released 0.6.4-1
396* Thu Jun 12 2014 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.3-1
397- Released 0.6.3-1
c06d4368
AX
398* Wed Aug 21 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.2-1
399- Released 0.6.2-1
36c0b627
BB
400* Fri Mar 22 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.1-1
401- First official stable release.