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