]> git.pld-linux.org Git - packages/zfs.git/blame_incremental - zfs.spec
- up to 0.7.5
[packages/zfs.git] / zfs.spec
... / ...
CommitLineData
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
7#
8# Conditional build:
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#
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
22%if %{without userspace}
23# nothing to be placed to debuginfo package
24%define _enable_debug_packages 0
25%endif
26
27%define _duplicate_files_terminate_build 0
28
29%define rel 1
30%define pname zfs
31Summary: Native Linux port of the ZFS filesystem
32Summary(pl.UTF-8): Natywny linuksowy port systemu plików ZFS
33Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
34Version: 0.7.5
35Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
36License: CDDL (ZFS), GPL v2+ (ZPIOS)
37Group: Applications/System
38Source0: https://github.com/zfsonlinux/zfs/releases/download/zfs-%{version}/%{pname}-%{version}.tar.gz
39# Source0-md5: 51c5dbef614120029491534375a5dd43
40Patch0: %{pname}-link.patch
41Patch1: x32.patch
42Patch2: xattr-in-glibc.patch
43URL: http://zfsonlinux.org/
44BuildRequires: autoconf >= 2.50
45BuildRequires: automake
46BuildRequires: libtool
47BuildRequires: rpmbuild(macros) >= 1.701
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
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
61%define dracutlibdir %{_prefix}/lib/dracut
62
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
84Requires(post,postun): /sbin/ldconfig
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
134%package -n kernel-zfs-common-devel
135Summary: ZFS Linux kernel headers
136Summary(pl.UTF-8): ZFS - pliki nagłówkowe jądra Linuksa
137Group: Development/Building
138
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\
153%requires_releq_kernel\
154Requires(postun): %releq_kernel\
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\
167Requires: kernel%{_alt_kernel}-headers\
168Requires: kernel-zfs-common-devel\
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/icp\
183/lib/modules/%{_kernel_ver}/misc/icp/icp.ko*\
184%dir /lib/modules/%{_kernel_ver}/misc/nvpair\
185/lib/modules/%{_kernel_ver}/misc/nvpair/znvpair.ko*\
186%dir /lib/modules/%{_kernel_ver}/misc/unicode\
187/lib/modules/%{_kernel_ver}/misc/unicode/zunicode.ko*\
188%dir /lib/modules/%{_kernel_ver}/misc/zcommon\
189/lib/modules/%{_kernel_ver}/misc/zcommon/zcommon.ko*\
190%dir /lib/modules/%{_kernel_ver}/misc/zfs\
191/lib/modules/%{_kernel_ver}/misc/zfs/zfs.ko*\
192%dir /lib/modules/%{_kernel_ver}/misc/zpios\
193/lib/modules/%{_kernel_ver}/misc/zpios/zpios.ko*\
194\
195%files -n kernel%{_alt_kernel}-zfs-devel\
196%defattr(644,root,root,755)\
197/usr/src/zfs-%{version}/%{_kernel_ver}\
198\
199%post -n kernel%{_alt_kernel}-zfs\
200%depmod %{_kernel_ver}\
201\
202%postun -n kernel%{_alt_kernel}-zfs\
203%depmod %{_kernel_ver}\
204%{nil}
205
206%define build_kernel_pkg()\
207%configure \\\
208 --disable-silent-rules \\\
209 --with-config="kernel" \\\
210 --with-linux=%{_kernelsrcdir}\\\
211 --with-linux-obj=%{_kernelsrcdir}\
212\
213%{__make} clean\
214%{__make} %{?with_verbose:V=1}\
215p=`pwd`\
216%{__make} install DESTDIR=$p/installed INSTALL_MOD_DIR=misc\
217%{nil}
218
219%{?with_kernel:%{expand:%create_kernel_packages}}
220
221%prep
222%setup -q -n %{pname}-%{version}
223%patch0 -p1
224%patch1 -p1
225%patch2 -p1
226
227%build
228%{__libtoolize}
229%{__aclocal} -I config
230%{__autoconf}
231%{__autoheader}
232%{__automake}
233%{?with_kernel:%{expand:%build_kernel_packages}}
234
235%if %{with userspace}
236%configure \
237 --disable-silent-rules \
238 --with-config="user" \
239 --with-linux=%{_kernelsrcdir} \
240 --with-systemdunitdir=%{systemdunitdir} \
241 --with-systemdpresetdir=/etc/systemd/system-preset \
242 --with-udevdir=/lib/udev
243
244%{__make} \
245 %{?with_verbose:V=1}
246%endif
247
248%install
249rm -rf $RPM_BUILD_ROOT
250
251%if %{with kernel}
252install -d $RPM_BUILD_ROOT
253cp -a installed/* $RPM_BUILD_ROOT
254%endif
255
256%if %{with userspace}
257%{__make} install \
258 DESTDIR=$RPM_BUILD_ROOT \
259 DEFAULT_INIT_DIR=/etc/rc.d/init.d
260
261install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
262%{__mv} $RPM_BUILD_ROOT%{_npkgconfigdir}/* $RPM_BUILD_ROOT%{_pkgconfigdir}
263
264# Package these? These are integration tests of the implementation.
265%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/zfs/{zfs-tests,test-runner,runfiles}
266%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{raidz_test,test-runner}.1*
267%{__rm} $RPM_BUILD_ROOT%{_bindir}/raidz_test
268%endif
269
270%clean
271rm -rf $RPM_BUILD_ROOT
272
273%post libs -p /sbin/ldconfig
274%postun libs -p /sbin/ldconfig
275
276%if %{with userspace}
277%files
278%defattr(644,root,root,755)
279%doc AUTHORS COPYRIGHT DISCLAIMER OPENSOLARIS.LICENSE README.markdown
280%attr(755,root,root) /sbin/mount.zfs
281%attr(755,root,root) %{_bindir}/arc_summary.py
282%attr(755,root,root) %{_bindir}/arcstat.py
283%attr(755,root,root) %{_bindir}/dbufstat.py
284%attr(755,root,root) %{_bindir}/zgenhostid
285%attr(755,root,root) %{_sbindir}/fsck.zfs
286%attr(755,root,root) %{_sbindir}/zdb
287%attr(755,root,root) %{_sbindir}/zed
288%attr(755,root,root) %{_sbindir}/zfs
289%attr(755,root,root) %{_sbindir}/zhack
290%attr(755,root,root) %{_sbindir}/zinject
291%attr(755,root,root) %{_sbindir}/zpios
292%attr(755,root,root) %{_sbindir}/zpool
293%attr(755,root,root) %{_sbindir}/zstreamdump
294%attr(755,root,root) %{_sbindir}/ztest
295%dir %{_sysconfdir}/zfs
296# package *.example as %doc? (they cannot act as default configuration)
297%{_sysconfdir}/zfs/vdev_id.conf.*.example
298%dir %{_sysconfdir}/zfs/zed.d
299%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zfs/zed.d/*.sh
300%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zfs/zed.d/zed.rc
301%dir %{_sysconfdir}/zfs/zpool.d
302%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zfs/zpool.d/*
303%attr(754,root,root) /etc/rc.d/init.d/zfs-import
304%attr(754,root,root) /etc/rc.d/init.d/zfs-mount
305%attr(754,root,root) /etc/rc.d/init.d/zfs-share
306%attr(754,root,root) /etc/rc.d/init.d/zfs-zed
307%config(noreplace) %verify(not md5 mtime size) /etc/default/zfs
308/etc/zfs/zfs-functions
309/usr/lib/modules-load.d/zfs.conf
310/etc/systemd/system-preset/50-zfs.preset
311%{systemdunitdir}/zfs.target
312%{systemdunitdir}/zfs-import-cache.service
313%{systemdunitdir}/zfs-import-scan.service
314%{systemdunitdir}/zfs-mount.service
315%{systemdunitdir}/zfs-share.service
316%{systemdunitdir}/zfs-zed.service
317%attr(755,root,root) /lib/udev/vdev_id
318%attr(755,root,root) /lib/udev/zvol_id
319/lib/udev/rules.d/60-zvol.rules
320/lib/udev/rules.d/69-vdev.rules
321/lib/udev/rules.d/90-zfs.rules
322%dir %{_libdir}/zfs
323%dir %{_libdir}/zfs/zed.d
324%attr(755,root,root) %{_libdir}/zfs/zed.d/*.sh
325%dir %{_libdir}/zfs/zpool.d
326%attr(755,root,root) %{_libdir}/zfs/zpool.d/*
327%dir %{_datadir}/zfs
328%attr(755,root,root) %{_datadir}/zfs/*.sh
329%dir %{_datadir}/zfs/zpios-profile
330%attr(755,root,root) %{_datadir}/zfs/zpios-profile/*.sh
331%dir %{_datadir}/zfs/zpios-test
332%attr(755,root,root) %{_datadir}/zfs/zpios-test/*.sh
333%dir %{_datadir}/zfs/zpool-config
334%attr(755,root,root) %{_datadir}/zfs/zpool-config/*.sh
335%{_mandir}/man1/zhack.1*
336%{_mandir}/man1/zpios.1*
337%{_mandir}/man1/ztest.1*
338%{_mandir}/man5/vdev_id.conf.5*
339%{_mandir}/man5/zfs-events.5*
340%{_mandir}/man5/zfs-module-parameters.5*
341%{_mandir}/man5/zpool-features.5*
342%{_mandir}/man8/fsck.zfs.8*
343%{_mandir}/man8/mount.zfs.8*
344%{_mandir}/man8/vdev_id.8*
345%{_mandir}/man8/zdb.8*
346%{_mandir}/man8/zed.8*
347%{_mandir}/man8/zfs.8*
348%{_mandir}/man8/zgenhostid.8*
349%{_mandir}/man8/zinject.8*
350%{_mandir}/man8/zpool.8*
351%{_mandir}/man8/zstreamdump.8*
352
353%files libs
354%defattr(644,root,root,755)
355%attr(755,root,root) %{_libdir}/libnvpair.so.*.*.*
356%attr(755,root,root) %ghost %{_libdir}/libnvpair.so.1
357%attr(755,root,root) %{_libdir}/libuutil.so.*.*.*
358%attr(755,root,root) %ghost %{_libdir}/libuutil.so.1
359%attr(755,root,root) %{_libdir}/libzfs.so.*.*.*
360%attr(755,root,root) %ghost %{_libdir}/libzfs.so.2
361%attr(755,root,root) %{_libdir}/libzfs_core.so.*.*.*
362%attr(755,root,root) %ghost %{_libdir}/libzfs_core.so.1
363%attr(755,root,root) %{_libdir}/libzpool.so.*.*.*
364%attr(755,root,root) %ghost %{_libdir}/libzpool.so.2
365
366%files devel
367%defattr(644,root,root,755)
368%attr(755,root,root) %{_libdir}/libnvpair.so
369%attr(755,root,root) %{_libdir}/libuutil.so
370%attr(755,root,root) %{_libdir}/libzfs.so
371%attr(755,root,root) %{_libdir}/libzfs_core.so
372%attr(755,root,root) %{_libdir}/libzpool.so
373%{_libdir}/libnvpair.la
374%{_libdir}/libuutil.la
375%{_libdir}/libzfs.la
376%{_libdir}/libzfs_core.la
377%{_libdir}/libzpool.la
378%{_includedir}/libspl
379%{_includedir}/libzfs
380%{_pkgconfigdir}/libzfs.pc
381%{_pkgconfigdir}/libzfs_core.pc
382
383%files static
384%defattr(644,root,root,755)
385%{_libdir}/libnvpair.a
386%{_libdir}/libuutil.a
387%{_libdir}/libzfs.a
388%{_libdir}/libzfs_core.a
389%{_libdir}/libzpool.a
390
391%files -n dracut-zfs
392%defattr(644,root,root,755)
393%doc contrib/dracut/README.dracut.markdown
394%dir %{dracutlibdir}/modules.d/02zfsexpandknowledge
395%attr(755,root,root) %{dracutlibdir}/modules.d/02zfsexpandknowledge/module-setup.sh
396%dir %{dracutlibdir}/modules.d/90zfs
397%attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/export-zfs.sh
398%attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/module-setup.sh
399%attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/mount-zfs.sh
400%attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/parse-zfs.sh
401%attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/zfs-generator.sh
402%attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/zfs-lib.sh
403%attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/zfs-needshutdown.sh
404%endif
405
406%if %{with kernel}
407%files -n kernel-zfs-common-devel
408%defattr(644,root,root,755)
409%dir /usr/src/zfs-%{version}
410/usr/src/zfs-%{version}/include
411/usr/src/zfs-%{version}/zfs.release.in
412/usr/src/zfs-%{version}/zfs_config.h.in
413%endif
This page took 0.06347 seconds and 4 git commands to generate.