X-Git-Url: http://git.pld-linux.org/?p=packages%2Fzfs.git;a=blobdiff_plain;f=zfs.spec;h=52cbe94cb68fe6c267579c3766e98d5c087467ae;hp=0e9816e84ed8668702cb937cf67fb40bda37b8df;hb=0b2b52b771162372d47af2dd24c2c122d753384e;hpb=79879454102dd719ba8e436145611e92083ab2ab diff --git a/zfs.spec b/zfs.spec index 0e9816e..52cbe94 100644 --- 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