]> git.pld-linux.org Git - packages/zfs.git/blobdiff - zfs.spec
- fixes for building with kernel 5.12, rel 2
[packages/zfs.git] / zfs.spec
index 0e9816e84ed8668702cb937cf67fb40bda37b8df..52cbe94cb68fe6c267579c3766e98d5c087467ae 100644 (file)
--- a/zfs.spec
+++ b/zfs.spec
@@ -1,9 +1,5 @@
 # TODO:
 # - PLDify init script
-# - unpackaged initramfs-tools support:
-#   /usr/share/initramfs-tools/conf-hooks.d/zfs
-#   /usr/share/initramfs-tools/hooks/zfs
-#   /usr/share/initramfs-tools/scripts/zfs
 #
 # Conditional build:
 %bcond_without kernel          # don't build kernel modules
@@ -28,23 +24,21 @@ exit 1
 
 %define                _duplicate_files_terminate_build        0
 
-%define        _rc     rc3
-%define        rel     0.%{_rc}.2
+%define        rel     2
 %define        pname   zfs
 Summary:       Native Linux port of the ZFS filesystem
 Summary(pl.UTF-8):     Natywny linuksowy port systemu plików ZFS
 Name:          %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
-Version:       0.8.0
+Version:       2.0.4
 Release:       %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
 License:       CDDL
 Group:         Applications/System
-#Source0:      https://github.com/zfsonlinux/zfs/releases/download/zfs-%{version}/%{pname}-%{version}.tar.gz
-Source0:       https://github.com/zfsonlinux/zfs/archive/zfs-%{version}-%{_rc}/%{pname}-%{version}-%{_rc}.tar.gz
-# Source0-md5: 430cd26a1d246029017e9250eb00f8f2
-Patch0:                x32.patch
+Source0:       https://github.com/openzfs/zfs/releases/download/zfs-%{version}/%{pname}-%{version}.tar.gz
+# Source0-md5: 33976ba76135d6fc6f67e767a7242bd6
+Patch0:                initdir.patch
 Patch1:                am.patch
-Patch2:                kernel-5.0.patch
-URL:           http://zfsonlinux.org/
+Patch2:                kernel-5.12.patch
+URL:           https://zfsonlinux.org/
 BuildRequires: autoconf >= 2.50
 BuildRequires: automake
 BuildRequires: libtool
@@ -53,19 +47,30 @@ BuildRequires:      rpmbuild(macros) >= 1.714
 %{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}
 %endif
 %if %{with userspace}
+# only for mmap_libaio test command
+#BuildRequires:        libaio-devel
 BuildRequires: libblkid-devel
 BuildRequires: libselinux-devel
+BuildRequires: libtirpc-devel
 BuildRequires: libuuid-devel
+BuildRequires: openssl-devel
+BuildRequires: pam-devel
+BuildRequires: pkgconfig
+BuildRequires: udev-devel
 BuildRequires: zlib-devel
 %if %{with python2}
-BuildRequires: rpm-pythonprov
-BuildRequires: python-modules
+BuildRequires: python-cffi
+BuildRequires: python-modules >= 1:2.6
 BuildRequires: python-setuptools
 %endif
 %if %{with python3}
-BuildRequires: python3-modules
+BuildRequires: python3-cffi
+BuildRequires: python3-modules >= 1:3.4
 BuildRequires: python3-setuptools
 %endif
+%if %{with python2} || %{with python3}
+BuildRequires: rpm-pythonprov
+%endif
 %endif
 Requires:      %{pname}-libs = %{version}-%{release}
 Obsoletes:     spl < 0.7.9-2
@@ -109,6 +114,7 @@ License:    CDDL
 Group:         Development/Libraries
 Requires:      %{pname}-libs = %{version}-%{release}
 Requires:      libselinux-devel
+Requires:      libtirpc-devel
 Requires:      libuuid-devel
 Requires:      zlib-devel
 
