]> git.pld-linux.org Git - packages/zfs.git/blame_incremental - zfs.spec
- rel 0.1
[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 0.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.0
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: e1ed13c757ca5866550272263ec2e60e
40Patch0: %{pname}-link.patch
41Patch1: x32.patch
42URL: http://zfsonlinux.org/
43BuildRequires: autoconf >= 2.50
44BuildRequires: automake
45BuildRequires: libtool
46BuildRequires: rpmbuild(macros) >= 1.701
47%if %{with kernel}
48%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}
49%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-spl-devel >= 0.6.3}
50%endif
51%if %{with userspace}
52BuildRequires: libblkid-devel
53BuildRequires: libselinux-devel
54BuildRequires: libuuid-devel
55BuildRequires: zlib-devel
56%endif
57Requires: %{pname}-libs = %{version}-%{release}
58BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59
60%define dracutlibdir %{_prefix}/lib/dracut
61
62%description
63ZFS is an advanced file system and volume manager which was originally
64developed for Solaris and is now maintained by the Illumos community.
65
66ZFS on Linux, which is also known as ZoL, is currently feature
67complete. It includes fully functional and stable SPA, DMU, ZVOL, and
68ZPL layers.
69
70%description -l pl.UTF-8
71ZFS to zaawansowany system plików i zarządca wolumenów, oryginalnie
72stworzony dla Solarisa, obecnie utrzymywany przez społeczność Illumos.
73
74ZFS dla Linuksa, znany takża jako ZoL (ZFS on Linux), jest obecnie w
75pełni funkcjonalny. Zawiera w pełni funkcjonalne i stabilne warstwy
76SPA, DMU, ZVOL i ZPL.
77
78%package libs
79Summary: ZFS on Linux libraries
80Summary(pl.UTF-8): Biblioteki ZFS-a dla Linuksa
81License: CDDL
82Group: Libraries
83Requires(post,postun): /sbin/ldconfig
84
85%description libs
86ZFS on Linux libraries.
87
88%description libs -l pl.UTF-8
89Biblioteki ZFS-a dla Linuksa.
90
91%package devel
92Summary: Header files for ZFS libraries
93Summary(pl.UTF-8): Pliki nagłówkowe bibliotek ZFS-a
94License: CDDL
95Group: Development/Libraries
96Requires: %{pname}-libs = %{version}-%{release}
97Requires: libselinux-devel
98Requires: libuuid-devel
99Requires: zlib-devel
100
101%description devel
102Header files for ZFS libraries.
103
104%description devel -l pl.UTF-8
105Pliki nagłówkowe bibliotek ZFS-a.
106
107%package static
108Summary: Static ZFS libraries
109Summary(pl.UTF-8): Statyczne biblioteki ZFS-a
110License: CDDL
111Group: Development/Libraries
112Requires: %{pname}-devel = %{version}-%{release}
113
114%description static
115Static ZFS libraries.
116
117%description static -l pl.UTF-8
118Statyczne biblioteki ZFS-a.
119
120%package -n dracut-zfs
121Summary: ZFS support for Dracut
122Summary(pl.UTF-8): Obsługa ZFS-a dla Dracuta
123Group: Applications/System
124Requires: %{pname} = %{version}-%{release}
125Requires: dracut
126
127%description -n dracut-zfs
128ZFS support for Dracut.
129
130%description -n dracut-zfs -l pl.UTF-8
131Obsługa ZFS-a dla Dracuta.
132
133%package -n kernel-zfs-common-devel
134Summary: ZFS Linux kernel headers
135Summary(pl.UTF-8): ZFS - pliki nagłówkowe jądra Linuksa
136Group: Development/Building
137
138%description -n kernel-zfs-common-devel
139ZFS Linux kernel headers common for all PLD kernel versions.
140
141%description -n kernel-zfs-common-devel -l pl.UTF-8
142ZFS - pliki nagłówkowe jądra Linuksa wspólne na wszystkich
143wersji jąder PLD.
144
145%define kernel_pkg()\
146%package -n kernel%{_alt_kernel}-zfs\
147Summary: ZFS Linux kernel modules\
148Summary(pl.UTF-8): ZFS - moduły jądra Linuksa\
149Release: %{rel}@%{_kernel_ver_str}\
150Group: Base/Kernel\
151Requires(post,postun): /sbin/depmod\
152%requires_releq_kernel\
153Requires(postun): %releq_kernel\
154\
155%description -n kernel%{_alt_kernel}-zfs\
156ZFS Linux kernel modules.\
157\
158%description -n kernel%{_alt_kernel}-zfs -l pl.UTF-8\
159ZFS - moduły jądra Linuksa.\
160\
161%package -n kernel%{_alt_kernel}-zfs-devel\
162Summary: ZFS Linux kernel headers\
163Summary(pl.UTF-8): ZFS - pliki nagłówkowe jądra Linuksa\
164Release: %{rel}@%{_kernel_ver_str}\
165Group: Development/Building\
166Requires: kernel%{_alt_kernel}-headers\
167Requires: kernel-zfs-common-devel\
168\
169%description -n kernel%{_alt_kernel}-zfs-devel\
170ZFS Linux kernel headers configured for PLD kernel%{_alt_kernel},\
171version %{_kernel_ver}.\
172\
173%description -n kernel%{_alt_kernel}-zfs-devel -l pl.UTF-8\
174ZFS - pliki nagłówkowe jądra Linuksa skonfigurowane dla jądra PLD z\
175pakietu kernel%{_alt_kernel} w wersji %{_kernel_ver}.\
176\
177%files -n kernel%{_alt_kernel}-zfs\
178%defattr(644,root,root,755)\
179%dir /lib/modules/%{_kernel_ver}/misc/avl\
180/lib/modules/%{_kernel_ver}/misc/avl/zavl.ko*\
181%dir /lib/modules/%{_kernel_ver}/misc/icp\
182/lib/modules/%{_kernel_ver}/misc/icp/icp.ko*\
183%dir /lib/modules/%{_kernel_ver}/misc/nvpair\
184/lib/modules/%{_kernel_ver}/misc/nvpair/znvpair.ko*\
185%dir /lib/modules/%{_kernel_ver}/misc/unicode\
186/lib/modules/%{_kernel_ver}/misc/unicode/zunicode.ko*\
187%dir /lib/modules/%{_kernel_ver}/misc/zcommon\
188/lib/modules/%{_kernel_ver}/misc/zcommon/zcommon.ko*\
189%dir /lib/modules/%{_kernel_ver}/misc/zfs\
190/lib/modules/%{_kernel_ver}/misc/zfs/zfs.ko*\
191%dir /lib/modules/%{_kernel_ver}/misc/zpios\
192/lib/modules/%{_kernel_ver}/misc/zpios/zpios.ko*\
193\
194%files -n kernel%{_alt_kernel}-zfs-devel\
195%defattr(644,root,root,755)\
196/usr/src/zfs-%{version}/%{_kernel_ver}\
197\
198%post -n kernel%{_alt_kernel}-zfs\
199%depmod %{_kernel_ver}\
200\
201%postun -n kernel%{_alt_kernel}-zfs\
202%depmod %{_kernel_ver}\
203%{nil}
204
205%define build_kernel_pkg()\
206%configure \\\
207 --disable-silent-rules \\\
208 --with-config="kernel" \\\
209 --with-linux=%{_kernelsrcdir}\\\
210 --with-linux-obj=%{_kernelsrcdir}\
211\
212%{__make} clean\
213%{__make} %{?with_verbose:V=1}\
214p=`pwd`\
215%{__make} install DESTDIR=$p/installed INSTALL_MOD_DIR=misc\
216%{nil}
217
218%{?with_kernel:%{expand:%create_kernel_packages}}
219
220%prep
221%setup -q -n %{pname}-%{version}
222%patch0 -p1
223%patch1 -p1
224
225%build
226%{__libtoolize}
227%{__aclocal} -I config
228%{__autoconf}
229%{__autoheader}
230%{__automake}
231%{?with_kernel:%{expand:%build_kernel_packages}}
232
233%if %{with userspace}
234%configure \
235 --disable-silent-rules \
236 --with-config="user" \
237 --with-linux=%{_kernelsrcdir} \
238 --with-systemdunitdir=%{systemdunitdir} \
239 --with-systemdpresetdir=/etc/systemd/system-preset \
240 --with-udevdir=/lib/udev
241
242%{__make} \
243 %{?with_verbose:V=1}
244%endif
245
246%install
247rm -rf $RPM_BUILD_ROOT
248
249%if %{with kernel}
250install -d $RPM_BUILD_ROOT
251cp -a installed/* $RPM_BUILD_ROOT
252%endif
253
254%if %{with userspace}
255%{__make} install \
256 DESTDIR=$RPM_BUILD_ROOT \
257 DEFAULT_INIT_DIR=/etc/rc.d/init.d
258
259install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
260%{__mv} $RPM_BUILD_ROOT%{_npkgconfigdir}/* $RPM_BUILD_ROOT%{_pkgconfigdir}
261%endif
262
263%clean
264rm -rf $RPM_BUILD_ROOT
265
266%post libs -p /sbin/ldconfig
267%postun libs -p /sbin/ldconfig
268
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
274%attr(755,root,root) %{_bindir}/arc_summary.py
275%attr(755,root,root) %{_bindir}/arcstat.py
276%attr(755,root,root) %{_bindir}/dbufstat.py
277%attr(755,root,root) %{_sbindir}/fsck.zfs
278%attr(755,root,root) %{_sbindir}/zdb
279%attr(755,root,root) %{_sbindir}/zed
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
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
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
299/usr/lib/modules-load.d/zfs.conf
300/etc/systemd/system-preset/50-zfs.preset
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
306%{systemdunitdir}/zfs-zed.service
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
312%dir %{_libdir}/zfs
313%dir %{_libdir}/zfs/zed.d
314%attr(755,root,root) %{_libdir}/zfs/zed.d/*.sh
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*
327%{_mandir}/man5/zfs-events.5*
328%{_mandir}/man5/zfs-module-parameters.5*
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*
334%{_mandir}/man8/zed.8*
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.*.*.*
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
350%attr(755,root,root) %{_libdir}/libzpool.so.*.*.*
351%attr(755,root,root) %ghost %{_libdir}/libzpool.so.2
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
358%attr(755,root,root) %{_libdir}/libzfs_core.so
359%attr(755,root,root) %{_libdir}/libzpool.so
360%{_libdir}/libnvpair.la
361%{_libdir}/libuutil.la
362%{_libdir}/libzfs.la
363%{_libdir}/libzfs_core.la
364%{_libdir}/libzpool.la
365%{_includedir}/libspl
366%{_includedir}/libzfs
367%{_pkgconfigdir}/libzfs.pc
368%{_pkgconfigdir}/libzfs_core.pc
369
370%files static
371%defattr(644,root,root,755)
372%{_libdir}/libnvpair.a
373%{_libdir}/libuutil.a
374%{_libdir}/libzfs.a
375%{_libdir}/libzfs_core.a
376%{_libdir}/libzpool.a
377
378%files -n dracut-zfs
379%defattr(644,root,root,755)
380%doc contrib/dracut/README.dracut.markdown
381%dir %{dracutlibdir}/modules.d/90zfs
382%attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/export-zfs.sh
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
386%attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/zfs-lib.sh
387%endif
388
389%if %{with kernel}
390%files -n kernel-zfs-common-devel
391%defattr(644,root,root,755)
392%dir /usr/src/zfs-%{version}
393/usr/src/zfs-%{version}/include
394/usr/src/zfs-%{version}/zfs.release.in
395/usr/src/zfs-%{version}/zfs_config.h.in
396%endif
This page took 0.026015 seconds and 4 git commands to generate.