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