@@ -144,23 +150,44 @@ ZFS support for Dracut.
 %description -n dracut-zfs -l pl.UTF-8
 Obsługa ZFS-a dla Dracuta.
 
+%package -n pam-pam_zfs_key
+Summary:       PAM module to unlock ZFS datasets for user
+Summary(pl.UTF-8):     Moduł PAM do odblokowywania zbiorów danych ZFS dla użytkownika
+Group:         Libraries
+Requires:      %{pname}-libs = %{version}-%{release}
+Requires:      pam
+
+%description -n pam-pam_zfs_key
+PAM module to unlock ZFS datasets for user.
+
+%description -n pam-pam_zfs_key -l pl.UTF-8
+Moduł PAM do odblokowywania zbiorów danych ZFS dla użytkownika.
+
 %package -n python-pyzfs
-Summary:       Wrapper for libzfs_core C library
+Summary:       Python 2 wrapper for libzfs_core C library
+Summary(pl.UTF-8):     Interfejs Pythona 2 do biblioteki C libzfs_core
 License:       Apache v2.0
 Group:         Libraries/Python
 Requires:      %{pname}-libs = %{version}-%{release}
 
 %description -n python-pyzfs
-Wrapper for libzfs_core C library.
+Python 2 wrapper for libzfs_core C library.
+
+%description -n python-pyzfs -l pl.UTF-8
+Interfejs Pythona 2 do biblioteki C libzfs_core.
 
 %package -n python3-pyzfs
-Summary:       Wrapper for libzfs_core C library
+Summary:       Python 3 wrapper for libzfs_core C library
+Summary(pl.UTF-8):     Interfejs Pythona 3 do biblioteki C libzfs_core
 License:       Apache v2.0
 Group:         Libraries/Python
 Requires:      %{pname}-libs = %{version}-%{release}
 
 %description -n python3-pyzfs
-Wrapper for libzfs_core C library.
+Python 3 wrapper for libzfs_core C library.
+
+%description -n python3-pyzfs -l pl.UTF-8
+Interfejs Pythona 3 do biblioteki C libzfs_core.
 
 %package -n kernel-zfs-common-devel
 Summary:       ZFS Linux kernel headers
@@ -226,6 +253,8 @@ pakietu kernel%{_alt_kernel} w wersji %{_kernel_ver}.\
 /lib/modules/%{_kernel_ver}/misc/zcommon/zcommon.ko*\
 %dir /lib/modules/%{_kernel_ver}/misc/zfs\
 /lib/modules/%{_kernel_ver}/misc/zfs/zfs.ko*\
+%dir /lib/modules/%{_kernel_ver}/misc/zstd\
+/lib/modules/%{_kernel_ver}/misc/zstd/zzstd.ko*\
 \
 %files -n kernel%{_alt_kernel}-zfs-devel\
 %defattr(644,root,root,755)\
@@ -254,11 +283,27 @@ p=`pwd`\
 %{?with_kernel:%{expand:%create_kernel_packages}}
 
 %prep
-%setup -q -n %{pname}-zfs-%{version}-%{_rc}
+%setup -q -n %{pname}-%{version}
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 
+%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python2(\s|$),#!%{__python}\1,' \
+      cmd/arc_summary/arc_summary2
+
+%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python3(\s|$),#!%{__python3}\1,' \
+      cmd/arc_summary/arc_summary3
+
+%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+@PYTHON_SHEBANG@(\s|$),#!%{__python3}\1,' \
+      cmd/arcstat/arcstat.in \
+      cmd/dbufstat/dbufstat.in
+
+%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+bash(\s|$),#!/bin/bash\1,' \
+      contrib/dracut/02zfsexpandknowledge/module-setup.sh.in \
+      contrib/dracut/90zfs/module-setup.sh.in \
+      scripts/zimport.sh \
+      scripts/zloop.sh
+
 %build
 %{__libtoolize}
 %{__aclocal} -I config
@@ -270,8 +315,11 @@ p=`pwd`\
 %if %{with userspace}
 %configure \
        --disable-silent-rules \
