]>
Commit | Line | Data |
---|---|---|
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 | |
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) | |
68a2e016 | 72 | Requires: spl = %{version} |
ea04106b AX |
73 | Requires: libzpool2 = %{version} |
74 | Requires: libnvpair1 = %{version} | |
75 | Requires: libuutil1 = %{version} | |
76 | Requires: libzfs2 = %{version} | |
a08ee875 | 77 | Requires: %{name}-kmod = %{version} |
f3757573 BB |
78 | Provides: %{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. | |
82 | Conflicts: zfs-fuse | |
83 | ||
f3757573 BB |
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 | |
f3757573 | 90 | %endif |
ea04106b AX |
91 | %if 0%{?_systemd} |
92 | Requires(post): systemd | |
93 | Requires(preun): systemd | |
94 | Requires(postun): systemd | |
95 | BuildRequires: systemd | |
96 | %endif | |
f3757573 BB |
97 | |
98 | %description | |
ea04106b AX |
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. | |
f3757573 | 121 | |
ea04106b AX |
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 | |
f3757573 BB |
154 | Summary: Development headers |
155 | Group: System Environment/Kernel | |
ea04106b AX |
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 | |
f3757573 | 164 | |
ea04106b | 165 | %description -n libzfs2-devel |
f3757573 BB |
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 | ||
e10b0808 AX |
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 | ||
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 |
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 | ||
c06d4368 | 241 | %post |
ea04106b AX |
242 | %if 0%{?_systemd} |
243 | %systemd_post zfs.target | |
244 | %else | |
e10b0808 AX |
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 | |
ea04106b | 251 | %endif |
c06d4368 AX |
252 | exit 0 |
253 | ||
254 | %preun | |
ea04106b AX |
255 | %if 0%{?_systemd} |
256 | %systemd_preun zfs.target | |
257 | %else | |
e10b0808 AX |
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 | |
c06d4368 | 263 | fi |
ea04106b | 264 | %endif |
c06d4368 | 265 | exit 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. |