commit 5776867783735aae37cd8315c76d85d6902a3d98effb59f6a1f4fa8cd5c5671a Author: Jan Engelhardt Date: Sat Aug 10 00:55:06 2024 +0200 Initial import from OBS to Git (zfs 2.2.5) diff --git a/kmod.diff b/kmod.diff new file mode 100644 index 0000000..47d4e7e --- /dev/null +++ b/kmod.diff @@ -0,0 +1,30 @@ +--- + module/Makefile.in | 9 --------- + 1 file changed, 9 deletions(-) + +Index: zfs-2.2.0/module/Makefile.in +=================================================================== +--- zfs-2.2.0.orig/module/Makefile.in ++++ zfs-2.2.0/module/Makefile.in +@@ -90,21 +90,12 @@ modules_install-Linux: modules_uninstall + INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \ + KERNELRELEASE=@LINUX_VERSION@ + @# Remove extraneous build products when packaging +- if [ -n "$(DESTDIR)" ]; then \ +- find $(KMODDIR) -name 'modules.*' -delete; \ +- fi + @# Debian ships tiny fake System.map files that are + @# syntactically valid but just say + @# "if you want system.map go install this package" + @# Naturally, depmod is less than amused by this. + @# So if we find it missing or with one of these present, + @# we check for the alternate path for the System.map +- sysmap=$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \ +- { [ -f "$$sysmap" ] && [ $$(wc -l < "$$sysmap") -ge 100 ]; } || \ +- sysmap=$(INSTALL_MOD_PATH)/usr/lib/debug/boot/System.map-@LINUX_VERSION@; \ +- if [ -f $$sysmap ]; then \ +- depmod -ae -F $$sysmap @LINUX_VERSION@; \ +- fi + + modules_install-FreeBSD: + @# Install the kernel modules diff --git a/zfs-2.2.5.tar.gz b/zfs-2.2.5.tar.gz new file mode 100644 index 0000000..cd05a73 Binary files /dev/null and b/zfs-2.2.5.tar.gz differ diff --git a/zfs-2.2.5.tar.gz.asc b/zfs-2.2.5.tar.gz.asc new file mode 100644 index 0000000..83ec7ed --- /dev/null +++ b/zfs-2.2.5.tar.gz.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.22 (GNU/Linux) + +iQIcBAABCgAGBQJmspc6AAoJEGrYYO7UWYAnj60P/1qPfuI4gFrn2pPgweq/RJoQ +acSO0jVcXs0TwKbf9bdNI7Z0gj6B3JvrY5kQJMHkfcTYU03UVxybuN00nk5GhR6v +MVoN6HPOs1LHmb3PoIPMFLybMFjYn7elqiYesJKa9qSMUq/pYrr+ZzuZwvglUAfb +qyar/mhDXt57tAgOkw0txJPG62BFeW6Asf647e5qSg75Lrz5JEepxYE+SWKKdSIl +yZ2gFDeSW/UaNx5zuCRHZNF+N9aCW71CeRd6nST1yRULKUXzHQHKHH6ZcMLVAqvu +sKQK8nPzXXvYkrvbifuQQd7gyGOzeLqJ+CxW6Cz6PBjZPpC1x7MF8vg4eszFlATh +YvGSbo0dYO8MpcN99qEvBhggNszfI4UOnla3PnaJLQx0l9+okm9s+FBS+/+VfUyY +7Oja3lWeBxi9uzFDb5LKjcvsImsfHtjaDbRckdIVHNAiPKxOpbP8un/6Cc7hZfJm +Wy+gfncG1qr6IetypAp50s8D9BrtI7FySw6PH1KefVSYS468X7lN6OYJMArOfEjc +glIAfGrB2MTXF6LUvI5KcPUtLdoZg7nNGqbbdN0VPhP3bkK6+jAwc29pA3YJbGxI +znEQSjNHWzu8BX5rRreAFoDPLWguSTpZ17eVKFTNlF+apFeTULrH1cTREZNNPmqK +Avrn2H4YMCd32h/Mq/pO +=rZa/ +-----END PGP SIGNATURE----- diff --git a/zfs-preamble b/zfs-preamble new file mode 100644 index 0000000..2c6fc73 --- /dev/null +++ b/zfs-preamble @@ -0,0 +1,5 @@ +Provides: multiversion(kernel) +Enhances: kernel-%1 +Requires: kernel-%1 +Supplements: (kernel-%1 and zfs) +Recommends: %{name}-ueficert = %{version} diff --git a/zfs-rpmlintrc b/zfs-rpmlintrc new file mode 100644 index 0000000..f2bc731 --- /dev/null +++ b/zfs-rpmlintrc @@ -0,0 +1,8 @@ +addFilter(".*suse-zypp-packageand.*") # new syntax is not yet used in subpkg created by macro +addFilter(".*no-binary.*") # zfs-ueficert subpkg created by makro is arch dependent without a binary + +## broken lint checks on tw - the calls in the rpmscripts ARE there +addFilter(".*systemd-service-without-service_del_preun.*") +addFilter(".*systemd-service-without-service_del_postun.*") +addFilter(".*systemd-service-without-service_add_pre.*") +addFilter(".*systemd-service-without-service_add_post.*") diff --git a/zfs.changes b/zfs.changes new file mode 100644 index 0000000..94ab581 --- /dev/null +++ b/zfs.changes @@ -0,0 +1,620 @@ +------------------------------------------------------------------- +Fri Aug 9 10:08:39 UTC 2024 - M K + +- Update to release 2.2.5 + * Linux 6.9 support + +------------------------------------------------------------------- +Mon May 20 09:40:29 UTC 2024 - zero mind + +- Build kernel module package for longterm kernel as well + +------------------------------------------------------------------- +Fri May 3 04:18:55 UTC 2024 - Jan Engelhardt + +- Update to release 2.2.4 + * Linux 6.8 support + * vdev probe to slow disk could have stalled mmp write checker + * Add slow disk diagnosis to ZED + +------------------------------------------------------------------- +Thu Feb 22 21:13:11 UTC 2024 - Jan Engelhardt + +- Update to release 2.2.3 + * Linux 6.7 support + * Add Ntfy notification support to ZED + * zfs list: add '-t fs' and '-t vol' options + * Add 'zpool status -e' flag to see unhealthy vdevs + * Improve performance for zpool trim on Linux +- Delete linux_6.2_compat_add_check_for_kernel_neon_availability.patch, + delete define_blk_open_excl_in_bkldev_get_by_path_4arg_case.patch + +------------------------------------------------------------------- +Mon Feb 12 13:09:11 UTC 2024 - Dominik Heidler + +- Require zfs kernel module from userland zfs package + * Required due to userland zfs pkg providing dracut hook + that fails without kernel module being available (boo#1219799) + +------------------------------------------------------------------- +Tue Jan 30 13:26:07 UTC 2024 - Dominik Heidler + +- Add patch linux_6.2_compat_add_check_for_kernel_neon_availability.patch + * Fix building on aarch64 for linux >= 6.2 (boo#1218283) + +------------------------------------------------------------------- +Sun Jan 7 15:50:03 UTC 2024 - Dominik Heidler + +- Put bash completion files in correct directory + +------------------------------------------------------------------- +Wed Dec 19 13:25:00 UTC 2023 - Dominik Heidler + +- Add define_blk_open_excl_in_bkldev_get_by_path_4arg_case.patch + +------------------------------------------------------------------- +Fri Dec 1 10:51:14 UTC 2023 - Jan Engelhardt + +- Update to release 2.2.2 + * dnode_is_dirty: check dnode and its data for dirtiness (resolve + data corruption bug, cf. + https://github.com/openzfs/zfs/issues/15526 + https://github.com/openzfs/zfs/pull/15571 ) + * zdb: Fix zdb '-O|-r' options with -e/exported zpool + * zdb: show BRT statistics and dump its contents + +------------------------------------------------------------------- +Sat Oct 14 09:02:28 UTC 2023 - Jan Engelhardt + +- Update to release 2.2.0 + * New features: block cloning, Linux container support, scrub + error log, BLAKE3 checksums, Corrective `zfs receive`, + vdev properties, vdev and zpool user properties. + +------------------------------------------------------------------- +Thu Sep 28 01:57:14 UTC 2023 - Jan Engelhardt + +- Update to release 2.13 + * Support for Linux 6.5 + * Workaround issue cleaning up automounted snapshots on Linux + * zed: Reduce log noise for large JBODs + * Store the L2ARC device ashift in the vdev label + +------------------------------------------------------------------- +Wed Aug 16 11:29:49 UTC 2023 - Dominik Heidler + +- Remove zfs-sudo subpackage and add sudoers sample config as doc + * As suggested by security in [boo#1214321] + * Added security note about sudoers config to doc + +------------------------------------------------------------------- +Tue Aug 15 18:58:00 UTC 2023 - Dominik Heidler + +- Fix rpmlint errors + +------------------------------------------------------------------- +Tue Jul 18 08:58:47 UTC 2023 - Aleksa Sarai + +- Generate -ueficert subpackage in order to allow automated updates for systems + with module signing enforcement (Leap 15.2 and later). The zfs-ueficert + package is Recommended by the the kmp packages in order to try to make this + setup automatic. boo#1173551 + +------------------------------------------------------------------- +Wed Jun 7 09:59:40 UTC 2023 - Michał Szczepaniak + +- Update to 2.1.12 + +------------------------------------------------------------------- +Thu Apr 20 08:20:32 UTC 2023 - Jan Engelhardt + +- Update to release 2.1.11 + * Values printed by zpool-iostat(8) should be right-aligned + * Revert "ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced()" + +------------------------------------------------------------------- +Fri Apr 14 23:09:42 UTC 2023 - Jan Engelhardt + +- Update to release 2.1.10 + * Support for Linux 6.2, a little support for 6.3 + * Removed Python 2.x and Python < 3.6 support + * Add Linux kmemleak support to ZTS + * Terminal coloring + * Introduce ZIL block commit delay + * Allow mounting snapshots in .zfs/snapshot as a regular user + +------------------------------------------------------------------- +Fri Mar 24 17:47:07 UTC 2023 - Jan Engelhardt + +- Rectify dependencies of zfs-devel [boo#1209699] + +------------------------------------------------------------------- +Thu Jan 26 02:00:15 UTC 2023 - Jan Engelhardt + +- Update to release 2.1.9 + * linux 6.2 compat: zpl_set_acl arg2 is now struct dentry + +------------------------------------------------------------------- +Fri Jan 20 23:35:18 UTC 2023 - Jan Engelhardt + +- Update to release 2.1.8 + * Support for Linux 6.1 + * include systemd overrides to zfs-dracut module + * systemd: set restart=always for zfs-zed.service + +------------------------------------------------------------------- +Fri Dec 16 06:11:10 UTC 2022 - Bob Haley + +- Added %kernel_module_package_buildreqs to build requirements to + require suse-module-tools-scriptlets which have been moved to + their own package. + +------------------------------------------------------------------- +Fri Dec 2 11:29:02 UTC 2022 - Jan Engelhardt + +- Update to release 2.1.7 [boo#1205964] + * Support for Linux 6.0 + +------------------------------------------------------------------- +Mon Oct 3 23:05:34 UTC 2022 - Jan Engelhardt + +- Update to release 2.1.6 + * Linux: 5.19 support + * zpool: Don't print "repairing" on force faulted drives + * `zfs recv` hung if max recordsize is less than received + recordsize + +------------------------------------------------------------------- +Wed Jun 22 22:49:17 UTC 2022 - Jan Engelhardt + +- Update to release 2.1.5 + * Linux: compatible with 3.10 - 5.18 kernels + * Corrected edge case in uncompressed ARC->L2ARC handling + * Remove wrong assertion in log spacemap + +------------------------------------------------------------------- +Wed Jun 8 14:51:53 UTC 2022 - Andrew Hibberson + +- As of the Linux 5.19 kernel the asm/fpu/internal.h header was + entirely removed. It has been effectively empty since the 5.16 + kernel and provides no required functionality. + +------------------------------------------------------------------- +Wed Mar 23 21:43:35 UTC 2022 - Jan Engelhardt + +- Update to release 2.1.4 + * Linux: compatible with 3.10 - 5.17 kernels + * Fix ACL checks for NFS kernel server + +------------------------------------------------------------------- +Tue Mar 15 17:37:08 UTC 2022 - Jan Engelhardt + +- Add kmod.diff to workaround zfs's assumption that /lib/modules + exists. + +------------------------------------------------------------------- +Fri Mar 11 08:54:35 UTC 2022 - Jan Engelhardt + +- Update to release 2.1.3 + * Linux 5.16 support + * Fix ENOSPC when unlinking multiple files from full pool + * Enable encrypted raw sending to pools with greater ashift + * Add weekly and monthly scrub timers for systemd + +------------------------------------------------------------------- +Thu Dec 16 01:29:06 UTC 2021 - Jan Engelhardt + +- Update to release 2.1.2 + * Linux 5.15 support + +------------------------------------------------------------------- +Sun Sep 19 11:58:37 UTC 2021 - Jan Engelhardt + +- Update to release 2.1.1 + * Linux 5.14 support + * Data integrity fixes, various ZTS fixes, persistent L2ARC fixes. + +------------------------------------------------------------------- +Fri Jul 2 18:57:23 UTC 2021 - Jan Engelhardt + +- Update to release 2.1.0 + * New features: Distributed Spare RAID, the Compatibility + Property, InfluxDB support. + +------------------------------------------------------------------- +Fri Jul 2 06:16:54 UTC 2021 - Jan Engelhardt + +- Update to snapshot 2.1.0~rc8 + * systemd: import: expand $ZPOOL_IMPORT_OPTS correctly + +------------------------------------------------------------------- +Sat Jun 26 08:13:12 UTC 2021 - Jan Engelhardt + +- Update to snapshot 2.1.0~rc7 + +------------------------------------------------------------------- +Fri May 28 18:33:05 UTC 2021 - Jan Engelhardt + +- Update to snapshot 2.1.0~rc6 + * Partial Linux 5.13 support + +------------------------------------------------------------------- +Fri May 14 20:58:25 UTC 2021 - Jan Engelhardt + +- Update to snapshot 2.1.0~rc5 + * Support for Linux 5.12 + +------------------------------------------------------------------- +Tue Mar 9 19:26:43 UTC 2021 - Jan Engelhardt + +- Update to release 2.0.4 + * Linux: compatible with 3.10 - 5.11 kernels + * Don't bomb out when using keylocation=file:// + +------------------------------------------------------------------- +Fri Feb 12 08:55:16 UTC 2021 - Jan Engelhardt + +- Update to release 2.0.3 + * Fix a panic and set file mode during zfs_write + * dracut: Fix race condition between load-key and import + +------------------------------------------------------------------- +Mon Feb 1 20:38:51 UTC 2021 - Jan Engelhardt + +- Update to release 2.0.2 + * Avoid updating the L2ARC device header unnecessarily + * Fix a resource leak in uu_avl_pool_destroy + +------------------------------------------------------------------- +Wed Jan 6 22:29:32 UTC 2021 - Jan Engelhardt + +- Update to release 2.0.1 + * Linux 5.10 support. + * Fix a number of memory leaks. + +------------------------------------------------------------------- +Mon Nov 30 22:19:36 UTC 2020 - Jan Engelhardt + +- Update to release 2.0.0 + * Unified code base and documentation - The ZFS on Linux project + has been renamed to OpenZFS. + * Sequential resilver - The sequential resilver feature can + rebuild a failed mirror vdev in a fraction of the time it + would take a traditional healing resilver. + * Persistent L2ARC - This feature makes the L2ARC cache device + persistent across reboots. + * ZStandard compression + * Redacted zfs send/receive - Redacted streams allow users to + send subsets of their data to a target system. + +------------------------------------------------------------------- +Wed Oct 7 05:35:21 UTC 2020 - Jan Engelhardt + +- Update to release 0.8.5 + * Linux 5.8 support. + * Fixed resilver restarting unnecessarily when it encounters + errors. + * ZED: Do not offline a missing device if no spare is available. + * Improved integration with systemd units. (checking absence + of zfs / ordering with regard to zpools) + +------------------------------------------------------------------- +Tue May 12 18:06:21 UTC 2020 - Jan Engelhardt + +- Update to release 0.8.4 + * Linux 5.6 support. + +------------------------------------------------------------------- +Sat Jan 25 10:56:07 UTC 2020 - Jan Engelhardt + +- Update to release 0.8.3 + * Linux 5.4 support. + +------------------------------------------------------------------- +Fri Sep 27 01:30:57 UTC 2019 - Aleksa Sarai + +- Update to new upstream release 0.8.2. + * Linux 5.3 support. + * Various bug fixes, see + + for the full list. + +------------------------------------------------------------------- +Sun Jun 16 09:42:59 UTC 2019 - Lorenz Hüdepohl + +- Add multiversion(kernel) and zfsmodule(%kernel_version) RPM tags. + + This prevents the concurrent installation of multiple packages + for the same kernel version. It seems this can happen when a + rebuild of the zfs-kmp package is triggered and the release + number is incremented. + + These packages provide the same files and cannot normally be + installed in parallel. Using this, the old relase gets properly + replaced by the new one. + +------------------------------------------------------------------- +Fri Jun 14 22:03:44 UTC 2019 - Aleksa Sarai + +- Update to new upstream release 0.8.1. + * Preliminary Linux 5.2 support. + * Various bug fixes, see + + for the full list. +- Add stable branch PGP key to zfs.keyring. +- Remove patches that are in the newest release: + 0001-Revert-Report-holes-when-there-are-only-metadata-cha.patch + +------------------------------------------------------------------- +Fri May 31 13:17:20 UTC 2019 - Aleksa Sarai + +- Backport a patch which reverts some hole-related changes that have caused + data loss to some users (where a "cp -R" ends up copying empty bytes instead + of the file contents -- even though the file contents are still on-disk). + + 0001-Revert-Report-holes-when-there-are-only-metadata-cha.patch + +------------------------------------------------------------------- +Thu May 23 22:04:05 UTC 2019 - Aleksa Sarai + +- Update to new upstream release 0.8.0. + +------------------------------------------------------------------- +Fri May 10 00:28:10 UTC 2019 - Aleksa Sarai + +- Update to new upstream release 0.8.0~rc5 + * Linux 5.1 support. + +------------------------------------------------------------------- +Tue Apr 23 08:08:09 UTC 2019 - Aleksa Sarai + +- Update to new upstream release 0.8.0~rc4 + * New feature: Pool TRIM. + * Linux 5.0 support. +- Add PGP verification of Source archives. + +------------------------------------------------------------------- +Wed Jan 16 23:59:49 UTC 2019 - Jan Engelhardt + +- Update to new upstream release 0.8.0~rc3 + * New feature: Pool initialization + * Linux 4.20 support + +------------------------------------------------------------------- +Mon Nov 26 10:50:39 UTC 2018 - Jan Engelhardt + +- Update to new upstream release 0.8.0~rc2 + * New feature: Deferred resilvers + * Compatible with 4.19 Linux kernels. + +------------------------------------------------------------------- +Sun Nov 11 08:10:13 UTC 2018 - brassh@web.de + +- bugfixes: +* remove dependency on spl-kmp-default, since + SPL has been merged into ZFS +* fix udev related build error under SLE15 and up + +------------------------------------------------------------------- +Sun Sep 9 11:38:12 UTC 2018 - Jan Engelhardt + +- SPL was merged into the ZFS release tarball +- Update to new upstream release 0.8.0~rc1 + * Support for Linux 4.18 + * New features: encryption, device removal, allocation classes, + pool checkpoints, sequential scrub and resilver, project quota, + channel programs, Direct I/O + +------------------------------------------------------------------- +Fri May 11 02:50:54 UTC 2018 - kamikazow@pensuse.org + +- Update to new upstream release 0.7.9 +* Remove DEBUG_STACKFLAGS to bypass compiler error +* Fedora 28: Add BuildRequires: libtirpc-devel #7494 #7495 +* RHEL 7.5 compat: FMODE_KABI_ITERATE #7460 #7463 +* Add back iostat -y or -w descriptions #7479 #7483 +* Add test with two kinds of file creation orders #7411 +* Allow mounting datasets more than once #5796 #7207 +* Fix zfs_arc_max minimum tuning #7417 +* Linux compat 4.16: blk_queue_flag_{set,clear} #7428 #7431 #7410 +* Fix 'zfs send/recv' hang with 16M blocks #7365 #7404 +* Clean up (k)shlib and cfg file shebangs +* Fix "file is executable, but no shebang" warnings #7359 #7395 +* Exclude python scripts from RPM shebang check #7360 #7399 +* Update mmp_delay on sync or skipped, failed write #7330 +* Fedora 28: Fix misc bounds check compiler warnings #7361 #7368 +* Fix hung z_zvol tasks during 'zfs receive' #6330 #6890 #7343 +* Add support for nvme based devids #7356 +* chmod -x on etc/init.d/zfs-*.in automake files #7355 #7327 +* Fix mmap / libaio deadlock #7335 #7339 +* Remove libattr requirement #7344 #7351 +* Fedora 28: Fix "Macro %_dracutdir has empty body" #7326 #7328 +* modprobe zfs during dracut mount #7322 +* Add support for nvme disk detection #7304 +* Report pool suspended due to MMP #7296 +* Add zfs_scan_ignore_errors tunable #7293 +* Allow to limit zed's syslog chattiness #6886 #7260 +* Record skipped MMP writes in multihost_history #7212 +* Introduce a destroy_dataset helper #7224 #7246 #7249 #7267 + +------------------------------------------------------------------- +Tue Apr 10 11:22:44 UTC 2018 - kamikazow@opensuse.org + +- Update to new upstream release 0.7.8 +* Compatible with 2.6.32 - 4.16 Linux kernels. +* Fix: Unlistable and disappearing files #7401 +* Revert "Handle zap_add() failures in mixed ... " #7416 + +------------------------------------------------------------------- +Thu Mar 22 12:19:02 UTC 2018 - jengelh@inai.de + +- Add rc* convenience commands +- Mark zed.rc as %config(noreplace) + +------------------------------------------------------------------- +Thu Mar 22 03:10:48 UTC 2018 - mrueckert@suse.de + +- we only use systemd macros anyway ... remove the sysvinit scripts + from the filelist +- force systemd in the configure cmdline for the userspace tools +- force verbose compiler calls + +------------------------------------------------------------------- +Tue Mar 20 11:47:39 UTC 2018 - kamikazow@opensuse.org + +- Update to new upstream release 0.7.7 +* Compatible with 2.6.32 - 4.16 Linux kernels. + +------------------------------------------------------------------- +Sat Mar 10 18:10:44 UTC 2018 - kamikazow@opensuse.org + +- Ported TW fix by Paolo Panto (munix9) +* added libtirpc dependency, fixed Tumbleweed build with moved tirpc + +------------------------------------------------------------------- +Tue Feb 6 10:27:13 UTC 2018 - kamikazow@opensuse.org + +- Update to new upstream release 0.7.6 +* Compatible with 2.6.32 - 4.15 Linux kernels. + +------------------------------------------------------------------- +Tue Dec 19 20:07:25 UTC 2017 - kamikazow@opensuse.org + +- Update to new upstream release 0.7.5 +- New systemd target + +------------------------------------------------------------------- +Sun Dec 10 18:52:41 UTC 2017 - kamikazow@opensuse.org + +- Update to new upstream release 0.7.3 +* Compatible with 2.6.32 - 4.14 Linux kernels. +- Leap 15 and TW Dec.'17 compatibility thanks to Lorenz Hüdepohl. + +------------------------------------------------------------------- +Mon Aug 7 10:22:30 UTC 2017 - asarai@suse.com + +- Update to new upstream release 0.7.0 +* Compatible with 2.6.32 - 4.12 Linux kernels. + +------------------------------------------------------------------- +Mon Jul 10 09:51:45 UTC 2017 - yury.buldakov@gmail.com + +- Update to new upstream version 0.6.5.10 +* Compatible with 2.6.32 - 4.12-rc3 Linux kernels. + +------------------------------------------------------------------- +Wed Oct 19 13:53:01 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 0.6.5.8 +* Compatible with 2.6.32 - 4.8 Linux kernels. + +------------------------------------------------------------------- +Mon Jun 6 06:21:10 UTC 2016 - dev@stellardeath.org + +- Update to new upstream release 0.6.5.7 +* Compatible with 2.6.32 - 4.6 Linux kernels. +* Fix SPL build failure on PowerPC zfsonlinux/spl#516 +* Fix user namespaces uid/gid mapping zfsonlinux/zfs#4177 +* Fix ZPL miswrite of default POSIX ACL zfsonlinux/zfs#4520 +* Linux 4.5 and 4.6 compatibility zfsonlinux/zfs#4537 zfsonlinux/zfs#4489 +* Ensure /dev/disk/by-partlabel gets correctly populated zfsonlinux/zfs#4517 +* Utilities now work reliably with newly created partitions zfsonlinux/zfs#3708 +* Import now reliably uses device names stored in label zfsonlinux/zfs#3043 +* Fix possible deadlock in zfs_secpolicy_write_perms ioctl zfsonlinux/zfs#4554 +* Fix inverted logic on none elevator comparison zfsonlinux/zfs#4507 +* Add 32 bit FS_IOC32_{GET|SET}FLAGS compat ioctls for PPC zfsonlinux/zfs#4477 + +------------------------------------------------------------------- +Thu May 5 16:56:10 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 0.6.5.6 +* Add support for s390{,x} +* Handle negative dentries in case insensitive filesystem +* Fix casesensitivity=insensitive deadlock +* Correctly parse zdb -R flag arguments +* Fix lock order inversion with zvol_open() +* Add support for asynchronous zvol minor operations +* Make zvol minor functionality more robust +* Prevent zpool_find_vdev() from truncating vdev path +* Add -gLP to zpool subcommands for alt vdev names +* Fix zpool list -v output for spares and log devices +* Fix ZFS send fails to transmit some holes + +------------------------------------------------------------------- +Sat Mar 12 21:15:34 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 0.6.5.5 +* Support for Linux 4.5 +* Make arc_summary.py and dbufstat.py compatible with python3 +* Prevent arc_c collapse and possible panic +* Prevent duplicated xattr between SA and dir +* Fix zsb->z_hold_mtx deadlock +* Prevent SA header corruption +* Fix potential deadlock in cv_wait() +* Fix livelock in shrinker + +------------------------------------------------------------------- +Sun Jan 17 16:57:06 UTC 2016 - dev@stellardeath.org + +- Update to release 0.6.5.4 + +------------------------------------------------------------------- +Wed Dec 09 12:25:23 UTC 2015 - yury.buldakov@gmail.com + +- Update to release 0.6.5.3 + +------------------------------------------------------------------- +Sun Oct 11 16:05:02 UTC 2015 - dev@stellardeath.org + +- Update to release 0.6.5.2 + +------------------------------------------------------------------- +Fri Jul 17 14:35:18 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 0.6.4.2 +* No changelog was provided + +------------------------------------------------------------------- +Thu Jul 17 17:45:58 UTC 2014 - jengelh@inai.de + +- Update to new upstream release 0.6.3 +* New features added: I/O read/write accounting, file attributes, + POSIX ACLs, SELinux support, "relatime" mount option +* systemd service integration +* The ZFS Event Daemon was added +* `zpool create` treats -O mountpoint and -m the same +* `zpool create -o altroot=/xyz -O mountpoint=/mnt` recognizes + the mountpoint option now +* `zpool get` and `zpool list` now recognize the -p option +* `zfs recv -F` destroys any snapshots created since the + incremental source +* `zfs send -D` works again +* `zpool import` gained the -t option for temporary pool names +* `zpool import` lost the unused -r option +* Fix panic on `zfs receive` of a recursive deduplicated stream +* `zfs hold` or `zfs release` of a non-existent snapshot did not + output an error +* ZFS quota or reservation on pool version < 22 can be set again +* Improved ZFS send / receive performance due to snapshot + hold / release processing +* `zpool status -x` reports pools with removed L2ARC devices +* zfs rejects snapshots of inconsistent datasets + +------------------------------------------------------------------- +Sat Aug 31 10:08:20 UTC 2013 - jengelh@inai.de + +- Update to new upstream release 0.6.2 +* Added Linux 3.11 compatibility +* Added arcstat.py script from FreeNAS +* Added 'zpool labelclear' command from FreeBSD +* Added L2ARC compression from Illumos +* Added I/O deadman thread from Illumos +* Added SEEK_DATA/SEEK_HOLE to lseek()/llseek() +* Added writeable arc+l2arc module options +* Improved detection of advanced format (AF) disks +* Improved N-way mirror read performance +* Improved zdb to display SA xattrs + +------------------------------------------------------------------- +Sat Mar 30 06:09:51 UTC 2013 - jengelh@inai.de + +- Initial package (version 0.6.1) for build.opensuse.org diff --git a/zfs.keyring b/zfs.keyring new file mode 100644 index 0000000..f2d002b --- /dev/null +++ b/zfs.keyring @@ -0,0 +1,95 @@ +pub dsa1024 2007-09-20 [SC] + C33DF142657ED1F7C328A2960AB9E991C6AF658B +uid [ unknown] Brian Behlendorf +uid [ unknown] Brian Behlendorf (LLNL) +sub elg2048 2007-09-20 [E] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQGiBEby9kIRBACl6ggDFcor8bG3nj1tFSBanC12CF5vo2oK7HxRBeEvKlBzqIfd +c6gcegZVGYm0EEMaW7ANjhdAm7LAuiC3PjhpMjvIh6f+jqiqYSI8XPjav9kLUXCq +R7bdwkpmUXe1PZ+fEbB1qAFCsueVzO2jNisnYB408yDBv9KGf6aUMk7CNwCg3XwG +2HObD4A6LvolmqaQp6t/N98D/2tFMKAiL/rIxCbownGA6blX22nJBkAcApCZswUi +jSZsjqXFRcWI9/+ckKyRpHYkGJUhiDykZ/kmw1ApLw+PQS3MXv+hfLfF34Dw5709 +Xf9j/YW9Z7h/IYhR985p9vi0Kt2mZokeNulQMRC6M4QMPOloIW4XZ3d+FeKzua7r +zEc1A/9pBt9uozz6k+GnjAOGQsS655nHW8xGOekVasHbWICM7mflj+nqovLZJN5D +vxE5MyklQNV8tGQA9Pw9AZDKw5kY0kpyvdE/3b4Odtivr0NoAwVlIT5aIcr+wuLV +PVcGx9vZKGpkTPGcDbDRH9zBeLu1G3qt+1SMDjw6QFWUbH6yVbQnQnJpYW4gQmVo +bGVuZG9yZiA8YmVobGVuZG9yZjFAbGxubC5nb3Y+iGAEExECACAFAknEFzACGwMG +CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAKuemRxq9liy4PAKDYlprKOQCJkVpO +Y4N4OKi4Cl06nQCgh9rkbIkRFeBSfqiEr2LquONDUNu0LkJyaWFuIEJlaGxlbmRv +cmYgKExMTkwpIDxiZWhsZW5kb3JmMUBsbG5sLmdvdj6IXgQTEQIAHgUCRvL2QgIb +AwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRAKuemRxq9li3IUAJ91uoYT9XVsWrDB +RlPoqjfWsKznVQCfaK+mRj7TpSmR9aw77ll52PdV21y5Ag0ERvL2ShAIANbPczuS +yBi5+eEv9q/onCrQoFAx8bCiy6ATfk4n2mEQdJiM3AP5fhYGIiVitYX52uNf+JiT +AkBGDL/MsUHuT5xtNVQYbk6EaIeXwWk6WDUmNEq203tBsXp5iGQrsBK/p5tdrtB2 +jWRRsTaz5MeDTH6ogPtMv0LSxyHyqGcc21b35vvt3x7TZwoyS21KvF4vQd1t0No3 +nFbEO7pHtO47t0Xs5KvoATSvWNcfPw3KsJAN8omxoaEsjv/YQRBOi84s4LHgj5KE +qOpRPs41qfVGNcgPWys74BPXDo5mei6DJo+mppKd1gNEXEo1QXmHiU4Oe7mZllsf +psjVeZYxnZa5y08AAwUH/A0Pc9e4WsArzx5NCl5dvJ7biXs6+gMIW8I4cv+k+iVw +0vlJMumuPzRTC4CglVjYFiszPqw2FsRTDBnHfgrd1urLuli5OWe7unO6w2+v2wsp +Dnc4IvygiVqxB2c7k8/SuiES68ypMZwBOCpucqvMi1YDHtDQYiydC3RajUjAUAwU +8P+jPdZxthaGYiaZ0yMgb7ZznB/bTeAINGDnQ+uhvW9KtGBhyRShpI3NlNzix+08 +rcNZ92jOXRNz8T9U0ykFCdGBm7iZlLNxGVU5u0N36HXRdWRXgLjNo3APqaglF+Rf +V9wf3RlNN64ISdiwPDe0wv5Bm6q1dlysnYqJGKQ4Uf6ISQQYEQIACQUCRvL2SgIb +DAAKCRAKuemRxq9liwm5AJ4gSyDQ6KvnvWwz/GITokfqEQscLACgyuSX45p3biIX +YMXfJucoJR6ZFKg= +=kHeM +-----END PGP PUBLIC KEY BLOCK----- + +pub rsa4096 2017-06-08 [SC] + 4F3BA9AB6D1F8D683DC2DFB56AD860EED4598027 +uid [ unknown] Tony Hutter (GPG key for signing ZFS releases) +sub rsa4096 2017-06-08 [E] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFk5kxgBEADvT/aR1SzR0oBZcOypkb48wAzir3ZzZFXByHh5dJgds9r/kDNG +Md6pXyWKW8nrUAPvYmCGMFjRl3CbDl5DHDiqGGEV615I27C4OLKJO64iCHdz/SDw +pDJDE1D/uvG7TeVygtqIpU3aqLcGfWPkJ1NtBV5veC7khrSppYYGv9q2bKPk40BA +5awZusED1clOQv0po/TTxoFdIciS4RBUTX5DnJ9mAHHvLK9GFP0U1e0Nd6aei7ER +jqjz0yHpMcB45pt6uNGsyzjM1r7wIWEy5gzCAvs8bUvtqOcal4XjY9suWGi/6v0Z +QSKw9mOp2kZvCUboLuUy1WhBsYNJ2MVZdU0bPQaLEe4a/wFEDssHfjFE8nMsC1AE +YM3gl7l3htUyIP+UJ9Hg6fj7M2pD20hbnUgXBfV9IMiwCChyGtgkciDdpOykj5Lj +QO7Nqv710yKigWBzxym9nRBNXLd2R6Z0YkmyV5MmUZUtTTfGjDKVBWkZoq83F4xi +gGPtRcSimujFo2dfNrsSdVJ26f5F/shkMnD6/+0Kyo7sBh/qqw3vNFoM4M1pfPar +PwSkOYc8lrOlIk/TX9Brs84mlqspjRzpKg5XrrJ2en7L7cgxRrFOWYRLC80hmlfe +YIrlkGrQJp3J76NfudHbz3gYffj8BYgalPV5GXVKLSXYtYXDzhlXWZRi6QARAQAB +tEFUb255IEh1dHRlciAoR1BHIGtleSBmb3Igc2lnbmluZyBaRlMgcmVsZWFzZXMp +IDxodXR0ZXIyQGxsbmwuZ292PokCOQQTAQIAIwUCWTmTGAIbAwcLCQgHAwIBBhUI +AgkKCwQWAgMBAh4BAheAAAoJEGrYYO7UWYAnd/0P/A6DXyRKEE15Esy4uPN7BVc6 +flRxbuY2HNvzs09tamG7QaRGA/+ON8nEIaAv5hVsdWmR+UjJE9VjiCmkiKG8nbME +oeukUFNZzevybsmRv3xdhZyPUbgUHa+pY7ed9rDxXauhxuTkQXqjM6FHMDyMpktQ +13m7RHfp1CJc1qiO23qRkVRQySImSJxqZHpyGQKQjev4IhN6nFi7lBl6lgrZ/RDV +9Ogq3ea1SKfFa98wg1zHq8q3cN9uQxZDzoUmSI9C6T/KZ9N1/YPaUAEB1UfU/9dr +67as9rBW7/9FLHeeUeRzW4Kc5p06ubmwu6IF0X1FT7+IHwyR6c654PpQgUaPNuY/ +sDx9975eT0cIBePUvg6GFO0ghEHPtegHBz/1HS/Z6DBEOZUhoyoXx3oQHGrFBTZJ +hCwViu/FUiViE3cyyBAiaP0iBVFNliila/3yoj3xQADI2j8JXKEgdLfuyJIRCSyS +lmZxcdSKVf9kbQg2It9IRJYQpn0+XnzsZVUyzOfFYbhCJq/nZuFU9tKTPffGmD+h +e+VnBEf/9kIMoRalWfhhk7/RzRXdvVjEPm4mcaKtmwvmIHxHcdjQwqU8qmmKsbma +dMSIn0rHQ0VB09wTWAbdp8REjCOTQkipvKJViZ9KLTpLY0rz7HyK833UGtQV+9Zi +teZgwWTOhSh4UWjw+jiYuQINBFk5kxgBEACe/kvatgdvG2VMCp6yawlHZzTEpuLi +FNKDSZR7NZLXt4ECEChJEOp5He5aVCIsyIgsq4O/trERxONqSAZ/3grewz927mtN +d/Uj66ImB2tl/LE/47ncixRuQbmCa8ulAIASE1kdEQyTUoS9r5SDDWdjrcgWsjnM +LjV0C8TkJRSlY/QPAMX9UCWhOpCtqHInYF5Em7ptID3pL7lqUb0hW103AT5z0myC +33U7nlBBdpnU18PiKsqkjjjSNfQazsq9GDjX3tEhHfKGfLHftohLyXVxmkg78Ryl +cO8IOs6P9qRUmc6XgVUWcMVSswPrJW9TrshXh3a/nvDkMbXs8yaxcV7kX9GD2u21 +QXbnC2EImlP2d1w89YD/C/2N4+RavTwwXypp5760vgD7wg2fbLJRNMY2YfA7jKMQ +2ZCGhuNNxs48dYkSj7FOgBMt261in1SZYLWK9aN+/xAFgP6OStZxqLbQbGynXKwv +luwHeBXgdT7oV/O1oCon+D7gMRzXKvmxXGY/QCBo/fo7t/nPLjZy0bQILDeO3+8I +p3h3cKP7f6HZn4oHXntGN/ZihMbEEbomOs7Ozo+MIg2tLFdazZclTUfSAsXKlPUR +VPUEFaNfVXrSYjLme6o3HzAcpLhUX17abbfWu1+1ZjaOmjBBR6T4l/5aBmO2sq5e +vvtnLQM23Cwn9QARAQABiQIfBBgBAgAJBQJZOZMYAhsMAAoJEGrYYO7UWYAndwUQ +ANZJW/W97oDRhEJCQXmgU+u4BT3PtFUBdIW+VbpY+FrhBOu52cZu+1H4NP8Lw8Pg +wiaHm04OOWB6qfJ1kf/W7sTVckuSjEDZpDBh7QKL6lT8RFFGTwwVs4udzJc7cZVO +Gl9rXoU3e8NBEk5Kmel0pA0XkCaifwHTdBOFsdk6kqqyeNUAVi0iK4f1D15v447C +zSVQuCu3nx8ew1S7lMAVoWhy60V7W4CEF5y2D3stlSxnYi5WMVaZDI5uub435v2l +vX/P6W6EQ+9zaGPA1mZrcnZ2+ZWtM4WaN4BtvzO5+RuarZwizh1SXRTIf8ltwged +6mAx06OI+yXoFjuGiiz30l/9c2jTjLyBf/BwW+QwUM+tVTiaEoJLF6YMRTCOML1V +dgHtbfmxyon8ZIb9P8Bs0fGO7CSvDSEWOF/I6pYF83CYh+76tBFRDUYLi6v4tNxs +/dtGsH8Fhkpriv5E4IaXCSEJkRcFYOTDBzAyZasSTi1s0Lmpz0A4CtyWFo9TPGgD +BPEuQrWCHBPNkUDwFVhSD2JVOKDF89XRSNddiGkyZ0wBDzLp8ZjT/cJszdfHZlkg +FJR97Bff3lDOnCW9DOI80NvAppWSf6RC8m4Tgn3ElJUTWsxu2AGOXAI5l3k27Yvy +XVHGWPTr+pL8TjB05SjDkzsh68kUZ3J2jZ0n03jtbXWc +=WTIO +-----END PGP PUBLIC KEY BLOCK----- diff --git a/zfs.spec b/zfs.spec new file mode 100644 index 0000000..41edde9 --- /dev/null +++ b/zfs.spec @@ -0,0 +1,358 @@ +# +# spec file for package zfs +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# +# needssslcertforbuild + + +%global kernel_version %(rpm -q kernel-syms | sed 's/^kernel-syms-//; s/\\.[0-9]\\+\\.%_arch//;') +%global kernel_build %(rpm -q kernel-syms | sed 's/^kernel-syms-[0-9.]\\+-[0-9]\\+.//; s/.%_arch//;') +%if 0%{?suse_version} > 1600 +%define kmp_longterm 1 +%endif + +Name: zfs +Version: 2.2.5 +Release: 0 +Summary: The ZFS file system and utilities +License: CDDL-1.0 AND GPL-2.0-or-later +Group: System/Filesystems +URL: https://zfsonlinux.org/ + +#Github-URL: https://github.com/zfsonlinux/zfs +Source: https://github.com/zfsonlinux/zfs/releases/download/%name-%version/%name-%version.tar.gz +Source1: https://github.com/zfsonlinux/zfs/releases/download/%name-%version/%name-%version.tar.gz.asc +Source2: %name.keyring +Source3: %name-preamble +Patch1: kmod.diff +BuildRequires: %kernel_module_package_buildreqs +%if 0%{?kmp_longterm} +BuildRequires: kernel-syms-longterm +%endif +BuildRequires: fdupes +BuildRequires: kernel-devel +BuildRequires: kernel-syms +BuildRequires: libattr-devel +BuildRequires: libelf-devel +BuildRequires: libtirpc-devel +BuildRequires: pesign-obs-integration +BuildRequires: pkg-config +BuildRequires: python +BuildRequires: python3-devel +BuildRequires: sudo +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(blkid) +BuildRequires: pkgconfig(libcrypto) +BuildRequires: pkgconfig(libselinux) +BuildRequires: pkgconfig(uuid) +BuildRequires: pkgconfig(zlib) +# Files collide, but zypper does not recognize that (bnc#673720) +Conflicts: zfs-fuse +Provides: openzfs = %version-%release +Requires: zfs-kmp = %version + +%define services zfs-import-cache.service zfs-import-scan.service zfs-import.service zfs-import.target zfs-load-key.service zfs-mount.service zfs-share.service zfs-volume-wait.service zfs-volumes.target zfs-zed.service zfs.target zfs-scrub@.service +%kernel_module_package -n zfs -x xen -p %_sourcedir/%name-preamble -c %_sourcedir/_projectcert.crt + +%description +ZFS is a combined file system and logical volume manager designed by +Sun Microsystems. The features of ZFS include protection against data +corruption, support for high storage capacities, integration of the +concepts of file system and volume management, snapshots and +copy-on-write clones, continuous integrity checking and automatic +repair, RAID-Z and native NFSv4 ACLs. + +ZFS on Linux, which is also known as ZoL, includes fully functional +and stable SPA, DMU, ZVOL, and ZPL layers. + +%package -n libnvpair3 +Summary: A tools library for manipulating pairs +License: CDDL-1.0 +Group: System/Libraries + +%description -n libnvpair3 +ZFS is a file system and volume manager which was +originally developed by Sun Microsystems. + +The nvpair library provides routines packing an unpacking nv pairs +for transporting data across process boundaries, transporting between +kernel and userland, and possibly saving onto disk files. + +%package -n libuutil3 +Summary: ZFS utility library +License: CDDL-1.0 +Group: System/Libraries + +%description -n libuutil3 +ZFS is a file system and volume manager which was +originally developed by Sun Microsystems. + +The uutil library contains various utility and wrapper functions used +by the ZFS userland. + +%package -n libzfs4 +Summary: ZFS filesystem access library +License: CDDL-1.0 +Group: System/Libraries + +%description -n libzfs4 +ZFS is a file system and volume manager which was +originally developed by Sun Microsystems. + +%package -n libzfsbootenv1 +Summary: ZFS boot environment library +License: CDDL-1.0 +Group: System/Libraries + +%description -n libzfsbootenv1 +ZFS is a file system and volume manager which was +originally developed by Sun Microsystems. + +%package -n libzfs_core3 +Summary: ZFS filesystem access library +License: CDDL-1.0 +Group: System/Libraries + +%description -n libzfs_core3 +libzfs_core is intended to replace libzfs, and has the following +characteristics: +Thread safety, committed interface (stable API), programmatic +error handling and clear atomicity. + +%package -n libzpool5 +Summary: Zpool interface +License: CDDL-1.0 +Group: System/Libraries + +%description -n libzpool5 +ZFS is a file system and volume manager which was +originally developed by Sun Microsystems. + +The zpool library contains +- Emulation of kernel services in userland +- Routines needed by more than one client of libzpool + +%package devel +Summary: Development files for the ZFS userspace utilities +License: CDDL-1.0 +Group: Development/Libraries/C and C++ +Requires: libnvpair3 = %version +Requires: libuutil3 = %version +Requires: libzfs4 = %version +Requires: libzfs_core3 = %version +Requires: libzfsbootenv1 = %version +Requires: libzpool5 = %version + +%description devel +ZFS is a combined file system and logical volume manager designed by +Sun Microsystems. The features of ZFS include protection against data +corruption, support for high storage capacities, integration of the +concepts of filesystem and volume management, snapshots and +copy-on-write clones, continuous integrity checking and automatic +repair, RAID-Z and native NFSv4 ACLs. + +This subpackage contains the development header files and libraries. +needed for compilation of third-party programs. + +%package bash-completion +Summary: Bash completion for %{name} +Group: System/Shells +Supplements: (%{name} and bash-completion) +BuildArch: noarch + +%description bash-completion +zfs command-line completion logic for bash. + +%prep +%autosetup -p1 +%if 0%{?suse_version} < 1550 +%patch -P 1 -p1 -R +%endif + +# fix shebangs: don't use env +sed -i 's|/usr/bin/env @PYTHON_SHEBANG@|/usr/bin/@PYTHON_SHEBANG@|' \ + cmd/arcstat.in cmd/dbufstat.in tests/test-runner/bin/*.py.in +sed -i 's|/usr/bin/env bash|/bin/bash|' contrib/dracut/*/module-setup.sh.in \ + scripts/zimport.sh scripts/zloop.sh + +sed -i 's|/bin/sh$|/bin/bash|' cmd/zed/zed.d/all-debug.sh # this script uses bash features +sed -i 's|#!/bin/sh$||' cmd/zed/zed.d/zed-functions.sh scripts/common.sh.in # these scripts are not executed so they don't need a shebang + +%build +%if 0%{?suse_version} > 1500 +export CFLAGS="%optflags -I%_includedir/rpc" +sed -e "s|#include |#include_next |" \ + -i lib/libspl/include/rpc/xdr.h +%endif +%if !%{defined make_build} +%define make_build make %{?_smp_mflags} +%endif +for flavor in %flavors_to_build; do + rm -Rf "../obj-$flavor" + cp -a . "../obj-$flavor" + pushd "../obj-$flavor/" + %configure --with-config=kernel --with-linux="/usr/src/linux" \ + --with-linux-obj="/usr/src/linux-obj/%_target_cpu/$flavor" \ + --sbindir="%_sbindir" || + { cat config.log; exit 1; } + %make_build + popd +done +%configure --with-config=user \ + --disable-sysvinit \ + --enable-systemd \ + --disable-static +%make_build + +%install +export BRP_PESIGN_FILES="*.ko" +b="%buildroot" +for flavor in %flavors_to_build; do + pushd "../obj-$flavor/" + %make_install + popd +done +%make_install bashcompletiondir="%_datadir/bash-completion/completions" +rm -f "$b/%_libdir"/*.la +rm -Rf "$b/usr/src" +# all dracut +rm -Rf "$b/%_datadir/initramfs-tools" +rm -Rf "$b/%_datadir/zfs/zfs-tests" +mkdir -p "$b/%_sbindir" +for s in %services; do + if echo "$s" | grep -q '@' ; then + continue + elif echo "$s" | grep -q 'target' ; then + continue + fi + ln -s service "$b/%_sbindir/rc${s%.service}" +done +# udev location different for SLES 15 and later +if [ -d "$b/lib/udev" ]; then + mv "$b/lib/udev" "$b/usr/lib/udev/" +fi + +cat "$b/%_sysconfdir/sudoers.d/zfs" > zfs-smartctl-sudo.txt +cat <> zfs-smartctl-sudo.txt + +## Security notice +## --------------- +## +## Beware that the rule above, if enabled, is actually problematic. The wildcard +## mechanism in sudo is too lax and cannot be tightened well using sudoers +## syntax. The rule at hand allows any user to run arbitrary +## "smartctl -a /dev/hda[...]" command lines as root like +## +## sudo /usr/sbin/smartctl -a /dev/hda1/../../tmp/some_symlink --extra-switch +## +## So contrary to what the line looks like this allows any user to: +## +## - get smart information for any device (or even pointing it to regular files +## etc), by adding "../../" path components. +## - pass additional arguments to smartctl beyond the "-a" switch for obtaining +## information. +EOF +rm -v "$b/%_sysconfdir/sudoers.d/zfs" + +%fdupes %buildroot/%_prefix + +%pre +%service_add_pre %services + +%post +%service_add_post %services + +%preun +%service_del_preun %services + +%postun +%service_del_postun %services + +%post -n libnvpair3 -p /sbin/ldconfig +%postun -n libnvpair3 -p /sbin/ldconfig +%post -n libuutil3 -p /sbin/ldconfig +%postun -n libuutil3 -p /sbin/ldconfig +%post -n libzfs4 -p /sbin/ldconfig +%postun -n libzfs4 -p /sbin/ldconfig +%post -n libzfsbootenv1 -p /sbin/ldconfig +%postun -n libzfsbootenv1 -p /sbin/ldconfig +%post -n libzfs_core3 -p /sbin/ldconfig +%postun -n libzfs_core3 -p /sbin/ldconfig +%post -n libzpool5 -p /sbin/ldconfig +%postun -n libzpool5 -p /sbin/ldconfig + +%files +%doc zfs-smartctl-sudo.txt +%config %_sysconfdir/default/zfs +%dir %_sysconfdir/zfs +%config %_sysconfdir/zfs/vdev* +%config %_sysconfdir/zfs/zfs-functions +%dir %_sysconfdir/zfs/zed.d +%config %_sysconfdir/zfs/zed.d/*.sh +%config(noreplace) %_sysconfdir/zfs/zed.d/zed.rc +%dir %_sysconfdir/zfs/zpool.d +%config %_sysconfdir/zfs/zpool.d/* +%_bindir/arcstat +%_bindir/arc_summary +%_bindir/dbufstat +%_bindir/raidz_test +%_bindir/z* +%_sbindir/fsck.zfs +%_sbindir/rc* +%_sbindir/z* +%_mandir/man?/*.* +%_datadir/zfs/ +/sbin/mount.zfs +%_prefix/lib/dracut/ +%_prefix/lib/udev/ +%_libexecdir/zfs/ +%_unitdir/zfs* +%_presetdir/50-zfs.preset +/usr/lib/systemd/system-generators/ +/usr/lib/modules-load.d/ + +%files -n libnvpair3 +%_libdir/libnvpair.so.3* + +%files -n libuutil3 +%_libdir/libuutil.so.3* + +%files -n libzfs4 +%_libdir/libzfs.so.4* + +%files -n libzfsbootenv1 +%_libdir/libzfsbootenv.so.1* + +%files -n libzfs_core3 +%_libdir/libzfs_core.so.3* + +%files -n libzpool5 +%_libdir/libzpool.so.5* + +%files devel +%_includedir/libspl/ +%_includedir/libzfs/ +%_libdir/libnvpair.so +%_libdir/libuutil.so +%_libdir/libzfs.so +%_libdir/libzfsbootenv.so +%_libdir/libzfs_core.so +%_libdir/libzpool.so +%_libdir/pkgconfig/*.pc + +%files bash-completion +%_datadir/bash-completion/completions/ + +%changelog