+       --enable-pam \
+       --enable-systemd \
        --with-config="user" \
        --with-linux=%{_kernelsrcdir} \
+       --with-pammoduledir=/%{_lib}/security \
        --with-systemdunitdir=%{systemdunitdir} \
        --with-systemdpresetdir=/etc/systemd/system-preset \
        --with-systemdmodulesloaddir=/etc/modules-load.d \
@@ -323,19 +371,20 @@ cd ../..
 %endif
 
 %if %{with python3}
-%{__rm} -rf $RPM_BUILD_ROOT{%{py3_sitescriptdir},/usr/local/share/python3*}
+%{__rm} -r $RPM_BUILD_ROOT/usr/local/%{_lib}/python3*
 cd contrib/pyzfs
 %py3_install
 cd ../..
 %{__rm} -r $RPM_BUILD_ROOT%{py3_sitescriptdir}/libzfs_core/test
 %endif
 
-install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
-%{__mv} $RPM_BUILD_ROOT%{_npkgconfigdir}/* $RPM_BUILD_ROOT%{_pkgconfigdir}
-
 # Debian specific stuff
 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/initramfs-tools
 
+%{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_zfs_key.la
+# Ubuntu PAM config framework file
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/pam-configs/zfs_key
+
 # Package these? These are integration tests of the implementation.
 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/zfs/{zfs-tests,test-runner,runfiles}
 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{raidz_test,test-runner}.1*
@@ -351,19 +400,22 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with userspace}
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS COPYRIGHT LICENSE README.md
+%doc AUTHORS COPYRIGHT LICENSE NEWS NOTICE README.md
 %attr(755,root,root) /sbin/mount.zfs
 %attr(755,root,root) %{_bindir}/arc_summary
 %attr(755,root,root) %{_bindir}/arcstat
 %attr(755,root,root) %{_bindir}/dbufstat
-%attr(755,root,root) %{_bindir}/zgenhostid
+%attr(755,root,root) %{_bindir}/zvol_wait
 %attr(755,root,root) %{_sbindir}/fsck.zfs
 %attr(755,root,root) %{_sbindir}/zdb
 %attr(755,root,root) %{_sbindir}/zed
 %attr(755,root,root) %{_sbindir}/zfs
+%attr(755,root,root) %{_sbindir}/zfs_ids_to_path
+%attr(755,root,root) %{_sbindir}/zgenhostid
 %attr(755,root,root) %{_sbindir}/zhack
 %attr(755,root,root) %{_sbindir}/zinject
 %attr(755,root,root) %{_sbindir}/zpool
+%attr(755,root,root) %{_sbindir}/zstream
 %attr(755,root,root) %{_sbindir}/zstreamdump
 %attr(755,root,root) %{_sbindir}/ztest
 %dir %{_sysconfdir}/zfs
@@ -381,14 +433,19 @@ rm -rf $RPM_BUILD_ROOT
 %config(noreplace) %verify(not md5 mtime size) /etc/default/zfs
 /etc/zfs/zfs-functions
 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/zfs.conf
+# for zpool iostat/status -c smart
+#/ets/sudoers.d/zfs
 /etc/systemd/system-preset/50-zfs.preset
 /lib/systemd/system-generators/zfs-mount-generator
 %{systemdunitdir}/zfs.target
+%{systemdunitdir}/zfs-import.service
 %{systemdunitdir}/zfs-import.target
 %{systemdunitdir}/zfs-import-cache.service
 %{systemdunitdir}/zfs-import-scan.service
 %{systemdunitdir}/zfs-mount.service
 %{systemdunitdir}/zfs-share.service
+%{systemdunitdir}/zfs-volume-wait.service
+%{systemdunitdir}/zfs-volumes.target
 %{systemdunitdir}/zfs-zed.service
 %attr(755,root,root) /lib/udev/vdev_id
 %attr(755,root,root) /lib/udev/zvol_id
@@ -402,8 +459,10 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libexecdir}/zfs/zpool.d/*
 %dir %{_datadir}/zfs
 %attr(755,root,root) %{_datadir}/zfs/*.sh
+%{_mandir}/man1/arcstat.1*
 %{_mandir}/man1/zhack.1*
 %{_mandir}/man1/ztest.1*
+%{_mandir}/man1/zvol_wait.1*
 %{_mandir}/man5/spl-module-parameters.5*
 %{_mandir}/man5/vdev_id.conf.5*
 %{_mandir}/man5/zfs-events.5*
@@ -415,25 +474,99 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man8/zdb.8*
 %{_mandir}/man8/zed.8*
 %{_mandir}/man8/zfs.8*
+%{_mandir}/man8/zfs-allow.8*
+%{_mandir}/man8/zfs-bookmark.8*
+%{_mandir}/man8/zfs-change-key.8*
+%{_mandir}/man8/zfs-clone.8*
+%{_mandir}/man8/zfs-create.8*
+%{_mandir}/man8/zfs-destroy.8*
+%{_mandir}/man8/zfs-diff.8*
+%{_mandir}/man8/zfs-get.8*
+%{_mandir}/man8/zfs-groupspace.8*
+%{_mandir}/man8/zfs-hold.8*
+%{_mandir}/man8/zfs-inherit.8*
+%{_mandir}/man8/zfs-jail.8*
+%{_mandir}/man8/zfs-list.8*
+%{_mandir}/man8/zfs-load-key.8*
+%{_mandir}/man8/zfs-mount.8*
 %{_mandir}/man8/zfs-mount-generator.8*
 %{_mandir}/man8/zfs-program.8*
+%{_mandir}/man8/zfs-project.8*
+%{_mandir}/man8/zfs-projectspace.8*
+%{_mandir}/man8/zfs-promote.8*
+%{_mandir}/man8/zfs-receive.8*
+%{_mandir}/man8/zfs-recv.8*
+%{_mandir}/man8/zfs-redact.8*
+%{_mandir}/man8/zfs-release.8*
+%{_mandir}/man8/zfs-rename.8*
+%{_mandir}/man8/zfs-rollback.8*
+%{_mandir}/man8/zfs-send.8*
+%{_mandir}/man8/zfs-set.8*
+%{_mandir}/man8/zfs-share.8*
+%{_mandir}/man8/zfs-snapshot.8*
+%{_mandir}/man8/zfs-unallow.8*
+%{_mandir}/man8/zfs-unjail.8*
+%{_mandir}/man8/zfs-unload-key.8*
+%{_mandir}/man8/zfs-unmount.8*
+%{_mandir}/man8/zfs-upgrade.8*
+%{_mandir}/man8/zfs-userspace.8*
+%{_mandir}/man8/zfs-wait.8*
+%{_mandir}/man8/zfs_ids_to_path.8*
+%{_mandir}/man8/zfsconcepts.8*
+%{_mandir}/man8/zfsprops.8*
 %{_mandir}/man8/zgenhostid.8*
 %{_mandir}/man8/zinject.8*
 %{_mandir}/man8/zpool.8*
+%{_mandir}/man8/zpool-add.8*
+%{_mandir}/man8/zpool-attach.8*
+%{_mandir}/man8/zpool-checkpoint.8*
+%{_mandir}/man8/zpool-clear.8*
+%{_mandir}/man8/zpool-create.8*
+%{_mandir}/man8/zpool-destroy.8*
+%{_mandir}/man8/zpool-detach.8*
+%{_mandir}/man8/zpool-events.8*
+%{_mandir}/man8/zpool-export.8*
+%{_mandir}/man8/zpool-get.8*
+%{_mandir}/man8/zpool-history.8*
+%{_mandir}/man8/zpool-import.8*
+%{_mandir}/man8/zpool-initialize.8*
+%{_mandir}/man8/zpool-iostat.8*
+%{_mandir}/man8/zpool-labelclear.8*
+%{_mandir}/man8/zpool-list.8*
+%{_mandir}/man8/zpool-offline.8*
+%{_mandir}/man8/zpool-online.8*
+%{_mandir}/man8/zpool-reguid.8*
+%{_mandir}/man8/zpool-remove.8*
+%{_mandir}/man8/zpool-reopen.8*
+%{_mandir}/man8/zpool-replace.8*
+%{_mandir}/man8/zpool-resilver.8*
+%{_mandir}/man8/zpool-scrub.8*
+%{_mandir}/man8/zpool-set.8*
+%{_mandir}/man8/zpool-split.8*
+%{_mandir}/man8/zpool-status.8*
+%{_mandir}/man8/zpool-sync.8*
+%{_mandir}/man8/zpool-trim.8*
+%{_mandir}/man8/zpool-upgrade.8*
+%{_mandir}/man8/zpool-wait.8*
+%{_mandir}/man8/zpoolconcepts.8*
+%{_mandir}/man8/zpoolprops.8*
+%{_mandir}/man8/zstream.8*
 %{_mandir}/man8/zstreamdump.8*
 
 %files libs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libnvpair.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libnvpair.so.1
+%attr(755,root,root) %ghost %{_libdir}/libnvpair.so.3
 %attr(755,root,root) %{_libdir}/libuutil.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libuutil.so.1
+%attr(755,root,root) %ghost %{_libdir}/libuutil.so.3
 %attr(755,root,root) %{_libdir}/libzfs.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libzfs.so.2
+%attr(755,root,root) %ghost %{_libdir}/libzfs.so.4
 %attr(755,root,root) %{_libdir}/libzfs_core.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libzfs_core.so.1
+%attr(755,root,root) %ghost %{_libdir}/libzfs_core.so.3
+%attr(755,root,root) %{_libdir}/libzfsbootenv.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libzfsbootenv.so.1
 %attr(755,root,root) %{_libdir}/libzpool.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libzpool.so.2
+%attr(755,root,root) %ghost %{_libdir}/libzpool.so.4
 
 %files devel
 %defattr(644,root,root,755)
@@ -441,16 +574,19 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libuutil.so
 %attr(755,root,root) %{_libdir}/libzfs.so
 %attr(755,root,root) %{_libdir}/libzfs_core.so
+%attr(755,root,root) %{_libdir}/libzfsbootenv.so
 %attr(755,root,root) %{_libdir}/libzpool.so
 %{_libdir}/libnvpair.la
 %{_libdir}/libuutil.la
 %{_libdir}/libzfs.la
 %{_libdir}/libzfs_core.la
+%{_libdir}/libzfsbootenv.la
 %{_libdir}/libzpool.la
 %{_includedir}/libspl
 %{_includedir}/libzfs
 %{_pkgconfigdir}/libzfs.pc
 %{_pkgconfigdir}/libzfs_core.pc
+%{_pkgconfigdir}/libzfsbootenv.pc
 
 %files static
 %defattr(644,root,root,755)
@@ -458,6 +594,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libuutil.a
 %{_libdir}/libzfs.a
 %{_libdir}/libzfs_core.a
+%{_libdir}/libzfsbootenv.a
 %{_libdir}/libzpool.a
 
 %files -n dracut-zfs
@@ -470,10 +607,17 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/module-setup.sh
 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/mount-zfs.sh
 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/parse-zfs.sh
+%attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/zfs-env-bootfs.service
 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/zfs-generator.sh
 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/zfs-lib.sh
 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/zfs-load-key.sh
 %attr(755,root,root) %{dracutlibdir}/modules.d/90zfs/zfs-needshutdown.sh
+%{dracutlibdir}/modules.d/90zfs/zfs-rollback-bootfs.service
+%{dracutlibdir}/modules.d/90zfs/zfs-snapshot-bootfs.service
+
+%files -n pam-pam_zfs_key
+%defattr(644,root,root,755)
+%attr(755,root,root) /%{_lib}/security/pam_zfs_key.so
 
 %if %{with python2}
 %files -n python-pyzfs
This page took 0.297452 seconds and 4 git commands to generate.