summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/android-file-transfer-linux/Manifest2
-rw-r--r--sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.9.ebuild64
-rw-r--r--sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.1.ebuild79
-rw-r--r--sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild4
-rw-r--r--sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild4
-rw-r--r--sys-fs/android-file-transfer-linux/metadata.xml5
-rw-r--r--sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild4
-rw-r--r--sys-fs/bcache-tools/bcache-tools-9999.ebuild6
-rw-r--r--sys-fs/bees/Manifest1
-rw-r--r--sys-fs/bees/bees-0.7.ebuild95
-rw-r--r--sys-fs/bindfs/Manifest1
-rw-r--r--sys-fs/bindfs/bindfs-1.16.1.ebuild23
-rw-r--r--sys-fs/btrfs-progs/Manifest5
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.10.1-r1.ebuild127
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.15.1.ebuild11
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.16.2.ebuild133
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild136
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.18.1-r1.ebuild (renamed from sys-fs/btrfs-progs/btrfs-progs-5.17.ebuild)32
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-9999.ebuild64
-rw-r--r--sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch40
-rw-r--r--sys-fs/btrfs-progs/files/btrfs-progs-5.18.1-glibc-2.36.patch31
-rw-r--r--sys-fs/cryfs/cryfs-0.10.3-r1.ebuild2
-rw-r--r--sys-fs/cryptmount/cryptmount-5.3.3-r2.ebuild (renamed from sys-fs/cryptmount/cryptmount-5.3.3-r1.ebuild)5
-rw-r--r--sys-fs/ddrescue/ddrescue-1.26.ebuild2
-rw-r--r--sys-fs/ddrescue/metadata.xml8
-rw-r--r--sys-fs/dmraid/dmraid-1.0.0_rc16-r5.ebuild4
-rw-r--r--sys-fs/e2fsprogs/metadata.xml2
-rw-r--r--sys-fs/encfs/encfs-1.9.5-r2.ebuild6
-rw-r--r--sys-fs/erofs-utils/Manifest1
-rw-r--r--sys-fs/erofs-utils/erofs-utils-1.5.ebuild46
-rw-r--r--sys-fs/eudev/Manifest1
-rw-r--r--sys-fs/eudev/eudev-3.2.12_pre3.ebuild247
-rw-r--r--sys-fs/eudev/eudev-9999.ebuild75
-rw-r--r--sys-fs/extundelete/extundelete-0.2.4-r1.ebuild17
-rw-r--r--sys-fs/extundelete/extundelete-0.2.4-r2.ebuild2
-rw-r--r--sys-fs/f2fs-tools/Manifest1
-rw-r--r--sys-fs/f2fs-tools/f2fs-tools-1.15.0.ebuild38
-rw-r--r--sys-fs/fuse-common/metadata.xml4
-rw-r--r--sys-fs/fuse-overlayfs/Manifest1
-rw-r--r--sys-fs/fuse-overlayfs/fuse-overlayfs-1.9.ebuild26
-rw-r--r--sys-fs/fuse/fuse-2.9.9-r1.ebuild4
-rw-r--r--sys-fs/fuse/fuse-2.9.9-r2.ebuild80
-rw-r--r--sys-fs/fuse/fuse-3.11.0.ebuild2
-rw-r--r--sys-fs/genext2fs/files/backport-pr-32.patch94
-rw-r--r--sys-fs/genext2fs/genext2fs-1.5.0-r1.ebuild21
-rw-r--r--sys-fs/google-drive-ocamlfuse/Manifest1
-rw-r--r--sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild34
-rw-r--r--sys-fs/google-drive-ocamlfuse/metadata.xml16
-rw-r--r--sys-fs/growpart/growpart-0.0.32-r1.ebuild (renamed from sys-fs/growpart/growpart-0.0.32.ebuild)4
-rw-r--r--sys-fs/inotify-tools/Manifest4
-rw-r--r--sys-fs/inotify-tools/files/inotify-tools-3.22.6.0-musl.patch26
-rw-r--r--sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild41
-rw-r--r--sys-fs/inotify-tools/inotify-tools-3.21.9.6.ebuild42
-rw-r--r--sys-fs/inotify-tools/inotify-tools-3.22.1.0.ebuild42
-rw-r--r--sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild44
-rw-r--r--sys-fs/inotify-tools/metadata.xml7
-rw-r--r--sys-fs/jfsutils/metadata.xml5
-rw-r--r--sys-fs/libeatmydata/Manifest1
-rw-r--r--sys-fs/libeatmydata/libeatmydata-129-r1.ebuild36
-rw-r--r--sys-fs/libeatmydata/libeatmydata-130.ebuild2
-rw-r--r--sys-fs/loop-aes/Manifest2
-rw-r--r--sys-fs/loop-aes/loop-aes-3.7x.ebuild (renamed from sys-fs/loop-aes/loop-aes-3.7v.ebuild)4
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch34
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch24
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch43
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch18
-rw-r--r--sys-fs/lvm2/lvm2-2.02.188-r3.ebuild (renamed from sys-fs/lvm2/lvm2-2.02.188-r2.ebuild)18
-rw-r--r--sys-fs/lvm2/lvm2-2.03.14-r3.ebuild (renamed from sys-fs/lvm2/lvm2-2.03.14-r1.ebuild)22
-rw-r--r--sys-fs/lxcfs/Manifest7
-rw-r--r--sys-fs/lxcfs/files/lxcfs-5.0.1-fix-reinitialization-with-fuse3.patch71
-rw-r--r--sys-fs/lxcfs/lxcfs-4.0.12.ebuild59
-rw-r--r--sys-fs/lxcfs/lxcfs-5.0.0_p20220524.ebuild77
-rw-r--r--sys-fs/lxcfs/lxcfs-5.0.1-r1.ebuild79
-rw-r--r--sys-fs/lxcfs/lxcfs-5.0.2.ebuild77
-rw-r--r--sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-2tb.patch164
-rw-r--r--sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-musl.patch68
-rw-r--r--sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild53
-rw-r--r--sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r3.ebuild1
-rw-r--r--sys-fs/mergerfs/Manifest1
-rw-r--r--sys-fs/mergerfs/mergerfs-2.33.4.ebuild4
-rw-r--r--sys-fs/mergerfs/mergerfs-2.33.5.ebuild52
-rw-r--r--sys-fs/mtools/Manifest2
-rw-r--r--sys-fs/mtools/mtools-4.0.40.ebuild (renamed from sys-fs/mtools/mtools-4.0.37.ebuild)3
-rw-r--r--sys-fs/multipath-tools/Manifest5
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.8.5-respect-flags.patch12
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.8.6-no-compress-man-pages.patch226
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.9.0-respect-flags.patch15
-rw-r--r--sys-fs/multipath-tools/multipath-tools-0.8.6-r1.ebuild88
-rw-r--r--sys-fs/multipath-tools/multipath-tools-0.8.8.ebuild90
-rw-r--r--sys-fs/multipath-tools/multipath-tools-0.9.0.ebuild (renamed from sys-fs/multipath-tools/multipath-tools-0.8.7.ebuild)55
-rw-r--r--sys-fs/ncdu/Manifest3
-rw-r--r--sys-fs/ncdu/metadata.xml4
-rw-r--r--sys-fs/ncdu/ncdu-1.15.1-r1.ebuild20
-rw-r--r--sys-fs/ncdu/ncdu-1.16-r1.ebuild4
-rw-r--r--sys-fs/ncdu/ncdu-1.17.ebuild16
-rw-r--r--sys-fs/ncdu/ncdu-2.1.2.ebuild33
-rw-r--r--sys-fs/ntfs3g/Manifest2
-rw-r--r--sys-fs/ntfs3g/ntfs3g-2022.5.17.ebuild (renamed from sys-fs/ntfs3g/ntfs3g-2021.8.22-r4.ebuild)4
-rw-r--r--sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild57
-rw-r--r--sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild2
-rw-r--r--sys-fs/udev/udev-250.ebuild2
-rw-r--r--sys-fs/udiskie/Manifest2
-rw-r--r--sys-fs/udiskie/udiskie-2.4.0.ebuild50
-rw-r--r--sys-fs/udiskie/udiskie-2.4.1.ebuild50
-rw-r--r--sys-fs/udiskie/udiskie-2.4.2.ebuild2
-rw-r--r--sys-fs/udisks/udisks-2.9.4.ebuild6
-rw-r--r--sys-fs/unionfs-fuse/unionfs-fuse-2.2-r1.ebuild47
-rw-r--r--sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild6
-rw-r--r--sys-fs/xfsdump/Manifest1
-rw-r--r--sys-fs/xfsdump/xfsdump-3.1.9-r1.ebuild70
-rw-r--r--sys-fs/xfsprogs/Manifest4
-rw-r--r--sys-fs/xfsprogs/files/xfsprogs-5.18.0-docdir.patch11
-rw-r--r--sys-fs/xfsprogs/xfsprogs-5.10.0-r1.ebuild95
-rw-r--r--sys-fs/xfsprogs/xfsprogs-5.15.0.ebuild94
-rw-r--r--sys-fs/xfsprogs/xfsprogs-5.18.0.ebuild (renamed from sys-fs/xfsprogs/xfsprogs-5.16.0.ebuild)8
-rw-r--r--sys-fs/zerofree/zerofree-1.1.1-r1.ebuild4
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-1.2.4-drop-which.patch47
-rw-r--r--sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r2.ebuild (renamed from sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r1.ebuild)1
-rw-r--r--sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild92
-rw-r--r--sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild1
-rw-r--r--sys-fs/zfs-kmod/Manifest6
-rw-r--r--sys-fs/zfs-kmod/files/0.8.6-copy-builtin.patch27
-rw-r--r--sys-fs/zfs-kmod/files/2.1.5-build-issues.patch74
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.1.5-r1.ebuild (renamed from sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild)114
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.1.5.ebuild (renamed from sys-fs/zfs-kmod/zfs-kmod-2.1.2.ebuild)11
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-9999.ebuild2
-rw-r--r--sys-fs/zfs/Manifest6
-rw-r--r--sys-fs/zfs/files/2.1.2-scrub-timers.patch147
-rw-r--r--sys-fs/zfs/files/2.1.5-build-issues.patch74
-rw-r--r--sys-fs/zfs/files/2.1.5-dracut-mount.patch29
-rw-r--r--sys-fs/zfs/files/2.1.5-dracut-non-root.patch33
-rw-r--r--sys-fs/zfs/files/2.1.5-dracut-zfs-missing.patch14
-rw-r--r--sys-fs/zfs/files/2.1.5-r2-dracut-non-root.patch60
-rw-r--r--sys-fs/zfs/zfs-2.0.7-r1.ebuild (renamed from sys-fs/zfs/zfs-2.0.7.ebuild)11
-rw-r--r--sys-fs/zfs/zfs-2.1.4-r1.ebuild (renamed from sys-fs/zfs/zfs-0.8.6-r2.ebuild)112
-rw-r--r--sys-fs/zfs/zfs-2.1.5-r1.ebuild (renamed from sys-fs/zfs/zfs-2.1.2-r1.ebuild)17
-rw-r--r--sys-fs/zfs/zfs-2.1.5-r3.ebuild319
-rw-r--r--sys-fs/zfs/zfs-2.1.5-r4.ebuild321
-rw-r--r--sys-fs/zfs/zfs-2.1.5-r5.ebuild333
-rw-r--r--sys-fs/zfs/zfs-2.1.5.ebuild (renamed from sys-fs/zfs/zfs-2.1.4.ebuild)9
-rw-r--r--sys-fs/zfs/zfs-9999.ebuild17
141 files changed, 3625 insertions, 2084 deletions
diff --git a/sys-fs/android-file-transfer-linux/Manifest b/sys-fs/android-file-transfer-linux/Manifest
index 50d40215513..d50d223a791 100644
--- a/sys-fs/android-file-transfer-linux/Manifest
+++ b/sys-fs/android-file-transfer-linux/Manifest
@@ -1,3 +1 @@
-DIST android-file-transfer-linux-3.9.tar.gz 781268 BLAKE2B 63032a39b39cf31b8d051c0069c0357f0b6ed5bd9e592ee5ce1f5e95438ff27571ec7d58789eb865a1896097c3cebf0ec30a89526b62c93694d71ca29e95d415 SHA512 7468ff19d2b4ae0f768eea70ec45246da11c4e541d07a9548d057c080adbbc905f76dcdff18c4c8478cd19aee6992d02beaf8b4275d7302997652e25351ab5c8
-DIST android-file-transfer-linux-4.1.tar.gz 820290 BLAKE2B 598a4ae25cc5110c38534d1b2b49c034f3dee3f8ab9e47835b4543acecf80521c102e0b8cdf89a19801b178a8fdbbd09e866b957b3ab5886700a26e6c00f8a1b SHA512 76151089dcce304fb688a54a4f94ea605fa3d048765119c631a2ff2c8d107678062ed4d485a983dfb0b337c9b4d3639e3f76640b6bcc73e3e6449764e99298ab
DIST android-file-transfer-linux-4.2.tar.gz 823609 BLAKE2B dfd9b6ef4a92b1bc7851fd160837366b97fa95db5a998b9df156dd8543be554e07d02aae9be9f27b1cd9ee96aacc2003e06e4c7670c49b478e07779c92829817 SHA512 88ee6bf0af6cf6b2f6b97dee8e79d20905d2a84c271d68d874b87ccc797f198f1e480565633feea08a585ebb55e77da9742bd9cd87b59d88e677c44c69e95659
diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.9.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.9.ebuild
deleted file mode 100644
index e2ce2ae66cf..00000000000
--- a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.9.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake xdg
-
-DESCRIPTION="Android File Transfer for Linux"
-HOMEPAGE="https://github.com/whoozle/android-file-transfer-linux"
-
-if [[ "${PV}" = *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/whoozle/android-file-transfer-linux.git"
-else
- SRC_URI="https://github.com/whoozle/android-file-transfer-linux/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~x86"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="fuse qt5"
-
-RDEPEND="
- sys-apps/file
- sys-libs/readline:0=
- fuse? ( sys-fs/fuse:0 )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- )
-"
-
-DEPEND="${RDEPEND}"
-
-# required to override src_prepare from xdg eclass
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_FUSE="$(usex fuse)"
- -DBUILD_QT_UI="$(usex qt5)"
- -DBUILD_SHARED_LIB="ON"
- # Upstream recommends to keep this off as libusb is broken
- -DUSB_BACKEND_LIBUSB="OFF"
- $(usex qt5 '-DDESIRED_QT_VERSION=5' '')
- )
- cmake_src_configure
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.1.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.1.ebuild
deleted file mode 100644
index 0b38a78cc13..00000000000
--- a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.1.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit cmake python-single-r1 xdg
-
-DESCRIPTION="Android File Transfer for Linux"
-HOMEPAGE="https://github.com/whoozle/android-file-transfer-linux"
-
-if [[ "${PV}" = *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/whoozle/android-file-transfer-linux.git"
-else
- SRC_URI="https://github.com/whoozle/android-file-transfer-linux/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~x86"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="fuse python qt5 taglib zune"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- sys-apps/file
- sys-libs/readline:0=
- fuse? ( sys-fs/fuse:0 )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/pybind11[${PYTHON_USEDEP}]
- ')
- )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- )
- taglib? ( media-libs/taglib )
- zune? (
- dev-libs/openssl:0=
- )
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="
- virtual/pkgconfig
- qt5? ( dev-qt/linguist-tools:5 )
-"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-# required to override src_prepare from xdg eclass
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_FUSE="$(usex fuse)"
- -DBUILD_MTPZ="$(usex zune)"
- -DBUILD_PYTHON="$(usex python)"
- -DBUILD_QT_UI="$(usex qt5)"
- -DBUILD_SHARED_LIB="ON"
- -DBUILD_TAGLIB="$(usex taglib)"
- # Upstream recommends to keep this off as libusb is broken
- -DUSB_BACKEND_LIBUSB="OFF"
- $(usex qt5 '-DDESIRED_QT_VERSION=5' '')
- )
- cmake_src_configure
-}
diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild
index 0b38a78cc13..242c2c0cc22 100644
--- a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild
+++ b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit cmake python-single-r1 xdg
diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild
index 344d6b2e654..c4f1917e99d 100644
--- a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild
+++ b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit cmake python-single-r1 xdg
diff --git a/sys-fs/android-file-transfer-linux/metadata.xml b/sys-fs/android-file-transfer-linux/metadata.xml
index b460969636e..3b18b9d156b 100644
--- a/sys-fs/android-file-transfer-linux/metadata.xml
+++ b/sys-fs/android-file-transfer-linux/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">whoozle/android-file-transfer-linux</remote-id>
</upstream>
diff --git a/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild b/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild
index f2e436d2fa2..9e6dc7c6477 100644
--- a/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild
+++ b/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild
@@ -69,3 +69,7 @@ src_install() {
pkg_postinst() {
udev_reload
}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/bcache-tools/bcache-tools-9999.ebuild b/sys-fs/bcache-tools/bcache-tools-9999.ebuild
index 31a8bc17834..1afc686aaca 100644
--- a/sys-fs/bcache-tools/bcache-tools-9999.ebuild
+++ b/sys-fs/bcache-tools/bcache-tools-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -67,3 +67,7 @@ src_install() {
pkg_postinst() {
udev_reload
}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/bees/Manifest b/sys-fs/bees/Manifest
index 90c2cb2bccb..1c7af098503 100644
--- a/sys-fs/bees/Manifest
+++ b/sys-fs/bees/Manifest
@@ -1 +1,2 @@
DIST bees-0.6.5.tar.gz 125987 BLAKE2B 459cec5f3c706045ee12a6efe2e32315d71ca16c966bbdb4d6c813f726a7cc411cf4bd272c082ba0bbfc33e9ec4c715a6be773ba929c2b5b31f1731e10ad137c SHA512 db4cf6bc8c7709ee9aa1e2faa2ac1c6323fb8c7407470cec0c370a0f910ec4a1f3cf6ebe695d16383aaec00b62b3de77aa5bbdd47502bdb564e247b3b8879e0b
+DIST bees-0.7.tar.gz 164311 BLAKE2B b0b7f1bc24257e385b6201f473bf9377021d542a257b341c5c8ba5372fa604697e717bb65329d57abf2d2ac4311325e3242c481430629c911fcee3e42e1ea55e SHA512 beee7563ae0ea43247465941ef15f7bab2d86d5d164ccb280c378678b0bf61a67a4718881b94a5f3a72d4d0296eda92bfd7464dae0faeaa72b0e2a4ebef39a53
diff --git a/sys-fs/bees/bees-0.7.ebuild b/sys-fs/bees/bees-0.7.ebuild
new file mode 100644
index 00000000000..a37916aa176
--- /dev/null
+++ b/sys-fs/bees/bees-0.7.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-info systemd toolchain-funcs
+
+DESCRIPTION="Best-Effort Extent-Same, a btrfs dedup agent"
+HOMEPAGE="https://github.com/Zygo/bees"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Zygo/bees.git"
+else
+ SRC_URI="https://github.com/Zygo/bees/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="tools"
+
+DEPEND="
+ >=sys-apps/util-linux-2.30.2
+ >=sys-fs/btrfs-progs-4.20.2
+"
+RDEPEND="${DEPEND}"
+
+CONFIG_CHECK="~BTRFS_FS"
+ERROR_BTRFS_FS="CONFIG_BTRFS_FS: bees does currently only work with btrfs"
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != buildonly ]]; then
+ if kernel_is -lt 4 11; then
+ ewarn "With kernel versions below 4.11, bees may severely degrade system performance"
+ ewarn "and responsiveness. Especially, the kernel may deadlock while bees is"
+ ewarn "running, it's recommended to run at least kernel 4.11."
+ ewarn
+ elif kernel_is -lt 4 14 29; then
+ ewarn "With kernel versions below 4.14.29, bees may generate a lot of bogus WARN_ON()"
+ ewarn "messages in the kernel log. These messages can be ignored and this is fixed"
+ ewarn "with more recent kernels:"
+ ewarn "# WARNING: CPU: 3 PID: 18172 at fs/btrfs/backref.c:1391 find_parent_nodes+0xc41/0x14e0"
+ ewarn
+ fi
+ if kernel_is -lt 5 1 0; then
+ ewarn "IMPORTANT: With kernel versions below 5.1.0, you may experience data corruption"
+ ewarn "due to bees using compression in btrfs. You are adviced to use a chronologically"
+ ewarn "later kernel, that includes older LTS versions released after 5.0.4:"
+ ewarn "Fixed in: 5.1+, 5.0.4+, 4.19.31+, 4.14.108+, 4.9.165+, 4.4.177+, 3.18.137+"
+ ewarn "# commit 8e92821 btrfs: fix corruption reading shared and compressed extents after hole punching"
+ ewarn
+ fi
+ if kernel_is -lt 5 3 4; then
+ ewarn "With kernel versions below 5.3.4, bees may trigger a btrfs bug when running"
+ ewarn "btrfs-balance in parallel. This may lead to meta-data corruption in the worst"
+ ewarn "case. Especially, kernels 5.1.21 and 5.2.21 should be avoided. Kernels 5.0.x"
+ ewarn "after 5.0.21 should be safe. In the best case, affected kernels may force"
+ ewarn "the device RO without writing corrupted meta-data. More details:"
+ ewarn "https://github.com/Zygo/bees/blob/master/docs/btrfs-kernel.md"
+ ewarn
+ fi
+
+ elog "Bees recommends running the latest current kernel for performance and"
+ elog "reliability reasons, see README.md."
+ fi
+}
+
+src_prepare() {
+ default
+ sed -i 's/ -Werror//' makeflags || die
+}
+
+src_configure() {
+ tc-export CC CXX AR
+ cat >localconf <<-EOF || die
+ ETC_PREFIX="${EPREFIX}/etc"
+ LIBEXEC_PREFIX="${EPREFIX}/usr/libexec"
+ PREFIX="${EPREFIX}/usr"
+ SYSTEMD_SYSTEM_UNIT_DIR="$(systemd_get_systemunitdir)"
+ DEFAULT_MAKE_TARGET=all
+ EOF
+ if [[ ${PV} != "9999" ]] ; then
+ echo BEES_VERSION=v${PV} >>localconf || die
+ fi
+ if use tools; then
+ echo OPTIONAL_INSTALL_TARGETS=install_tools >>localconf || die
+ fi
+}
+
+src_compile() {
+ default
+ # localconf quotes leak in the systemd unit but are still needed for spaces
+ sed -i 's/"//g' scripts/beesd@.service || die
+}
diff --git a/sys-fs/bindfs/Manifest b/sys-fs/bindfs/Manifest
index 20f2bae4283..eb33b788e15 100644
--- a/sys-fs/bindfs/Manifest
+++ b/sys-fs/bindfs/Manifest
@@ -1,3 +1,4 @@
DIST bindfs-1.14.9.tar.gz 410344 BLAKE2B 3875c436e7f52a59c0b7aeb2d7fbcfa7d4edfc3f8397bf7d2a920a260f857ec16df64b78655175f9b0929b93788fb6af46c2844f30ee59c30b6ef9fb5beb4cf7 SHA512 e8c454b4edd65faa64255c7706c195aa1cab6436a0d3481e434a5e535a3c24df1b13342b72ed3da097e68e9d94582237d682dbb675734061d115e863d5767ffd
DIST bindfs-1.15.0.tar.gz 415596 BLAKE2B e80bf7e233668ceddb6f57b7b939a68c918f3a6635d99bdc0efdacd67d74fdea66aa3d03ced6cfeddfc1a402e9866d27d83bcbe39dc6c25c50247c6b42739d9a SHA512 4f11dcb29321daa950bc8d778c7cc0269f200535367534c5ebb1e85f2f9e0e37359ebaa0d033fefc2140f07915d6ad7e884d185ac168db31c32e2e52175d0bfa
DIST bindfs-1.15.1.tar.gz 415676 BLAKE2B 1d18d7a51e60e5ef304cdd13e908ebf5ca3e684b640f6c21678be685c3ff15ed43a20edcecfd6ef13d631974b11c5c7145e4365bf52f7e9280a53772f1377b84 SHA512 da9003f141b7aa2c23651b3b836b1d979bf1b19915f307c05e40ae6906aab738036cc8b5df6caeec158e4fa6b7bca71489ea7884ff1607c6fea72a603a048d59
+DIST bindfs-1.16.1.tar.gz 421240 BLAKE2B 1c33891d7f8f6beed2d18a50e2742c5cf8474f9b27b2afdac593f8a923445d7e2af9027371655845846d4fc67a858f1863a207cb8a78335a179329501a52454f SHA512 6fc6121dc5a9db040f444b432aed4c720250e268087c68e5a0c9a652370a431c94c05fddfa8515ffb86a0f76582bb9a8fa4f9ef66608b82a3b8a5fbb00d2f3dc
diff --git a/sys-fs/bindfs/bindfs-1.16.1.ebuild b/sys-fs/bindfs/bindfs-1.16.1.ebuild
new file mode 100644
index 00000000000..f884f36abe8
--- /dev/null
+++ b/sys-fs/bindfs/bindfs-1.16.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="FUSE filesystem for bind mounting with altered permissions"
+HOMEPAGE="https://bindfs.org/"
+SRC_URI="https://bindfs.org/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+
+RDEPEND=">=sys-fs/fuse-3.10.2:3"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+RESTRICT="test"
+
+src_configure() {
+ econf $(use_enable debug debug-output) --with-fuse3
+}
diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest
index 8eb46af75e9..b2d5e48c0b5 100644
--- a/sys-fs/btrfs-progs/Manifest
+++ b/sys-fs/btrfs-progs/Manifest
@@ -1,5 +1,2 @@
-DIST btrfs-progs-v5.10.1.tar.xz 2204164 BLAKE2B ed83729754f9abd22d4d2e7ae9a7e90e80be9b63d49a4a9692e20e5939467dbd864834b71495661e1c7a1fca89e253a62fbda37f1d01d2eadecb13f5904f0dd0 SHA512 32e5b8bda1863e34613802db91946f240b2cde21288ff8f95c1807e7afd0a67c5a704aa4d2bc0d7b1ca094de6831adbfec83fe61f74e1caf6d1975be7d972f2d
DIST btrfs-progs-v5.15.1.tar.xz 2280796 BLAKE2B b460254a6261d3d04a2d265a3b4e05a89385888f7ea4f2b16ec5b73922646c7f47a546fc78ba7c009e65914125435cf38157eabffc74f5d00df2c21c844922e3 SHA512 68ed89e337ae857fdaf077eaa889e259e9f162ea2222bdaa03f4187783a8682c24d45c91b0559b901d81429ba2cd3f84087d032d354092d5512fb226bdf91549
-DIST btrfs-progs-v5.16.2.tar.xz 2334464 BLAKE2B a21809a840107c370f1598e19f8b07d8bdd704e8ff3ce4cb78431000e7560802e1047d8200c523a45a761d59a311f1ec384946bd585826a129b05a1a5fd0250e SHA512 c89a763e8b099e0e9d04ff239dfee156a15fc783c515bbd48597f5645f720c377dbb4f2dfe9065971a65d3ade9d8fcb24cf37d527811bf4204153a06f7c8c3a7
-DIST btrfs-progs-v5.16.tar.xz 2327376 BLAKE2B 3bb3b630d465068373bf39776389f733e734cb39801b389a4e94ba2bb325e9625e2cd767c783e4a05e1e18fed92c06190c5d3fbb476b57689a16482357c86b61 SHA512 3ba557134b19f1abb6c63bf3e2092852f92e988677c4bcf9421c824824b87565ae5cc0e5bca0370be81766a8c8fbda21dfb443dcd159f705f31e70b6bf19aa63
-DIST btrfs-progs-v5.17.tar.xz 2286016 BLAKE2B 013acc4f9ec294d8d88b04e9f0ee33c450bfa6621b029005d18885add7c0a1da7e645c1f984931749ebd8f3166e8d849ec128a0f95cc189c15878d45acc0901b SHA512 4c2bfafe0fcae47f01bad41910c2e2b3d48a12b88ca1891a9ea63ac1e65699c2e22f481492c7dd11fbea546647ab78718ab9b6997bb257fc29d1482fde9b08d1
+DIST btrfs-progs-v5.18.1.tar.xz 2293940 BLAKE2B ce2326cca51a4242895aada860e290c6af69a216dc6369673bb3321ab91bfe1c995fcc37dd0c1e15c8e28aabaedf3d6c9508bde393eb0ba4c7b9327c922f749a SHA512 265a03b0db00a231ad51bb75fb161dee0a7a51cd120a696ca0524f08ef635b18afe43b391fa9889a4a79734ccc3931e4374bd950eb26dc47ddc8482368efed0e
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.10.1-r1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.10.1-r1.ebuild
deleted file mode 100644
index ec36b2152a5..00000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-5.10.1-r1.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 2008-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..9} )
-
-inherit bash-completion-r1 python-single-r1
-
-libbtrfs_soname=0
-
-if [[ ${PV} != 9999 ]]; then
- MY_PV="v${PV/_/-}"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv ~sparc x86"
- SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
- S="${WORKDIR}/${PN}-${MY_PV}"
-else
- WANT_LIBTOOL=none
- inherit autotools git-r3
- EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
- EGIT_BRANCH="devel"
-fi
-
-DESCRIPTION="Btrfs filesystem utilities"
-HOMEPAGE="https://btrfs.wiki.kernel.org"
-
-LICENSE="GPL-2"
-SLOT="0/${libbtrfs_soname}"
-IUSE="+convert doc python reiserfs static static-libs +zstd"
-
-RESTRICT=test # tries to mount repared filesystems
-
-RDEPEND="
- dev-libs/lzo:2=
- sys-apps/util-linux:0=[static-libs(+)?]
- sys-libs/zlib:0=
- convert? (
- sys-fs/e2fsprogs:=
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27
- )
- )
- python? ( ${PYTHON_DEPS} )
- zstd? ( app-arch/zstd:0= )
-"
-DEPEND="${RDEPEND}
- convert? ( sys-apps/acl )
- python? (
- $(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- )
- static? (
- dev-libs/lzo:2[static-libs(+)]
- sys-apps/util-linux:0[static-libs(+)]
- sys-libs/zlib:0[static-libs(+)]
- convert? (
- sys-fs/e2fsprogs[static-libs(+)]
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
- )
- )
- zstd? ( app-arch/zstd:0[static-libs(+)] )
- )
-"
-BDEPEND="
- doc? (
- || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor )
- app-text/docbook-xml-dtd:4.5
- app-text/xmlto
- )
-"
-
-if [[ ${PV} == 9999 ]]; then
- DEPEND+=" sys-devel/gnuconfig"
-fi
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- if [[ ${PV} == 9999 ]]; then
- AT_M4DIR=m4 eautoreconf
- mkdir config || die
- local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
- [[ -e ${automakedir} ]] || die "Could not locate automake directory"
- ln -s "${automakedir}"/install-sh config/install-sh || die
- ln -s "${EPREFIX}"/usr/share/gnuconfig/config.guess config/config.guess || die
- ln -s "${EPREFIX}"/usr/share/gnuconfig/config.sub config/config.sub || die
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- --bindir="${EPREFIX}"/sbin
- $(use_enable convert)
- $(use_enable doc documentation)
- $(use_enable elibc_glibc backtrace)
- $(use_enable python)
- $(use_enable static-libs static)
- $(use_enable zstd)
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
- )
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake V=1 all $(usev static)
-}
-
-src_install() {
- local makeargs=(
- $(usex python install_python '')
- $(usex static install-static '')
- )
- emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
- newbashcomp btrfs-completion btrfs
- use python && python_optimize
-
- # install prebuilt subset of manuals
- use doc || doman Documentation/*.[58]
-}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.15.1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.15.1.ebuild
index 64cc9168091..a15d9125d0e 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-5.15.1.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-5.15.1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2008-2021 Gentoo Authors
+# Copyright 2008-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..10} )
-inherit bash-completion-r1 python-single-r1
+inherit bash-completion-r1 python-single-r1 udev
libbtrfs_soname=0
@@ -84,6 +84,9 @@ pkg_setup() {
}
src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/btrfs-progs-5.18.1-glibc-2.36.patch"
+ )
default
if [[ ${PV} == 9999 ]]; then
AT_M4DIR=m4 eautoreconf
@@ -126,3 +129,7 @@ src_install() {
# install prebuilt subset of manuals
use doc || doman Documentation/*.[58]
}
+
+pkg_postrm() {
+ [[ -n ${REPLACED_BY_VERSION} ]] || udev_reload
+}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.16.2.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.16.2.ebuild
deleted file mode 100644
index b9b56b46d14..00000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-5.16.2.ebuild
+++ /dev/null
@@ -1,133 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# TODO: change to sphinx for docs in 5.17
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit bash-completion-r1 python-single-r1
-
-libbtrfs_soname=0
-
-if [[ ${PV} != 9999 ]]; then
- MY_PV="v${PV/_/-}"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
- SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
- S="${WORKDIR}/${PN}-${MY_PV}"
-else
- WANT_LIBTOOL=none
- inherit autotools git-r3
- EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
- EGIT_BRANCH="devel"
-fi
-
-DESCRIPTION="Btrfs filesystem utilities"
-HOMEPAGE="https://btrfs.wiki.kernel.org"
-
-LICENSE="GPL-2"
-SLOT="0/${libbtrfs_soname}"
-IUSE="+convert doc python reiserfs static static-libs +zstd"
-
-RESTRICT="test" # tries to mount repaired filesystems
-
-RDEPEND="
- dev-libs/lzo:2=
- sys-apps/util-linux:0=[static-libs(+)?]
- sys-libs/zlib:0=
- convert? (
- sys-fs/e2fsprogs:=
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27
- )
- )
- python? ( ${PYTHON_DEPS} )
- zstd? ( app-arch/zstd:0= )
-"
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-5.10
- convert? ( sys-apps/acl )
- python? (
- $(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- )
- static? (
- dev-libs/lzo:2[static-libs(+)]
- sys-apps/util-linux:0[static-libs(+)]
- sys-libs/zlib:0[static-libs(+)]
- convert? (
- sys-fs/e2fsprogs[static-libs(+)]
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
- )
- )
- zstd? ( app-arch/zstd:0[static-libs(+)] )
- )
-"
-BDEPEND="
- doc? (
- || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor )
- app-text/docbook-xml-dtd:4.5
- app-text/xmlto
- )
-"
-
-if [[ ${PV} == 9999 ]]; then
- BDEPEND+=" sys-devel/gnuconfig"
-fi
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- if [[ ${PV} == 9999 ]]; then
- AT_M4DIR=m4 eautoreconf
- mkdir config || die
- local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
- [[ -e ${automakedir} ]] || die "Could not locate automake directory"
- ln -s "${automakedir}"/install-sh config/install-sh || die
- ln -s "${BROOT}"/usr/share/gnuconfig/config.guess config/config.guess || die
- ln -s "${BROOT}"/usr/share/gnuconfig/config.sub config/config.sub || die
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- --bindir="${EPREFIX}"/sbin
- $(use_enable convert)
- $(use_enable doc documentation)
- $(use_enable elibc_glibc backtrace)
- $(use_enable python)
- $(use_enable static-libs static)
- $(use_enable zstd)
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake V=1 all $(usev static)
-}
-
-src_install() {
- local makeargs=(
- $(usex python install_python '')
- $(usex static install-static '')
- )
-
- emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
-
- newbashcomp btrfs-completion btrfs
-
- use python && python_optimize
-
- # install prebuilt subset of manuals
- use doc || doman Documentation/*.[58]
-}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild
deleted file mode 100644
index 015b8136717..00000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit bash-completion-r1 python-single-r1
-
-libbtrfs_soname=0
-
-if [[ ${PV} != 9999 ]]; then
- MY_PV="v${PV/_/-}"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
- SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
- S="${WORKDIR}/${PN}-${MY_PV}"
-else
- WANT_LIBTOOL=none
- inherit autotools git-r3
- EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
- EGIT_BRANCH="devel"
-fi
-
-DESCRIPTION="Btrfs filesystem utilities"
-HOMEPAGE="https://btrfs.wiki.kernel.org"
-
-LICENSE="GPL-2"
-SLOT="0/${libbtrfs_soname}"
-IUSE="+convert doc python reiserfs static static-libs +zstd"
-
-RESTRICT="test" # tries to mount repaired filesystems
-
-RDEPEND="
- dev-libs/lzo:2=
- sys-apps/util-linux:0=[static-libs(+)?]
- sys-libs/zlib:0=
- convert? (
- sys-fs/e2fsprogs:=
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27
- )
- )
- python? ( ${PYTHON_DEPS} )
- zstd? ( app-arch/zstd:0= )
-"
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-5.10
- convert? ( sys-apps/acl )
- python? (
- $(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- )
- static? (
- dev-libs/lzo:2[static-libs(+)]
- sys-apps/util-linux:0[static-libs(+)]
- sys-libs/zlib:0[static-libs(+)]
- convert? (
- sys-fs/e2fsprogs[static-libs(+)]
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
- )
- )
- zstd? ( app-arch/zstd:0[static-libs(+)] )
- )
-"
-BDEPEND="
- doc? (
- || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor )
- app-text/docbook-xml-dtd:4.5
- app-text/xmlto
- )
-"
-
-if [[ ${PV} == 9999 ]]; then
- BDEPEND+=" sys-devel/gnuconfig"
-fi
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=(
- "${FILESDIR}"/5.16-linux-headers-before-5.11.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- if [[ ${PV} == 9999 ]]; then
- AT_M4DIR=m4 eautoreconf
- mkdir config || die
- local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
- [[ -e ${automakedir} ]] || die "Could not locate automake directory"
- ln -s "${automakedir}"/install-sh config/install-sh || die
- ln -s "${BROOT}"/usr/share/gnuconfig/config.guess config/config.guess || die
- ln -s "${BROOT}"/usr/share/gnuconfig/config.sub config/config.sub || die
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- --bindir="${EPREFIX}"/sbin
- $(use_enable convert)
- $(use_enable doc documentation)
- $(use_enable elibc_glibc backtrace)
- $(use_enable python)
- $(use_enable static-libs static)
- $(use_enable zstd)
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake V=1 all $(usev static)
-}
-
-src_install() {
- local makeargs=(
- $(usex python install_python '')
- $(usex static install-static '')
- )
-
- emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
-
- newbashcomp btrfs-completion btrfs
-
- use python && python_optimize
-
- # install prebuilt subset of manuals
- use doc || doman Documentation/*.[58]
-}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.17.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.18.1-r1.ebuild
index 70f276f2ea3..0ba3477e685 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-5.17.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-5.18.1-r1.ebuild
@@ -30,7 +30,10 @@ HOMEPAGE="https://btrfs.wiki.kernel.org"
LICENSE="GPL-2"
SLOT="0/${libbtrfs_soname}"
-IUSE="+convert doc python reiserfs static static-libs +zstd"
+IUSE="+convert python +man reiserfs static static-libs udev +zstd"
+# Could support it with just !systemd => eudev, see mdadm, but let's
+# see if someone asks for it first.
+REQUIRED_USE="static? ( !udev )"
# Tries to mount repaired filesystems
RESTRICT="test"
@@ -46,6 +49,7 @@ RDEPEND="
)
)
python? ( ${PYTHON_DEPS} )
+ udev? ( virtual/libudev:= )
zstd? ( app-arch/zstd:= )
"
DEPEND="${RDEPEND}
@@ -69,13 +73,8 @@ DEPEND="${RDEPEND}
zstd? ( app-arch/zstd[static-libs(+)] )
)
"
-BDEPEND="
- doc? (
- app-text/docbook-xml-dtd:4.5
- app-text/xmlto
- dev-python/sphinx
- )
-"
+BDEPEND="virtual/pkgconfig
+ man? ( dev-python/sphinx )"
if [[ ${PV} == 9999 ]]; then
BDEPEND+=" sys-devel/gnuconfig"
@@ -88,6 +87,9 @@ pkg_setup() {
}
src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/btrfs-progs-5.18.1-glibc-2.36.patch"
+ )
default
if [[ ${PV} == 9999 ]]; then
AT_M4DIR="m4" eautoreconf
@@ -106,13 +108,18 @@ src_configure() {
local myeconfargs=(
--bindir="${EPREFIX}"/sbin
+ --enable-lzo
+ --disable-experimental
$(use_enable convert)
- $(use_enable doc documentation)
+ $(use_enable man documentation)
$(use_enable elibc_glibc backtrace)
$(use_enable python)
$(use_enable static-libs static)
+ $(use_enable udev libudev)
$(use_enable zstd)
+ # Could support libgcrypt, libsodium, libkcapi
+ --with-crypto=builtin
--with-convert=ext2$(usex reiserfs ',reiserfs' '')
)
@@ -134,11 +141,12 @@ src_install() {
newbashcomp btrfs-completion btrfs
use python && python_optimize
-
- # Install prebuilt subset of manuals
- use doc || doman Documentation/*.[58]
}
pkg_postinst() {
udev_reload
}
+
+pkg_postrm() {
+ [[ -n ${REPLACED_BY_VERSION} ]] || udev_reload
+}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
index b9b56b46d14..76f2afe1fe0 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
@@ -3,24 +3,26 @@
EAPI=7
-# TODO: change to sphinx for docs in 5.17
PYTHON_COMPAT=( python3_{8..10} )
-inherit bash-completion-r1 python-single-r1
+inherit bash-completion-r1 python-single-r1 udev
libbtrfs_soname=0
if [[ ${PV} != 9999 ]]; then
MY_PV="v${PV/_/-}"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
- S="${WORKDIR}/${PN}-${MY_PV}"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ fi
+
+ S="${WORKDIR}"/${PN}-${MY_PV}
else
- WANT_LIBTOOL=none
- inherit autotools git-r3
EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
EGIT_BRANCH="devel"
+ WANT_LIBTOOL="none"
+ inherit autotools git-r3
fi
DESCRIPTION="Btrfs filesystem utilities"
@@ -28,14 +30,18 @@ HOMEPAGE="https://btrfs.wiki.kernel.org"
LICENSE="GPL-2"
SLOT="0/${libbtrfs_soname}"
-IUSE="+convert doc python reiserfs static static-libs +zstd"
+IUSE="+convert python +man reiserfs static static-libs udev +zstd"
+# Could support it with just !systemd => eudev, see mdadm, but let's
+# see if someone asks for it first.
+REQUIRED_USE="static? ( !udev )"
-RESTRICT="test" # tries to mount repaired filesystems
+# Tries to mount repaired filesystems
+RESTRICT="test"
RDEPEND="
dev-libs/lzo:2=
- sys-apps/util-linux:0=[static-libs(+)?]
- sys-libs/zlib:0=
+ sys-apps/util-linux:=[static-libs(+)?]
+ sys-libs/zlib:=
convert? (
sys-fs/e2fsprogs:=
reiserfs? (
@@ -43,7 +49,8 @@ RDEPEND="
)
)
python? ( ${PYTHON_DEPS} )
- zstd? ( app-arch/zstd:0= )
+ udev? ( virtual/libudev:= )
+ zstd? ( app-arch/zstd:= )
"
DEPEND="${RDEPEND}
>=sys-kernel/linux-headers-5.10
@@ -63,16 +70,11 @@ DEPEND="${RDEPEND}
>=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
)
)
- zstd? ( app-arch/zstd:0[static-libs(+)] )
- )
-"
-BDEPEND="
- doc? (
- || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor )
- app-text/docbook-xml-dtd:4.5
- app-text/xmlto
+ zstd? ( app-arch/zstd[static-libs(+)] )
)
"
+BDEPEND="virtual/pkgconfig
+ man? ( dev-python/sphinx )"
if [[ ${PV} == 9999 ]]; then
BDEPEND+=" sys-devel/gnuconfig"
@@ -87,10 +89,12 @@ pkg_setup() {
src_prepare() {
default
if [[ ${PV} == 9999 ]]; then
- AT_M4DIR=m4 eautoreconf
+ AT_M4DIR="m4" eautoreconf
+
mkdir config || die
local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
[[ -e ${automakedir} ]] || die "Could not locate automake directory"
+
ln -s "${automakedir}"/install-sh config/install-sh || die
ln -s "${BROOT}"/usr/share/gnuconfig/config.guess config/config.guess || die
ln -s "${BROOT}"/usr/share/gnuconfig/config.sub config/config.sub || die
@@ -100,12 +104,19 @@ src_prepare() {
src_configure() {
local myeconfargs=(
--bindir="${EPREFIX}"/sbin
+
+ --enable-lzo
+ --disable-experimental
$(use_enable convert)
- $(use_enable doc documentation)
+ $(use_enable man documentation)
$(use_enable elibc_glibc backtrace)
$(use_enable python)
$(use_enable static-libs static)
+ $(use_enable udev libudev)
$(use_enable zstd)
+
+ # Could support libgcrypt, libsodium, libkcapi
+ --with-crypto=builtin
--with-convert=ext2$(usex reiserfs ',reiserfs' '')
)
@@ -127,7 +138,12 @@ src_install() {
newbashcomp btrfs-completion btrfs
use python && python_optimize
+}
+
+pkg_postinst() {
+ udev_reload
+}
- # install prebuilt subset of manuals
- use doc || doman Documentation/*.[58]
+pkg_postrm() {
+ [[ -n ${REPLACED_BY_VERSION} ]] || udev_reload
}
diff --git a/sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch b/sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch
deleted file mode 100644
index 184656d96d2..00000000000
--- a/sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-https://github.com/kdave/btrfs-progs/commit/b0cfe12c4d4b8b4ef335cdf4ddefcbdcd1b70d58.patch
-https://bugs.gentoo.org/831817
-
-From b0cfe12c4d4b8b4ef335cdf4ddefcbdcd1b70d58 Mon Sep 17 00:00:00 2001
-From: David Sterba <dsterba@suse.com>
-Date: Thu, 13 Jan 2022 14:47:08 +0100
-Subject: [PATCH] btrfs-progs: kerncompat: add local definition for alignment
- macros
-
-There's still problem left with compilation on musl and kernel < 5.11,
-because __ALIGN_KERNEL is not defined anymore:
-
-../bin/ld: kernel-shared/volumes.o: in function `create_chunk':
-volumes.c:(.text+0x17f8): undefined reference to `__ALIGN_KERNEL'
-
-Due to the entangled includes and unconditional definition of
-__ALIGN_KERNEL, we can't use #ifdef in kerncompat.h to define it
-eventually (as kerncompat.h is the first include). Instead add local
-definitions of the macros and rename them to avoid name clashes.
-
-Pull-request: #433
-Signed-off-by: David Sterba <dsterba@suse.com>
---- a/kerncompat.h
-+++ b/kerncompat.h
-@@ -359,7 +359,14 @@ do { \
-
- /* Alignment check */
- #define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0)
--#define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
-+
-+/*
-+ * Alignment, copied and renamed from /usr/include/linux/const.h to work around
-+ * issues caused by moving the definition in 5.12
-+ */
-+#define __ALIGN_KERNEL__(x, a) __ALIGN_KERNEL_MASK__(x, (typeof(x))(a) - 1)
-+#define __ALIGN_KERNEL_MASK__(x, mask) (((x) + (mask)) & ~(mask))
-+#define ALIGN(x, a) __ALIGN_KERNEL__((x), (a))
-
- static inline int is_power_of_2(unsigned long n)
- {
diff --git a/sys-fs/btrfs-progs/files/btrfs-progs-5.18.1-glibc-2.36.patch b/sys-fs/btrfs-progs/files/btrfs-progs-5.18.1-glibc-2.36.patch
new file mode 100644
index 00000000000..52671ea6c35
--- /dev/null
+++ b/sys-fs/btrfs-progs/files/btrfs-progs-5.18.1-glibc-2.36.patch
@@ -0,0 +1,31 @@
+https://github.com/kdave/btrfs-progs/commit/46eb32a019834b0a49ae9744db1a921aaa6a3d63
+
+From 46eb32a019834b0a49ae9744db1a921aaa6a3d63 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Jul 2022 11:58:35 -0700
+Subject: [PATCH] btrfs-progs: use linux mount.h instead of sys/mount.h
+
+This file includes linux/fs.h which includes linux/mount.h and with
+glibc 2.36 linux/mount.h and glibc mount.h are not compatible [1]
+therefore try to avoid including both headers
+
+[1] https://sourceware.org/glibc/wiki/Release/2.36
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: David Sterba <dsterba@suse.com>
+---
+ common/device-utils.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/common/device-utils.c b/common/device-utils.c
+index 617b67462..25a4fb8c4 100644
+--- a/common/device-utils.c
++++ b/common/device-utils.c
+@@ -15,7 +15,6 @@
+ */
+
+ #include <sys/ioctl.h>
+-#include <sys/mount.h>
+ #include <sys/statfs.h>
+ #include <sys/types.h>
+ #include <stdio.h>
diff --git a/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild b/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild
index f209908d30e..4e9c60bd68d 100644
--- a/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild
+++ b/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild
@@ -11,7 +11,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/cryfs/cryfs"
else
SRC_URI="https://github.com/cryfs/cryfs/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
S="${WORKDIR}"
fi
diff --git a/sys-fs/cryptmount/cryptmount-5.3.3-r1.ebuild b/sys-fs/cryptmount/cryptmount-5.3.3-r2.ebuild
index ceafbdd5eb6..ec1442f7ac9 100644
--- a/sys-fs/cryptmount/cryptmount-5.3.3-r1.ebuild
+++ b/sys-fs/cryptmount/cryptmount-5.3.3-r2.ebuild
@@ -19,13 +19,14 @@ REQUIRED_USE="
"
RDEPEND="
+ sys-fs/lvm2
+ virtual/libiconv
+ virtual/libintl
gcrypt? ( dev-libs/libgcrypt:0= )
luks? ( sys-fs/cryptsetup )
openssl? ( dev-libs/openssl:0= )
systemd? ( sys-apps/systemd )
udev? ( virtual/udev )
- virtual/libiconv
- virtual/libintl
"
DEPEND="
diff --git a/sys-fs/ddrescue/ddrescue-1.26.ebuild b/sys-fs/ddrescue/ddrescue-1.26.ebuild
index c4d47c739d0..d9028f4ce2c 100644
--- a/sys-fs/ddrescue/ddrescue-1.26.ebuild
+++ b/sys-fs/ddrescue/ddrescue-1.26.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.lz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux"
+KEYWORDS="amd64 ~arm ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux"
IUSE="static"
DEPEND="$(unpacker_src_uri_depends)"
diff --git a/sys-fs/ddrescue/metadata.xml b/sys-fs/ddrescue/metadata.xml
index 2ac0eef8d76..beac02a9af1 100644
--- a/sys-fs/ddrescue/metadata.xml
+++ b/sys-fs/ddrescue/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
</pkgmetadata>
diff --git a/sys-fs/dmraid/dmraid-1.0.0_rc16-r5.ebuild b/sys-fs/dmraid/dmraid-1.0.0_rc16-r5.ebuild
index 7751241ce57..4d1ce63d017 100644
--- a/sys-fs/dmraid/dmraid-1.0.0_rc16-r5.ebuild
+++ b/sys-fs/dmraid/dmraid-1.0.0_rc16-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}/${MY_PV}/${PN}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="intel_led led mini static"
RDEPEND=">=sys-fs/lvm2-2.02.45"
diff --git a/sys-fs/e2fsprogs/metadata.xml b/sys-fs/e2fsprogs/metadata.xml
index 902c90f4f05..a7ce0f49f40 100644
--- a/sys-fs/e2fsprogs/metadata.xml
+++ b/sys-fs/e2fsprogs/metadata.xml
@@ -6,7 +6,7 @@
<name>Gentoo Base System</name>
</maintainer>
<use>
- <flag name="cron">Install e2scrub_all cron script</flag>
+ <flag name="cron">Install e2scrub_all cron script</flag>
<flag name="fuse">Build fuse2fs, a FUSE file system client for ext2/ext3/ext4 file systems</flag>
<flag name="lto">Build with link time optimization (LTO)</flag>
<flag name="tools">Build extfs tools (mke2fs, e2fsck, tune2fs, etc.)</flag>
diff --git a/sys-fs/encfs/encfs-1.9.5-r2.ebuild b/sys-fs/encfs/encfs-1.9.5-r2.ebuild
index c26268474a9..248d5daddc1 100644
--- a/sys-fs/encfs/encfs-1.9.5-r2.ebuild
+++ b/sys-fs/encfs/encfs-1.9.5-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/vgough/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3 LGPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc64 ~sparc ~x86"
+KEYWORDS="amd64 arm ~ppc64 ~sparc x86"
IUSE="nls"
RDEPEND="dev-libs/openssl:=
diff --git a/sys-fs/erofs-utils/Manifest b/sys-fs/erofs-utils/Manifest
index 0c2d2532e5d..560349e50cf 100644
--- a/sys-fs/erofs-utils/Manifest
+++ b/sys-fs/erofs-utils/Manifest
@@ -1 +1,2 @@
DIST erofs-utils-1.4.tar.gz 93979 BLAKE2B aef1dca8cb95e6104d73a84590319d3c55aba1a4ef5dbdbf470662cb86ee1b66a5707dc1c453470115ec6f2bf1246ee4b6b28aa1cb83b4cb9c8eed45e88668d4 SHA512 ab95d6a7b2d278ee443d1e378c62354db66ce7ab5ce03b3a8d9004cf498c4e43e3e8ced6524444d2ea4871c4db0195489f033180c8a2082c2cba69c46c09692f
+DIST erofs-utils-1.5.tar.gz 106559 BLAKE2B 69a2b93c0ba8c50fb3f75a53cc224490ab31f55e24055932091e85032a637c2be6d937ab42f068a2937e5b9d8b6054fd756e89b9333f47a6b6b35c20a421ed49 SHA512 0a9d593a9fef3c5976dc63e2927f47d070121ed07e6dda727b0a715b72cfe560c83bdf26ce41fe07b8cb5b66b0660105848e3f7c5a84f222296eb422d1cd5cba
diff --git a/sys-fs/erofs-utils/erofs-utils-1.5.ebuild b/sys-fs/erofs-utils/erofs-utils-1.5.ebuild
new file mode 100644
index 00000000000..6ad7945f752
--- /dev/null
+++ b/sys-fs/erofs-utils/erofs-utils-1.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Userspace tools for EROFS"
+HOMEPAGE="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git"
+LICENSE="GPL-2+"
+
+SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/${PN}.git/snapshot/${P}.tar.gz"
+KEYWORDS="~amd64 ~loong"
+
+SLOT="0"
+IUSE="fuse +lz4 selinux +uuid"
+
+RDEPEND="
+ fuse? ( sys-fs/fuse:0 )
+ lz4? ( app-arch/lz4:0= )
+ selinux? ( sys-libs/libselinux:0= )
+ uuid? ( sys-apps/util-linux )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # This package asks for MicroLZMA support, which is not included in any
+ # released version of xz-utils at the moment, so disable lzma until a new
+ # xz-utils is packaged.
+ econf \
+ --disable-werror \
+ $(use_enable fuse) \
+ $(use_enable lz4) \
+ --disable-lzma \
+ $(use_with selinux) \
+ $(use_with uuid)
+}
diff --git a/sys-fs/eudev/Manifest b/sys-fs/eudev/Manifest
index e963c842d82..5a38d7af12e 100644
--- a/sys-fs/eudev/Manifest
+++ b/sys-fs/eudev/Manifest
@@ -1 +1,2 @@
DIST eudev-3.2.11.tar.gz 2254373 BLAKE2B cfa6235d6509b751fde93ff2b0961b93c3741458e561a7ad9b07b49a57779627532cff25ad3519e5f79320854fcedfcdc23642ef542505cebcd6b2803067389a SHA512 17b328365913af3e434abe667dd0498c3702a41c6cb66f3793ca2c195b05ac06397b0a401077f81df7dd25193e4eeea13657a221ca6cb3d237c4d91e31e30b33
+DIST eudev-3.2.12-pre3.tar.gz 2166940 BLAKE2B 46cb4e2daa7302380f169b2505e01483a1c879f83802537b718d1380b9411621db9b58454eaf828ca22aa8e913342b52b682593604c365d7159ddc1df82fe719 SHA512 a450ef8ccfb0ec8817e03ae666464cb43390849d1b340f057e047bc42b246ff30e13cfef148417c7452755316bce858ef0c89bf94abf27af143f87db7de9f446
diff --git a/sys-fs/eudev/eudev-3.2.12_pre3.ebuild b/sys-fs/eudev/eudev-3.2.12_pre3.ebuild
new file mode 100644
index 00000000000..d286cedd7a1
--- /dev/null
+++ b/sys-fs/eudev/eudev-3.2.12_pre3.ebuild
@@ -0,0 +1,247 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KV_MIN=2.6.39
+
+inherit linux-info multilib-minimal toolchain-funcs udev
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/eudev-project/eudev.git"
+ inherit autotools git-r3
+else
+ MY_PV=${PV/_pre/-pre}
+ SRC_URI="https://github.com/eudev-project/eudev/releases/download/v${MY_PV}/${PN}-${MY_PV}.tar.gz"
+ S="${WORKDIR}"/${PN}-${MY_PV}
+
+ if [[ ${PV} != *_pre* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ fi
+fi
+
+DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
+HOMEPAGE="https://github.com/eudev-project/eudev"
+
+LICENSE="LGPL-2.1 MIT GPL-2"
+SLOT="0"
+IUSE="+kmod rule-generator selinux static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=sys-apps/util-linux-2.20
+ >=sys-kernel/linux-headers-${KV_MIN}
+ virtual/libcrypt:=
+ kmod? ( >=sys-apps/kmod-16 )
+ selinux? ( >=sys-libs/libselinux-2.1.9 )
+ !sys-apps/gentoo-systemd-integration
+ !sys-apps/systemd"
+RDEPEND="${DEPEND}
+ acct-group/input
+ acct-group/kvm
+ acct-group/render
+ !sys-apps/systemd-utils[udev]
+ !sys-fs/udev
+ !sys-apps/systemd
+ !sys-apps/hwids[udev]"
+BDEPEND="dev-util/gperf
+ virtual/os-headers
+ virtual/pkgconfig
+ test? (
+ app-text/tree
+ dev-lang/perl
+ )"
+PDEPEND=">=sys-fs/udev-init-scripts-26"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/udev.h
+)
+
+pkg_pretend() {
+ ewarn
+ ewarn "As of 2013-01-29, ${PN} provides the new interface renaming functionality,"
+ ewarn "as described in the URL below:"
+ ewarn "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
+ ewarn
+ ewarn "This functionality is enabled BY DEFAULT because eudev has no means of synchronizing"
+ ewarn "between the default or user-modified choice of sys-fs/udev. If you wish to disable"
+ ewarn "this new iface naming, please be sure that /etc/udev/rules.d/80-net-name-slot.rules"
+ ewarn "exists: touch /etc/udev/rules.d/80-net-name-slot.rules"
+ ewarn
+}
+
+pkg_setup() {
+ CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX"
+ linux-info_pkg_setup
+ get_running_version
+
+ # These are required kernel options, but we don't error out on them
+ # because you can build under one kernel and run under another.
+ if kernel_is lt ${KV_MIN//./ }; then
+ ewarn
+ ewarn "Your current running kernel version ${KV_FULL} is too old to run ${P}."
+ ewarn "Make sure to run udev under kernel version ${KV_MIN} or above."
+ ewarn
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Change rules back to group uucp instead of dialout for now
+ sed -e 's/GROUP="dialout"/GROUP="uucp"/' -i rules/*.rules \
+ || die "failed to change group dialout to uucp"
+
+ if [[ ${PV} == 9999* ]] ; then
+ eautoreconf
+ fi
+}
+
+multilib_src_configure() {
+ # bug #463846
+ tc-export CC
+ # bug #502950
+ export cc_cv_CFLAGS__flto=no
+
+ local myeconfargs=(
+ ac_cv_search_cap_init=
+ ac_cv_header_sys_capability_h=yes
+
+ DBUS_CFLAGS=' '
+ DBUS_LIBS=' '
+
+ --with-rootprefix=
+ --with-rootrundir=/run
+ --exec-prefix="${EPREFIX}"
+ --bindir="${EPREFIX}"/bin
+ --includedir="${EPREFIX}"/usr/include
+ --libdir="${EPREFIX}"/usr/$(get_libdir)
+ --with-rootlibexecdir="${EPREFIX}"/lib/udev
+ --enable-split-usr
+ --enable-manpages
+ )
+
+ # Only build libudev for non-native_abi, and only install it to libdir,
+ # that means all options only apply to native_abi
+ if multilib_is_native_abi ; then
+ myeconfargs+=(
+ --with-rootlibdir="${EPREFIX}"/$(get_libdir)
+ $(use_enable kmod)
+ $(use_enable static-libs static)
+ $(use_enable selinux)
+ $(use_enable rule-generator)
+ )
+ else
+ myeconfargs+=(
+ --disable-static
+ --disable-kmod
+ --disable-selinux
+ --disable-rule-generator
+ --disable-hwdb
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi ; then
+ emake
+ else
+ emake -C src/shared
+ emake -C src/libudev
+ fi
+}
+
+multilib_src_test() {
+ # Make sandbox get out of the way.
+ # These are safe because there is a fake root filesystem put in place,
+ # but sandbox seems to evaluate the paths of the test i/o instead of the
+ # paths of the actual i/o that results. Also only test for native abi
+ if multilib_is_native_abi ; then
+ addread /sys
+ addwrite /dev
+ addwrite /run
+
+ default
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi ; then
+ emake DESTDIR="${D}" install
+ else
+ emake -C src/libudev DESTDIR="${D}" install
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name '*.la' -delete || die
+
+ insinto /lib/udev/rules.d
+ doins "${FILESDIR}"/40-gentoo.rules
+
+ use rule-generator && doinitd "${FILESDIR}"/udev-postmount
+}
+
+pkg_postrm() {
+ udev_reload
+}
+
+pkg_postinst() {
+ udev_reload
+
+ mkdir -p "${EROOT}"/run
+
+ # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
+ # So try to remove it here (will only work if empty).
+ rmdir "${EROOT}"/dev/loop 2>/dev/null
+ if [[ -d ${EROOT}/dev/loop ]]; then
+ ewarn "Please make sure your remove /dev/loop,"
+ ewarn "else losetup may be confused when looking for unused devices."
+ fi
+
+ # REPLACING_VERSIONS should only ever have zero or 1 values but in case it doesn't,
+ # process it as a list. We only care about the zero case (new install) or the case where
+ # the same version is being re-emerged. If there is a second version, allow it to abort.
+ local rv rvres=doitnew
+ for rv in ${REPLACING_VERSIONS} ; do
+ if [[ ${rvres} == doit* ]]; then
+ if [[ ${rv%-r*} == ${PV} ]]; then
+ rvres=doit
+ else
+ rvres=${rv}
+ fi
+ fi
+ done
+
+ if has_version 'sys-apps/hwids[udev]'; then
+ udevadm hwdb --update --root="${ROOT}"
+
+ # https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
+ # reload database after it has be rebuilt, but only if we are not upgrading
+ # also pass if we are -9999 since who knows what hwdb related changes there might be
+ if [[ ${rvres} == doit* ]] && [[ -z ${ROOT} ]] && [[ ${PV} != "9999" ]]; then
+ udevadm control --reload
+ fi
+ fi
+
+ if [[ ${rvres} != doitnew ]]; then
+ ewarn
+ ewarn "You need to restart eudev as soon as possible to make the"
+ ewarn "upgrade go into effect:"
+ ewarn "\t/etc/init.d/udev --nodeps restart"
+ fi
+
+ if use rule-generator && \
+ [[ -x $(type -P rc-update) ]] && rc-update show | grep udev-postmount | grep -qsv 'boot\|default\|sysinit'; then
+ ewarn
+ ewarn "Please add the udev-postmount init script to your default runlevel"
+ ewarn "to ensure the legacy rule-generator functionality works as reliably"
+ ewarn "as possible."
+ ewarn "\trc-update add udev-postmount default"
+ fi
+
+ elog
+ elog "For more information on eudev on Gentoo, writing udev rules, and"
+ elog "fixing known issues visit: https://wiki.gentoo.org/wiki/Eudev"
+}
diff --git a/sys-fs/eudev/eudev-9999.ebuild b/sys-fs/eudev/eudev-9999.ebuild
index a4edb4657be..d286cedd7a1 100644
--- a/sys-fs/eudev/eudev-9999.ebuild
+++ b/sys-fs/eudev/eudev-9999.ebuild
@@ -1,32 +1,36 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
KV_MIN=2.6.39
-inherit autotools linux-info multilib-minimal toolchain-funcs
+inherit linux-info multilib-minimal toolchain-funcs udev
if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://github.com/eudev-project/eudev.git"
- inherit git-r3
+ inherit autotools git-r3
else
- SRC_URI="https://github.com/eudev-project/eudev/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ MY_PV=${PV/_pre/-pre}
+ SRC_URI="https://github.com/eudev-project/eudev/releases/download/v${MY_PV}/${PN}-${MY_PV}.tar.gz"
+ S="${WORKDIR}"/${PN}-${MY_PV}
+
+ if [[ ${PV} != *_pre* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ fi
fi
DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="https://github.com/gentoo/eudev"
+HOMEPAGE="https://github.com/eudev-project/eudev"
LICENSE="LGPL-2.1 MIT GPL-2"
SLOT="0"
-IUSE="+kmod introspection rule-generator selinux static-libs test"
+IUSE="+kmod rule-generator selinux static-libs test"
RESTRICT="!test? ( test )"
DEPEND=">=sys-apps/util-linux-2.20
>=sys-kernel/linux-headers-${KV_MIN}
virtual/libcrypt:=
- introspection? ( >=dev-libs/gobject-introspection-1.38 )
kmod? ( >=sys-apps/kmod-16 )
selinux? ( >=sys-libs/libselinux-2.1.9 )
!sys-apps/gentoo-systemd-integration
@@ -42,8 +46,10 @@ RDEPEND="${DEPEND}
BDEPEND="dev-util/gperf
virtual/os-headers
virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- test? ( app-text/tree dev-lang/perl )"
+ test? (
+ app-text/tree
+ dev-lang/perl
+ )"
PDEPEND=">=sys-fs/udev-init-scripts-26"
MULTILIB_WRAPPED_HEADERS=(
@@ -52,7 +58,7 @@ MULTILIB_WRAPPED_HEADERS=(
pkg_pretend() {
ewarn
- ewarn "As of 2013-01-29, ${P} provides the new interface renaming functionality,"
+ ewarn "As of 2013-01-29, ${PN} provides the new interface renaming functionality,"
ewarn "as described in the URL below:"
ewarn "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
ewarn
@@ -79,12 +85,15 @@ pkg_setup() {
}
src_prepare() {
- # change rules back to group uucp instead of dialout for now
+ default
+
+ # Change rules back to group uucp instead of dialout for now
sed -e 's/GROUP="dialout"/GROUP="uucp"/' -i rules/*.rules \
|| die "failed to change group dialout to uucp"
- default
- eautoreconf
+ if [[ ${PV} == 9999* ]] ; then
+ eautoreconf
+ fi
}
multilib_src_configure() {
@@ -93,14 +102,13 @@ multilib_src_configure() {
# bug #502950
export cc_cv_CFLAGS__flto=no
- # Keep sorted by ./configure --help and only pass --disable flags
- # when *required* to avoid external deps or unnecessary compile
- local econf_args
- econf_args=(
+ local myeconfargs=(
ac_cv_search_cap_init=
ac_cv_header_sys_capability_h=yes
+
DBUS_CFLAGS=' '
DBUS_LIBS=' '
+
--with-rootprefix=
--with-rootrundir=/run
--exec-prefix="${EPREFIX}"
@@ -114,19 +122,17 @@ multilib_src_configure() {
# Only build libudev for non-native_abi, and only install it to libdir,
# that means all options only apply to native_abi
- if multilib_is_native_abi; then
- econf_args+=(
+ if multilib_is_native_abi ; then
+ myeconfargs+=(
--with-rootlibdir="${EPREFIX}"/$(get_libdir)
- $(use_enable introspection)
$(use_enable kmod)
$(use_enable static-libs static)
$(use_enable selinux)
$(use_enable rule-generator)
)
else
- econf_args+=(
+ myeconfargs+=(
--disable-static
- --disable-introspection
--disable-kmod
--disable-selinux
--disable-rule-generator
@@ -134,11 +140,11 @@ multilib_src_configure() {
)
fi
- ECONF_SOURCE="${S}" econf "${econf_args[@]}"
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
multilib_src_compile() {
- if multilib_is_native_abi; then
+ if multilib_is_native_abi ; then
emake
else
emake -C src/shared
@@ -147,22 +153,21 @@ multilib_src_compile() {
}
multilib_src_test() {
- # make sandbox get out of the way
- # these are safe because there is a fake root filesystem put in place,
+ # Make sandbox get out of the way.
+ # These are safe because there is a fake root filesystem put in place,
# but sandbox seems to evaluate the paths of the test i/o instead of the
- # paths of the actual i/o that results.
- # also only test for native abi
- if multilib_is_native_abi; then
+ # paths of the actual i/o that results. Also only test for native abi
+ if multilib_is_native_abi ; then
addread /sys
addwrite /dev
addwrite /run
- default_src_test
+ default
fi
}
multilib_src_install() {
- if multilib_is_native_abi; then
+ if multilib_is_native_abi ; then
emake DESTDIR="${D}" install
else
emake -C src/libudev DESTDIR="${D}" install
@@ -178,7 +183,13 @@ multilib_src_install_all() {
use rule-generator && doinitd "${FILESDIR}"/udev-postmount
}
+pkg_postrm() {
+ udev_reload
+}
+
pkg_postinst() {
+ udev_reload
+
mkdir -p "${EROOT}"/run
# "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
diff --git a/sys-fs/extundelete/extundelete-0.2.4-r1.ebuild b/sys-fs/extundelete/extundelete-0.2.4-r1.ebuild
deleted file mode 100644
index 88a235cf4f4..00000000000
--- a/sys-fs/extundelete/extundelete-0.2.4-r1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A utility to undelete files from an ext3 or ext4 partition"
-HOMEPAGE="https://extundelete.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~sparc x86"
-
-RDEPEND="sys-fs/e2fsprogs"
-DEPEND=${RDEPEND}
-
-PATCHES=( "${FILESDIR}/${P}-e2fsprogs.patch" )
diff --git a/sys-fs/extundelete/extundelete-0.2.4-r2.ebuild b/sys-fs/extundelete/extundelete-0.2.4-r2.ebuild
index dd0d828f64b..0902cb8474e 100644
--- a/sys-fs/extundelete/extundelete-0.2.4-r2.ebuild
+++ b/sys-fs/extundelete/extundelete-0.2.4-r2.ebuild
@@ -9,7 +9,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~riscv ~sparc ~x86"
+KEYWORDS="amd64 ~arm ~riscv ~sparc x86"
RDEPEND="sys-fs/e2fsprogs"
DEPEND="${RDEPEND}"
diff --git a/sys-fs/f2fs-tools/Manifest b/sys-fs/f2fs-tools/Manifest
index b5c7b55ff87..c14b471509d 100644
--- a/sys-fs/f2fs-tools/Manifest
+++ b/sys-fs/f2fs-tools/Manifest
@@ -1 +1,2 @@
DIST f2fs-tools-1.14.0.tar.gz 371225 BLAKE2B 4b015e751ca7a8df8769de7a49afa1351717581d09973537d80780ff83f64db9a6fbf454a9a85d8acb761a8d00443a94d09d83cfaba9e5203c0fd656a96d505a SHA512 951b74178f99722550e73f331be066f124f6ee6022710f6b47ae47390b978b08f12a7f2a268d82ca69a32bf440cd3ce3adddc8a4c49c32df83da87e7f659f98d
+DIST f2fs-tools-1.15.0.tar.gz 387663 BLAKE2B 1e55f87c839cee6431d9a83e9786201e9b6b872be27c8b92854b30b0fd1c651a9b7235ce93e70c530bfa7a4e9f4dfd309c72702b3338a4aa96e365b29424fb1d SHA512 61e40f16296091b55cec2dbdc6306af6abc2d3f854f39ef03a741b7f6f47348f915498375789f017f8da27fa7d27c79c905dd047693518adde503ea7ebf89387
diff --git a/sys-fs/f2fs-tools/f2fs-tools-1.15.0.ebuild b/sys-fs/f2fs-tools/f2fs-tools-1.15.0.ebuild
new file mode 100644
index 00000000000..73df073760f
--- /dev/null
+++ b/sys-fs/f2fs-tools/f2fs-tools-1.15.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Tools for Flash-Friendly File System (F2FS)"
+HOMEPAGE="https://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/about/"
+SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/${PN}.git/snapshot/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/9"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv x86"
+IUSE="selinux"
+
+RDEPEND="
+ selinux? ( sys-libs/libselinux )
+ elibc_musl? ( sys-libs/queue-standalone )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ #This is required to install to /sbin, bug #481110
+ econf \
+ --bindir="${EPREFIX}"/sbin \
+ --disable-static \
+ $(use_with selinux)
+}
+
+src_install() {
+ default
+ find "${D}" -name "*.la" -delete || die
+}
diff --git a/sys-fs/fuse-common/metadata.xml b/sys-fs/fuse-common/metadata.xml
index ec0d3b0161b..75bf17e38d9 100644
--- a/sys-fs/fuse-common/metadata.xml
+++ b/sys-fs/fuse-common/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>bman@gentoo.org</email>
- <name>Aaron Bauman</name>
- </maintainer>
<maintainer type="project">
<email>base-system@gentoo.org</email>
</maintainer>
diff --git a/sys-fs/fuse-overlayfs/Manifest b/sys-fs/fuse-overlayfs/Manifest
index 94be25574cd..c3e424e6396 100644
--- a/sys-fs/fuse-overlayfs/Manifest
+++ b/sys-fs/fuse-overlayfs/Manifest
@@ -2,3 +2,4 @@ DIST fuse-overlayfs-1.7.1.tar.gz 103575 BLAKE2B 1fc92852f3afdead707af8745db03e2f
DIST fuse-overlayfs-1.8.1.tar.gz 103753 BLAKE2B 42ac0b75b563cee9457721dfebe03355d930e074f44cda43d071e853df2d2192266f6b2901c4faa333414de45fb1b95e245a42ae15c52714e311a1aad98deeb6 SHA512 7a63f1f129c100615676bccdb0f7fd83c4e9901786064d98fa3776dd64dbb61c38913f8d0eff428a601cb44b1bfd3261ded5ec5e471b889c7cd28f81a859d8ad
DIST fuse-overlayfs-1.8.2.tar.gz 103892 BLAKE2B 18473c9703d12befbd68b5c1374fd18233dca3663dc0c6346e0a0c2f6f8928a57e8c04cf151196db3d6404ca8816e5ef2826a989c86d3ec7171344a73cec189f SHA512 637fbde0e9481b31491fa7fbdce9315e3832e9de076668dddfeba407a0dd9ceb2072723348eb2a47586756da8a8242a040bc20dbb5e1ac3be3ffa795daf22b95
DIST fuse-overlayfs-1.8.tar.gz 103726 BLAKE2B 12da116bba60c5833b43d130b24ba6a60fcaabe1248226fa30e8c0b2c2439a438c66b39d28a8d3dd0f65bf353c38811e87f23a2fdbd830982063a7b5df7b4808 SHA512 68a7b6a41fd2c44fbfb194d324cc6869d7f6ce198f7ff3ddf74e91f9679785ffa610634a6e35c2661549e0bb776bf68741be45501d860b1e8dd6814d2b3fb0ab
+DIST fuse-overlayfs-1.9.tar.gz 104063 BLAKE2B f18703e32644ccbd1b47e9120b13a8efe1227ca8c142dbe90ff174e33937a2882ba354a837f874b5cd7bf28d1de7bb5039b86b6123288bde1ffc570a68500fb6 SHA512 16f4feb8426c0d6f78082065a2c1c6afb96e4fc665e40e79e2b2692b0b21e77998a2195cf2cd81f505d0167318ed843f55be4eb16956aadaeab56f47ccbddc0b
diff --git a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.9.ebuild b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.9.ebuild
new file mode 100644
index 00000000000..ea15a96bde4
--- /dev/null
+++ b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.9.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2019-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="FUSE implementation for overlayfs"
+HOMEPAGE="https://github.com/containers/fuse-overlayfs"
+EGIT_COMMIT="v${PV}"
+SRC_URI="https://github.com/containers/fuse-overlayfs/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+
+RDEPEND=">=sys-fs/fuse-3:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}-${EGIT_COMMIT#v}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sys-fs/fuse/fuse-2.9.9-r1.ebuild b/sys-fs/fuse/fuse-2.9.9-r1.ebuild
index 4d6a5352e73..a171192a0d6 100644
--- a/sys-fs/fuse/fuse-2.9.9-r1.ebuild
+++ b/sys-fs/fuse/fuse-2.9.9-r1.ebuild
@@ -47,9 +47,9 @@ src_prepare() {
src_configure() {
# lto not supported yet -- https://github.com/libfuse/libfuse/issues/198
- # gcc-9 with -flto leads to link failures: #663518,
+ # gcc-9 with -flto leads to link failures: #663518 (see also #863899)
# https://gcc.gnu.org/PR91186
- filter-flags -flto*
+ filter-lto
econf \
INIT_D_PATH="${EPREFIX}/etc/init.d" \
diff --git a/sys-fs/fuse/fuse-2.9.9-r2.ebuild b/sys-fs/fuse/fuse-2.9.9-r2.ebuild
new file mode 100644
index 00000000000..1412603dbd8
--- /dev/null
+++ b/sys-fs/fuse/fuse-2.9.9-r2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic linux-info udev
+
+DESCRIPTION="An interface for filesystems implemented in userspace"
+HOMEPAGE="https://github.com/libfuse/libfuse"
+SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.gz"
+# For bug #809920 to avoid a gettext dependency
+# extracted from sys-devel/gettext-0.21-r1
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/iconv.m4.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="examples static-libs"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND=">=sys-fs/fuse-common-3.3.0-r1"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.9.3-kernel-types.patch
+ "${FILESDIR}"/${PN}-2.9.9-avoid-calling-umount.patch
+ "${FILESDIR}"/${PN}-2.9.9-closefrom-glibc-2-34.patch
+)
+
+pkg_setup() {
+ if use kernel_linux ; then
+ if kernel_is lt 2 6 9 ; then
+ die "Your kernel is too old."
+ fi
+ CONFIG_CHECK="~FUSE_FS"
+ WARNING_FUSE_FS="You need to have FUSE module built to use user-mode utils"
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Can be dropped along with additional SRC_URI if dropping eautoreconf
+ cp "${WORKDIR}"/iconv.m4 m4/ || die
+ eautoreconf
+}
+
+src_configure() {
+ # lto not supported yet -- https://github.com/libfuse/libfuse/issues/198
+ # gcc-9 with -flto leads to link failures: #663518 (see also #863899)
+ # https://gcc.gnu.org/PR91186
+ filter-lto
+ # ... and strict aliasing warnings, bug #863899
+ append-flags -fno-strict-aliasing
+
+ econf \
+ INIT_D_PATH="${EPREFIX}/etc/init.d" \
+ MOUNT_FUSE_PATH="${EPREFIX}/sbin" \
+ UDEV_RULES_PATH="${EPREFIX}/$(get_udevdir)/rules.d" \
+ $(use_enable static-libs static) \
+ --disable-example
+}
+
+src_install() {
+ local DOCS=( AUTHORS ChangeLog README.md README.NFS NEWS doc/how-fuse-works doc/kernel.txt )
+ default
+
+ if use examples ; then
+ docinto examples
+ dodoc example/*
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+
+ # installed via fuse-common
+ rm -r "${ED}"/{etc,$(get_udevdir)} || die
+
+ # handled by the device manager
+ rm -r "${D}"/dev || die
+}
diff --git a/sys-fs/fuse/fuse-3.11.0.ebuild b/sys-fs/fuse/fuse-3.11.0.ebuild
index cd8c88e8077..421c4015187 100644
--- a/sys-fs/fuse/fuse-3.11.0.ebuild
+++ b/sys-fs/fuse/fuse-3.11.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.xz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+suid test"
RESTRICT="!test? ( test )"
diff --git a/sys-fs/genext2fs/files/backport-pr-32.patch b/sys-fs/genext2fs/files/backport-pr-32.patch
new file mode 100644
index 00000000000..92c67e02031
--- /dev/null
+++ b/sys-fs/genext2fs/files/backport-pr-32.patch
@@ -0,0 +1,94 @@
+From 9651f5df1c95cdfee3d8f5f3f989fe326547f5d0 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Mon, 16 May 2022 21:54:21 -0400
+Subject: [PATCH 1/2] Fix alignment issues for strict architectures
+
+Fixes two locations where unaligned accesses will cause bus errors on
+architectures that are strict about such accesses, namely sparc.
+
+The first is in swab32_into, which is called with an offset of +1 into
+an unsigned char array from mklink_fs.
+
+The second is in add2fs_from_tarball when checking the validity of a
+tarball, which casts a string from an unaligned position inside a struct
+to a long.
+
+After these changes, the test suite passes on sparc.
+---
+ genext2fs.c | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/genext2fs.c b/genext2fs.c
+index 96bbb43..404f31e 100644
+--- a/genext2fs.c
++++ b/genext2fs.c
+@@ -2058,11 +2058,14 @@ mkdir_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode,
+
+ // byte swapping for symlinks
+ static inline void
+-swab32_into(uint32 *dst, uint32 *src, size_t n)
++swab32_into(uint32 *dst, uint8 *src, size_t n)
+ {
+ size_t i;
+- for(i = 0; i < n; i++)
+- dst[i] = swab32(src[i]);
++ for(i = 0; i < n; i++) {
++ uint32 tmp_buf;
++ memcpy(&tmp_buf, src + i * sizeof(uint32) / sizeof(uint8), sizeof(uint32) / sizeof(uint8));
++ dst[i] = swab32(tmp_buf);
++ }
+ }
+
+ // make a symlink
+@@ -2079,7 +2082,7 @@ mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size, uint
+
+ if (size < 4 * (EXT2_TIND_BLOCK + 1))
+ if (fs->swapit)
+- swab32_into(node->i_block, (uint32 *)b, EXT2_TIND_BLOCK + 1);
++ swab32_into(node->i_block, b, EXT2_TIND_BLOCK + 1);
+ else
+ memcpy(node->i_block, b, 4 * (EXT2_TIND_BLOCK + 1));
+ else
+@@ -2290,7 +2293,7 @@ add2fs_from_tarball(filesystem *fs, uint32 this_nod, FILE * fh, int squash_uids,
+ continue;
+ } else
+ nbnull = 0;
+- if (*(long *)tarhead->ustar != *(long *)"ustar\00000" && strcmp(tarhead->ustar, "ustar "))
++ if (memcmp(tarhead->ustar, "ustar\00000", sizeof(long)) && strcmp(tarhead->ustar, "ustar "))
+ error_msg_and_die("not a tarball");
+ signed_checksum = unsigned_checksum = 0;
+ checksum = OCTAL_READ(tarhead->checksum);
+@@ -3351,7 +3354,7 @@ print_link(filesystem *fs, uint32 nod)
+ uint32 *buf = malloc(4 * (EXT2_TIND_BLOCK + 1));
+ if (buf == NULL)
+ error_msg_and_die(memory_exhausted);
+- swab32_into(buf, node->i_block, EXT2_TIND_BLOCK + 1);
++ swab32_into(buf, (uint8*)node->i_block, EXT2_TIND_BLOCK + 1);
+ printf("links to '%s'\n", (char*) buf);
+ free(buf);
+ } else {
+
+From 4a99c22603fb01ca8d6c6c4cb9873f50124ac025 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Wed, 18 May 2022 11:46:44 -0400
+Subject: [PATCH 2/2] Hardcode length of hardcoded char array instead of
+ sizeof(long)
+
+sizeof(long) != 8 on 32-bit.
+---
+ genext2fs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/genext2fs.c b/genext2fs.c
+index 404f31e..e8c71ff 100644
+--- a/genext2fs.c
++++ b/genext2fs.c
+@@ -2293,7 +2293,7 @@ add2fs_from_tarball(filesystem *fs, uint32 this_nod, FILE * fh, int squash_uids,
+ continue;
+ } else
+ nbnull = 0;
+- if (memcmp(tarhead->ustar, "ustar\00000", sizeof(long)) && strcmp(tarhead->ustar, "ustar "))
++ if (memcmp(tarhead->ustar, "ustar\00000", 8) && strcmp(tarhead->ustar, "ustar "))
+ error_msg_and_die("not a tarball");
+ signed_checksum = unsigned_checksum = 0;
+ checksum = OCTAL_READ(tarhead->checksum);
diff --git a/sys-fs/genext2fs/genext2fs-1.5.0-r1.ebuild b/sys-fs/genext2fs/genext2fs-1.5.0-r1.ebuild
new file mode 100644
index 00000000000..730550a3a7a
--- /dev/null
+++ b/sys-fs/genext2fs/genext2fs-1.5.0-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="generate ext2 file systems"
+HOMEPAGE="https://github.com/bestouff/genext2fs"
+SRC_URI="https://github.com/bestouff/genext2fs/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ~ppc64 sparc x86"
+
+PATCHES=( "${FILESDIR}/backport-pr-32.patch" )
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sys-fs/google-drive-ocamlfuse/Manifest b/sys-fs/google-drive-ocamlfuse/Manifest
new file mode 100644
index 00000000000..4177ad68e22
--- /dev/null
+++ b/sys-fs/google-drive-ocamlfuse/Manifest
@@ -0,0 +1 @@
+DIST google-drive-ocamlfuse-0.7.29.gh.tar.gz 98832 BLAKE2B 7a959047abacc65379c2da0f590c6dba613cb7708dd56a7e029409d8791d76e6a0a164eea113b21a84b07bf522879401833431482f18d97865364eaee03dcb3b SHA512 562bca2e9019a999886052eb4b7f6554706c25be69670148c1938d3b30d742b03eafb6fba430c4762ba44713e291ec3b0cddabc1baaa6491740ddd3e77655fe9
diff --git a/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild b/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild
new file mode 100644
index 00000000000..540886355a6
--- /dev/null
+++ b/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune findlib
+
+DESCRIPTION="FUSE filesystem over Google Drive"
+HOMEPAGE="
+ https://github.com/astrada/google-drive-ocamlfuse
+ https://opam.ocaml.org/packages/google-drive-ocamlfuse/
+"
+SRC_URI="https://github.com/astrada/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="ocamlopt test"
+
+RDEPEND="
+ >=dev-ml/gapi-ocaml-0.4.2:=
+ >=dev-ml/ocamlfuse-2.7.1:=
+ dev-ml/cryptokit:=
+ dev-ml/extlib:=
+ dev-ml/ocaml-sqlite3:=
+ >=dev-ml/tiny_httpd-0.6:=
+"
+DEPEND="
+ ${RDEPEND}
+ dev-ml/camlidl:=
+ test? ( dev-ml/ounit2 )
+"
+
+RESTRICT="!test? ( test )"
diff --git a/sys-fs/google-drive-ocamlfuse/metadata.xml b/sys-fs/google-drive-ocamlfuse/metadata.xml
new file mode 100644
index 00000000000..f3bfd6d0e89
--- /dev/null
+++ b/sys-fs/google-drive-ocamlfuse/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ml@gentoo.org</email>
+ <name>ML</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/astrada/google-drive-ocamlfuse/issues</bugs-to>
+ <remote-id type="github">astrada/google-drive-ocamlfuse</remote-id>
+ <maintainer>
+ <name>Alessandro Strada</name>
+ <email>alessandro.strada@gmail.com</email>
+ </maintainer>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-fs/growpart/growpart-0.0.32.ebuild b/sys-fs/growpart/growpart-0.0.32-r1.ebuild
index bc8e3069db4..a2d6df9f568 100644
--- a/sys-fs/growpart/growpart-0.0.32.ebuild
+++ b/sys-fs/growpart/growpart-0.0.32-r1.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
DESCRIPTION="A script that can grow your rootfs on first boot"
HOMEPAGE="http://manpages.ubuntu.com/manpages/natty/man1/growpart.1.html"
@@ -11,9 +11,7 @@ S="${WORKDIR}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 arm64 ppc64 ~riscv x86"
-IUSE=""
-DEPEND=""
RDEPEND="sys-apps/gptfdisk"
src_install() {
diff --git a/sys-fs/inotify-tools/Manifest b/sys-fs/inotify-tools/Manifest
index 55c4240f8e1..f30e8b03f64 100644
--- a/sys-fs/inotify-tools/Manifest
+++ b/sys-fs/inotify-tools/Manifest
@@ -1,3 +1 @@
-DIST inotify-tools-3.20.2.2.tar.gz 81006 BLAKE2B 7dd29985f68096fe2146a3ad84d619b3d1238b0db25eeb125f2fe9591fa678078351f00c7e09b526cf2251e4736201d5625ff0e477523cae370a307ccb667730 SHA512 72d6fdcc216d8083cd384c71c02dc8e800d3a9702613568b3c571f704aee3d42bf084c52f2141c9afb8d28e8b87ebb6391ed3d825b3d664ed51c552debeb1881
-DIST inotify-tools-3.21.9.6.tar.gz 91668 BLAKE2B cfb279d69e650b275af03052f4f76522670b7a563aa4e81bd5883b3ff825ecb70382cd4a5d48a9eb50b59930685a60b59a17376958d111d129c61fbced47a6bb SHA512 206eeebfd948499d81e6666b153cd7d9b05df618291fd3ada6479251b0773ce629c19f73117442a9093f028e294c5ba2dfa0aa4cf711510284ab7cad657da21c
-DIST inotify-tools-3.22.1.0.tar.gz 92922 BLAKE2B 42558ca62f79e2bdf5a6071334a05cee826ec00b0666b1c0971af64d769eb7852cbcd8d6e630f88af68f26f5607ca4ef94ec832fbe2e89d42182120aac4896ce SHA512 53317147af4803b69603839c010a2b0b3fa527f0e32b08126f24805600728c0a9570b2a3d94bf987f0b9a4bfbe7207b5faa9337f0d7add91b062e68de4245548
+DIST inotify-tools-3.22.6.0.tar.gz 92918 BLAKE2B 601d3ac6896e445d297a04498c63df4f81c59699ba2d5b2eee2e8c499332913ce2783d13c9906d577ff0b6d7ef91ca826d48b01674adeb3d3569dfc1fbc0df63 SHA512 cda445add4b9d80b70eff9189ed50d05f4b5593a755159d0354431166c6fe6fdb33f7bf37fd50bc09aad3ed0a6e3763b9c74f65e554400f2596b8d492f1d0a21
diff --git a/sys-fs/inotify-tools/files/inotify-tools-3.22.6.0-musl.patch b/sys-fs/inotify-tools/files/inotify-tools-3.22.6.0-musl.patch
new file mode 100644
index 00000000000..435adc2e797
--- /dev/null
+++ b/sys-fs/inotify-tools/files/inotify-tools-3.22.6.0-musl.patch
@@ -0,0 +1,26 @@
+Former fix[1] for musl that got reverted[2] for possibly(?) wrong
+reasons[3]. Should be harmless to include here until sorted out.
+https://bugs.gentoo.org/831976
+
+[1] https://github.com/inotify-tools/inotify-tools/commit/b7889c8d
+[2] https://github.com/inotify-tools/inotify-tools/commit/cbab7c0b
+[3] https://github.com/inotify-tools/inotify-tools/issues/155
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 3 Jan 2022 04:42:50 -0800
+Subject: [PATCH] libinotifytools: Bridge differences between musl/glibc/kernel
+ fnotify.h (#154)
+--- a/libinotifytools/src/inotifytools.c
++++ b/libinotifytools/src/inotifytools.c
+@@ -54,6 +54,12 @@ struct fanotify_event_fid {
+ struct fanotify_event_info_fid info;
+ struct file_handle handle;
+ };
++
++#ifndef __GLIBC__
++#define val __val
++#define __kernel_fsid_t fsid_t
++#endif
++
+ #endif
+
+ /**
diff --git a/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild b/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild
deleted file mode 100644
index 22720914efb..00000000000
--- a/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="a set of command-line programs providing a simple interface to inotify"
-HOMEPAGE="https://github.com/inotify-tools/inotify-tools"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~mips sparc x86"
-IUSE="doc"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_prepare() {
- default
-
- # Remove -Werror from CFLAGS (#745069)
- find -name "Makefile.am" -print0 \
- | xargs --null sed 's@ -Werror@@' -i || die
-
- eautoreconf
-}
-
-src_configure() {
- # only docs installed are doxygen ones, so use /html
- local myeconfargs=(
- --docdir='$(datarootdir)'/doc/${PF}/html
- $(use_enable doc doxygen)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" \( -name '*.a*' -o -name '*.la' \) -delete || die
-}
diff --git a/sys-fs/inotify-tools/inotify-tools-3.21.9.6.ebuild b/sys-fs/inotify-tools/inotify-tools-3.21.9.6.ebuild
deleted file mode 100644
index 2d25f84ae71..00000000000
--- a/sys-fs/inotify-tools/inotify-tools-3.21.9.6.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="a set of command-line programs providing a simple interface to inotify"
-HOMEPAGE="https://github.com/inotify-tools/inotify-tools"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~riscv ~sparc ~x86"
-IUSE="doc"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_prepare() {
- default
-
- # Remove -Werror from CFLAGS (#745069)
- find -name "Makefile.am" -print0 \
- | xargs --null sed 's@ -Werror@@' -i || die
-
- eautoreconf
-}
-
-src_configure() {
- # only docs installed are doxygen ones, so use /html
- local myeconfargs=(
- --disable-static
- --docdir='$(datarootdir)'/doc/${PF}/html
- $(use_enable doc doxygen)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/sys-fs/inotify-tools/inotify-tools-3.22.1.0.ebuild b/sys-fs/inotify-tools/inotify-tools-3.22.1.0.ebuild
deleted file mode 100644
index 2d25f84ae71..00000000000
--- a/sys-fs/inotify-tools/inotify-tools-3.22.1.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="a set of command-line programs providing a simple interface to inotify"
-HOMEPAGE="https://github.com/inotify-tools/inotify-tools"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~riscv ~sparc ~x86"
-IUSE="doc"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_prepare() {
- default
-
- # Remove -Werror from CFLAGS (#745069)
- find -name "Makefile.am" -print0 \
- | xargs --null sed 's@ -Werror@@' -i || die
-
- eautoreconf
-}
-
-src_configure() {
- # only docs installed are doxygen ones, so use /html
- local myeconfargs=(
- --disable-static
- --docdir='$(datarootdir)'/doc/${PF}/html
- $(use_enable doc doxygen)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild b/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild
new file mode 100644
index 00000000000..b1b8a0281b9
--- /dev/null
+++ b/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Set of command-line programs providing a simple interface to inotify"
+HOMEPAGE="https://github.com/inotify-tools/inotify-tools/"
+SRC_URI="https://github.com/inotify-tools/inotify-tools/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~hppa ~mips ~riscv sparc x86"
+IUSE="doc"
+
+BDEPEND="doc? ( app-doc/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-musl.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i 's/ -Werror//' {,libinotifytools/}src/Makefile.am || die #745069
+
+ eautoreconf
+}
+
+src_configure() {
+ local econfargs=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}/html
+ $(use_enable doc doxygen)
+ )
+
+ econf "${econfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/sys-fs/inotify-tools/metadata.xml b/sys-fs/inotify-tools/metadata.xml
index 85936347796..5a392e4fedd 100644
--- a/sys-fs/inotify-tools/metadata.xml
+++ b/sys-fs/inotify-tools/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
</maintainer>
<longdescription>
inotify-tools is a set of command-line programs for Linux providing a simple
@@ -11,7 +11,6 @@ interface to inotify. These programs can be used to monitor and act upon
filesystem events. Requires a Linux kernel supporting inotify.
</longdescription>
<upstream>
- <remote-id type="github">rvoicilas/inotify-tools</remote-id>
- <remote-id type="sourceforge">inotify-tools</remote-id>
+ <remote-id type="github">inotify-tools/inotify-tools</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/jfsutils/metadata.xml b/sys-fs/jfsutils/metadata.xml
index 0f19441c284..2e031123641 100644
--- a/sys-fs/jfsutils/metadata.xml
+++ b/sys-fs/jfsutils/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>
The jfsutils package contains administration and debugging
tools for IBM's journaled file system.
diff --git a/sys-fs/libeatmydata/Manifest b/sys-fs/libeatmydata/Manifest
index 620220c6f68..4298bb47c86 100644
--- a/sys-fs/libeatmydata/Manifest
+++ b/sys-fs/libeatmydata/Manifest
@@ -1,2 +1 @@
-DIST libeatmydata-129.tar.gz 358437 BLAKE2B 448cff19629fa1a07443a52ebe16a7bf9a8ac7d0c2688e89555ed6c9c2369695a70ae2abf1b74152b3c305e6bc019e2e9808af6642122cd10a73deb7dfb580f2 SHA512 dbd0ea4df77034ecbb75955394b15aec6f1331205a5c7aa4a6e0595e3e486bbcc81c28a264bf5441c660563f74bfb06630da98373d481a2ebd9e9b1538c109d1
DIST libeatmydata-130.tar.gz 375627 BLAKE2B a1f65050572e8a7fc8345082a12e2831a8fb1e68e1d198ae507752375b2081a79fa6e5e589028104cd9d767d86b4d453c0eac0ad7f366c90d6734f5868f8e0cd SHA512 80edeee1b39e14d10e7d04d7fff63a233119c6e13216e92ec786cc41ecd79eb58937da0e621aaef697490e9fb285f3e1109b786ee6967fa1736bb4879e100f18
diff --git a/sys-fs/libeatmydata/libeatmydata-129-r1.ebuild b/sys-fs/libeatmydata/libeatmydata-129-r1.ebuild
deleted file mode 100644
index 24b83a8556c..00000000000
--- a/sys-fs/libeatmydata/libeatmydata-129-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal
-
-DESCRIPTION="LD_PRELOAD hack to convert sync()/msync() and the like to NO-OP"
-HOMEPAGE="https://www.flamingspork.com/projects/libeatmydata/"
-SRC_URI="https://github.com/stewartsmith/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( dev-util/strace )"
-
-ECONF_SOURCE="${S}"
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf --disable-static
-}
-
-multilib_src_test() {
- # sandbox fools LD_PRELOAD and libeatmydata does not get control
- # feature of sandbox
- SANDBOX_ON=0 LD_PRELOAD= emake -k check
-}
-
-multilib_src_install_all() {
- find "${D}" -name '*.la' -type f -delete || die
-
- dodoc AUTHORS README.md
-}
diff --git a/sys-fs/libeatmydata/libeatmydata-130.ebuild b/sys-fs/libeatmydata/libeatmydata-130.ebuild
index 75db11525a1..70deafe4c9f 100644
--- a/sys-fs/libeatmydata/libeatmydata-130.ebuild
+++ b/sys-fs/libeatmydata/libeatmydata-130.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/stewartsmith/${PN}/releases/download/v${PV}/${P}.tar
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/sys-fs/loop-aes/Manifest b/sys-fs/loop-aes/Manifest
index 529b8e4b6fb..523c94b316b 100644
--- a/sys-fs/loop-aes/Manifest
+++ b/sys-fs/loop-aes/Manifest
@@ -1,2 +1,2 @@
-DIST loop-AES-v3.7v.tar.bz2 378465 BLAKE2B 01d9c3719242846696c1e199a02a42254c06472abce6cee7ccc3882e456921176f7469e9c61331193dd86ee2fcf0d24972f9012026eadad150a8e6116dd4e275 SHA512 62c0bafd97bc07d78d128ba3bbcf471bf16bd979264ad9180132b83f01a1e8d4f6d9aa874c602a00bc85360abfefe16f72b28b2c73cc2ad863ea2d36eb7bc478
DIST loop-AES-v3.7w.tar.bz2 379844 BLAKE2B 00877a1711afa0a232f6cf0d568fd667fe891393c4cf4602666c68169c71b4a1308806e37ce48f7e5372d5e2416be2f5f1a680302d6ccc795057ccc1d3716f4b SHA512 882653341edba90a4717624382826296d490cd71d4e8843c9f44f606eda0d30a9e685a5310ed3b996b04ab9095d7be6adccff2a16f1c68a2349c052a69fd0a15
+DIST loop-AES-v3.7x.tar.bz2 380098 BLAKE2B 328e9eefcd22875ceb8b64b632032a63f5edac03c1ac6897cd05e0ca5d28b32a03428ba5da92c88361c1c115d28576c21c4d66e840137e203aab75926b5fd0fa SHA512 2d5986e524e11e1c69c4052d9545bd270e1726e0128884a0a942fef4491a90549fac7bf914348f6a8a8a9c3c38b77ebbf4af78a95a5d12d4c1db9d2a2cd04fc2
diff --git a/sys-fs/loop-aes/loop-aes-3.7v.ebuild b/sys-fs/loop-aes/loop-aes-3.7x.ebuild
index 3061d50ad0a..5f6b4ed8f39 100644
--- a/sys-fs/loop-aes/loop-aes-3.7v.ebuild
+++ b/sys-fs/loop-aes/loop-aes-3.7x.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -18,6 +18,8 @@ IUSE="cpu_flags_x86_aes extra-ciphers keyscrub cpu_flags_x86_padlock"
DEPEND="app-crypt/loop-aes-losetup"
+PATCHES=( "${FILESDIR}"/loop-aes-3.7w-build-initrd_explicit-losetup.patch )
+
S="${WORKDIR}/${MY_P}"
pkg_setup() {
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch b/sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch
new file mode 100644
index 00000000000..5ca32f19fc5
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch
@@ -0,0 +1,34 @@
+In musl, the standard streams are read-only. To modify them we need to
+use freopen. This patch does the same as lvm2-2.03.14-r1-fopen-to-freopen.patch
+
+https://listman.redhat.com/archives/lvm-devel/2022-June/024203.html
+
+See also:
+https://wiki.gentoo.org/wiki/User:Sam/Musl_porting_notes#error:_assignment_of_read-only_variable_.27.5Bstdout.7Cstdin.7Cstderr.5D.27
+https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html
+
+---
+ lib/log/log.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/lib/log/log.c b/lib/log/log.c
+index 7b4d537..897c183 100644
+--- a/lib/log/log.c
++++ b/lib/log/log.c
+@@ -207,8 +207,12 @@ int reopen_standard_stream(FILE **stream, const char *mode)
+ }
+
+ _check_and_replace_standard_log_streams(old_stream, new_stream);
+-
++
++#ifdef __GLIBC__
+ *stream = new_stream;
++#else
++ freopen(NULL, mode, *stream);
++#endif
+ return 1;
+ }
+
+--
+2.35.1
+
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch
new file mode 100644
index 00000000000..1b5524a6140
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/712336
+https://bugs.gentoo.org/549506
+
+Adds fcntl.h into daemon-server.c to define fcntl and some constants.
+
+---
+ libdaemon/server/daemon-server.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libdaemon/server/daemon-server.c b/libdaemon/server/daemon-server.c
+index 88905a7..771b021 100644
+--- a/libdaemon/server/daemon-server.c
++++ b/libdaemon/server/daemon-server.c
+@@ -28,6 +28,7 @@
+ #include <sys/un.h>
+ #include <unistd.h>
+ #include <signal.h>
++#include <fcntl.h>
+
+ #include <syslog.h> /* FIXME. For the global closelog(). */
+
+--
+2.35.1
+
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch
new file mode 100644
index 00000000000..56248e10e5d
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch
@@ -0,0 +1,43 @@
+In musl stdout, stdin and stderr are read-only unlike in glibc.
+This patch changes std* = fopen(...) to freopen(..., std*).
+
+See: https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html and https://wiki.gentoo.org/wiki/User:Sam/Musl_porting_notes
+
+---
+ tools/lvmcmdline.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
+index 1e12bed..19da1e5 100644
+--- a/tools/lvmcmdline.c
++++ b/tools/lvmcmdline.c
+@@ -3384,7 +3384,7 @@ static int _check_standard_fds(void)
+ int err = is_valid_fd(STDERR_FILENO);
+
+ if (!is_valid_fd(STDIN_FILENO) &&
+- !(stdin = fopen(_PATH_DEVNULL, "r"))) {
++ !freopen(_PATH_DEVNULL, "r", stdin)) {
+ if (err)
+ perror("stdin stream open");
+ else
+@@ -3394,7 +3394,7 @@ static int _check_standard_fds(void)
+ }
+
+ if (!is_valid_fd(STDOUT_FILENO) &&
+- !(stdout = fopen(_PATH_DEVNULL, "w"))) {
++ !freopen(_PATH_DEVNULL, "w", stdout)) {
+ if (err)
+ perror("stdout stream open");
+ /* else no stdout */
+@@ -3402,7 +3402,7 @@ static int _check_standard_fds(void)
+ }
+
+ if (!is_valid_fd(STDERR_FILENO) &&
+- !(stderr = fopen(_PATH_DEVNULL, "w"))) {
++ !freopen(_PATH_DEVNULL, "w", stderr)) {
+ printf("stderr stream open: %s\n",
+ strerror(errno));
+ return 0;
+--
+2.35.1
+
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch
new file mode 100644
index 00000000000..af4cbc0d5aa
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch
@@ -0,0 +1,18 @@
+https://git.alpinelinux.org/aports/tree/main/lvm2/mallinfo.patch
+
+Patch from Alpine, disables _allocate_memory since mallinfo isn't defined in musl.
+19:17 <@sam_> your caution is well-advised, but it should be safe enough given it's only affecting the non-glibc path
+
+Should be looked back to!
+
+--- ./lib/mm/memlock.c.orig 2015-03-09 11:18:41.560028850 -0100
++++ ./lib/mm/memlock.c 2015-03-09 11:19:54.504373309 -0100
+@@ -137,7 +137,7 @@
+
+ static void _allocate_memory(void)
+ {
+-#ifndef VALGRIND_POOL
++#if !defined(VALGRIND_POOL) && defined(__GLIBC__)
+ void *stack_mem;
+ struct rlimit limit;
+ int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks;
diff --git a/sys-fs/lvm2/lvm2-2.02.188-r2.ebuild b/sys-fs/lvm2/lvm2-2.02.188-r3.ebuild
index a3e76755f1d..e6fd683ff14 100644
--- a/sys-fs/lvm2/lvm2-2.02.188-r2.ebuild
+++ b/sys-fs/lvm2/lvm2-2.02.188-r3.ebuild
@@ -206,11 +206,16 @@ src_compile() {
fi
}
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
+
src_install() {
local inst
local INSTALL_TARGETS=( install install_tmpfiles_configuration )
# install systemd related files only when requested, bug #522430
- use systemd && INSTALL_TARGETS+=( systemdutildir="$(systemd_get_utildir)" install_systemd_units install_systemd_generators )
+ use systemd && INSTALL_TARGETS+=( SYSTEMD_GENERATOR_DIR="$(systemd_get_systemgeneratordir)" install_systemd_units install_systemd_generators )
use device-mapper-only && INSTALL_TARGETS=( install_device-mapper )
emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
@@ -266,6 +271,10 @@ pkg_postinst() {
tmpfiles_process lvm2.conf
fi
+ if use udev; then
+ udev_reload
+ fi
+
if [[ -z "${REPLACING_VERSIONS}" ]]; then
# This is a new installation
ewarn "Make sure the \"lvm\" init script is in the runlevels:"
@@ -292,7 +301,8 @@ pkg_postinst() {
fi
}
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
+pkg_postrm() {
+ if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then
+ udev_reload
+ fi
}
diff --git a/sys-fs/lvm2/lvm2-2.03.14-r1.ebuild b/sys-fs/lvm2/lvm2-2.03.14-r3.ebuild
index f3bc54eebc3..6af624f3fbc 100644
--- a/sys-fs/lvm2/lvm2-2.03.14-r1.ebuild
+++ b/sys-fs/lvm2/lvm2-2.03.14-r3.ebuild
@@ -70,6 +70,10 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.03.05-dmeventd-no-idle-exit.patch
#"${FILESDIR}"/${PN}-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch #682380 # merged upstream
"${FILESDIR}"/${PN}-2.02.184-mksh_build.patch #686652
+ "${FILESDIR}"/${PN}-2.03.14-r1-add-fcntl.patch
+ "${FILESDIR}"/${PN}-2.03.14-r1-fopen-to-freopen.patch
+ "${FILESDIR}"/${PN}-2.03.14-r1-mallinfo.patch
+ "${FILESDIR}"/${PN}-2.03.14-freopen_n2.patch
)
pkg_setup() {
@@ -205,11 +209,16 @@ src_compile() {
fi
}
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
+
src_install() {
local inst
local INSTALL_TARGETS=( install install_tmpfiles_configuration )
# install systemd related files only when requested, bug #522430
- use systemd && INSTALL_TARGETS+=( systemdutildir="$(systemd_get_utildir)" install_systemd_units install_systemd_generators )
+ use systemd && INSTALL_TARGETS+=( SYSTEMD_GENERATOR_DIR="$(systemd_get_systemgeneratordir)" install_systemd_units install_systemd_generators )
use device-mapper-only && INSTALL_TARGETS=( install_device-mapper )
emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
@@ -264,6 +273,10 @@ pkg_postinst() {
tmpfiles_process lvm2.conf
fi
+ if use udev; then
+ udev_reload
+ fi
+
if [[ -z "${REPLACING_VERSIONS}" ]]; then
# This is a new installation
ewarn "Make sure the \"lvm\" init script is in the runlevels:"
@@ -290,7 +303,8 @@ pkg_postinst() {
fi
}
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
+pkg_postrm() {
+ if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then
+ udev_reload
+ fi
}
diff --git a/sys-fs/lxcfs/Manifest b/sys-fs/lxcfs/Manifest
index 5ca764cef5a..be566a9bba4 100644
--- a/sys-fs/lxcfs/Manifest
+++ b/sys-fs/lxcfs/Manifest
@@ -1,2 +1,5 @@
-DIST lxcfs-4.0.12.tar.gz 461251 BLAKE2B c0d1cc699461eed2e29ddb1937e8f4719be78a8f17c20b9dd682a617bc0423b22b4491399b934aa7f4be8f5ca292ab4c9e97e7bf149700c0c3760c8b3804ae11 SHA512 da8415599bb08e4e15a7e4044edbcad217e4034d96366d508e06cceb2a75d459e24aeb7efd5716e2f41449ec653ecd9916f0d934f738e1df8e9576738cc1ac18
-DIST lxcfs-4.0.12.tar.gz.asc 833 BLAKE2B af8bf08039e7bc1f405c468de0dd628175cef3ea6087c5fa1c0d95f9153df939a84f9a5d9d895fb471c0262616eb88f03532ac789b0c6198ad1349cff9a6c5de SHA512 20f1919ff216f5459e8e387c78b1430b5122e662adec27bdd9c6fd4565645b73ed5bce5e7e843da05d8cfdc17f1a3e964c20c6ad47d4dbd5df68c3f9359fb362
+DIST lxcfs-5.0.0_p20220524.tar.gz 101563 BLAKE2B 2bf282aed5490d160a563ae97fdfbb887366a6ec60ea7f36f5400e4a11330c51ac3096d63c99dd4aa2ebe1a3497102af9df41ebd40e38b3bde6c6dcd4265b336 SHA512 c1183096dd2b74ef859183451b8c909f762e3c56dce0b9384ac163a6b6b3f7a17a63e840742f4cc5ac50b1f25d402583ca6cf31c1617754b35e21c5c991515f4
+DIST lxcfs-5.0.1.tar.gz 103221 BLAKE2B 49cd0be04d358db81046ac78e66e8acaa86ef66e51a869b884cb75e98c0501ee7db1b1e5604ca44f105f04378418e8077738a6d6abf85c48b35dfee2b93131e9 SHA512 edc685914e73b055161b8efe9109aca7bc2b1f1285e06a71b697f97d2e7f4cddf5256519325bf628318b64ae0203f594928d9e772e04988971151c4e46788818
+DIST lxcfs-5.0.1.tar.gz.asc 833 BLAKE2B a280e506f154497af3cc6a61bf458830939c67a6a065da1c0509f44ed07bd58bf80c10b5bfdbb18027ae2f200aaa2e9ca4b76cde070b860c34fb2cca7083e809 SHA512 90b982b61fcc56ac23fcef344014252faba280a8fb7539d28dbe2d36dc433c8de93d2c065d160cb98b42ab4b341d01ff2a379cad12827d8b70885c044e9e9ae8
+DIST lxcfs-5.0.2.tar.gz 103236 BLAKE2B 5fc8dc437e97a79c78320f8d8111746b171b086beb176a6ada30b8c23164ae4e58ad42806bc0ea73bbbb15d94816bd9b3d5500f9e2a306e2458d23fb111bf68f SHA512 df51e7154060dd7efe992eb2bc40c5a52dce8c52063477110ed414ecc3f430f18d5023a29be6866560fc87b060c2158cc1e947f030c509188320d417eb23d407
+DIST lxcfs-5.0.2.tar.gz.asc 833 BLAKE2B a411c6cb4f3382469ea80a974166c98b57ae4b92712bf55507720fc78ec73ef6acbd47f6b3410294b209f77f1f3a17dc4b9fb4dda00bb7323ef32c7185ba4c2e SHA512 f9d54e26d406ebca97c82298361318f13e74fd55285c2b6563ae6c71af63d9b8325ac06b9de8103a95a19c5d965c2d907c313ac151210a162998f8a37ea99676
diff --git a/sys-fs/lxcfs/files/lxcfs-5.0.1-fix-reinitialization-with-fuse3.patch b/sys-fs/lxcfs/files/lxcfs-5.0.1-fix-reinitialization-with-fuse3.patch
new file mode 100644
index 00000000000..45450504804
--- /dev/null
+++ b/sys-fs/lxcfs/files/lxcfs-5.0.1-fix-reinitialization-with-fuse3.patch
@@ -0,0 +1,71 @@
+From 5976d0349c1900e2649b7d2904d98ba6a7278e6b Mon Sep 17 00:00:00 2001
+From: Wolfgang Bumiller <w.bumiller@proxmox.com>
+Date: Fri, 29 Jul 2022 09:30:10 +0200
+Subject: [PATCH] fix reinitialization with fuse3
+
+With fuse3 `fuse_get_context` returns NULL before fuse was
+fully initialized, so we must not access it.
+
+Futher, we call 'do_reload' for normal initialization as
+well, so let's prevent that from re-initializing the
+bindings initially and only do this on actual reloads,
+otherwise we do it twice on startup.
+
+Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
+Fixes #549
+---
+ src/bindings.c | 2 +-
+ src/lxcfs.c | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/bindings.c b/src/bindings.c
+index 422a6229..fee7ede0 100644
+--- a/src/bindings.c
++++ b/src/bindings.c
+@@ -943,5 +943,5 @@ void *lxcfs_fuse_init(struct fuse_conn_info *conn, void *data)
+ can_use_sys_cpu = true;
+ #endif
+ has_versioned_opts = true;
+- return fc->private_data;
++ return fc ? fc->private_data : NULL;
+ }
+diff --git a/src/lxcfs.c b/src/lxcfs.c
+index d1a3d805..fed896c9 100644
+--- a/src/lxcfs.c
++++ b/src/lxcfs.c
+@@ -123,7 +123,7 @@ static int lxcfs_init_library(void)
+
+ /* do_reload - reload the dynamic library. Done under
+ * lock and when we know the user_count was 0 */
+-static void do_reload(void)
++static void do_reload(bool reinit)
+ {
+ int ret;
+ char lxcfs_lib_path[PATH_MAX];
+@@ -164,7 +164,7 @@ static void do_reload(void)
+
+ good:
+ /* initialize the library */
+- if (lxcfs_init_library() < 0) {
++ if (reinit && lxcfs_init_library() < 0) {
+ log_exit("Failed to initialize liblxcfs.so");
+ }
+
+@@ -180,7 +180,7 @@ static void up_users(void)
+ {
+ users_lock();
+ if (users_count == 0 && need_reload)
+- do_reload();
++ do_reload(true);
+ users_count++;
+ users_unlock();
+ }
+@@ -1362,7 +1362,7 @@ int main(int argc, char *argv[])
+ fuse_argv[fuse_argc++] = new_argv[0];
+ fuse_argv[fuse_argc] = NULL;
+
+- do_reload();
++ do_reload(false);
+ if (install_signal_handler(SIGUSR1, sigusr1_reload)) {
+ lxcfs_error("%s - Failed to install SIGUSR1 signal handler", strerror(errno));
+ goto out;
diff --git a/sys-fs/lxcfs/lxcfs-4.0.12.ebuild b/sys-fs/lxcfs/lxcfs-4.0.12.ebuild
deleted file mode 100644
index 62d6d70ca93..00000000000
--- a/sys-fs/lxcfs/lxcfs-4.0.12.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools flag-o-matic systemd verify-sig
-
-DESCRIPTION="FUSE filesystem for LXC"
-HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/"
-SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz
- verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )"
-
-LICENSE="Apache-2.0 LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv ~x86"
-
-RDEPEND="sys-fs/fuse:3"
-DEPEND="${RDEPEND}"
-BDEPEND="sys-apps/help2man
- verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
-
-# Looks like these won't ever work in a container/chroot environment. #764620
-RESTRICT="test"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- # Needed for x86 support, bug #819762
- # May be able to drop when/if ported to meson, but re-test w/ x86 chroot
- append-lfs-flags
-
- # Without the localstatedir the filesystem isn't mounted correctly
- # Without with-distro ./configure will fail when cross-compiling
- econf --localstatedir=/var --with-distro=gentoo --disable-static
-}
-
-src_test() {
- cd tests/ || die
- emake -j1 tests
- ./main.sh || die "Tests failed"
-}
-
-src_install() {
- default
-
- newconfd "${FILESDIR}"/lxcfs-4.0.0.confd lxcfs
- newinitd "${FILESDIR}"/lxcfs-4.0.0.initd lxcfs
-
- # Provide our own service file (copy of upstream) due to paths being different from upstream,
- # #728470
- systemd_newunit "${FILESDIR}"/lxcfs-4.0.0.service lxcfs.service
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sys-fs/lxcfs/lxcfs-5.0.0_p20220524.ebuild b/sys-fs/lxcfs/lxcfs-5.0.0_p20220524.ebuild
new file mode 100644
index 00000000000..c9ff5e704ff
--- /dev/null
+++ b/sys-fs/lxcfs/lxcfs-5.0.0_p20220524.ebuild
@@ -0,0 +1,77 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake meson python-any-r1 systemd
+
+MY_COMMIT="18e78f70fa6764be4e4f6fcc6ae8d314da7f3a91"
+
+DESCRIPTION="FUSE filesystem for LXC"
+HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/"
+SRC_URI="https://github.com/lxc/lxcfs/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 LGPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+IUSE="doc test"
+
+DEPEND="sys-fs/fuse:3"
+RDEPEND="${DEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/jinja[${PYTHON_USEDEP}]
+ ')
+ doc? ( sys-apps/help2man )"
+
+# Needs some black magic to work inside container/chroot.
+RESTRICT="test"
+
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
+python_check_deps() {
+ python_has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Fix python shebangs for python-exec[-native-symlinks], #851480
+ local shebangs=($(grep -rl "#!/usr/bin/env python3" || die))
+ python_fix_shebang -q ${shebangs[*]}
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use doc docs)
+ $(meson_use test tests)
+
+ -Dfuse-version=3
+ -Dinit-script=""
+ -Dwith-init-script=""
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}"/tests || die "failed to change into tests/ directory."
+ ./main.sh || die
+}
+
+src_install() {
+ meson_src_install
+
+ newconfd "${FILESDIR}"/lxcfs-4.0.0.confd lxcfs
+ newinitd "${FILESDIR}"/lxcfs-4.0.0.initd lxcfs
+
+ # Provide our own service file (copy of upstream) due to paths being different from upstream,
+ # #728470
+ systemd_newunit "${FILESDIR}"/lxcfs-4.0.0.service lxcfs.service
+}
diff --git a/sys-fs/lxcfs/lxcfs-5.0.1-r1.ebuild b/sys-fs/lxcfs/lxcfs-5.0.1-r1.ebuild
new file mode 100644
index 00000000000..1a0187e1c33
--- /dev/null
+++ b/sys-fs/lxcfs/lxcfs-5.0.1-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake meson python-any-r1 systemd verify-sig
+
+DESCRIPTION="FUSE filesystem for LXC"
+HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/"
+SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz
+ verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )"
+
+LICENSE="Apache-2.0 LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="doc test"
+
+DEPEND="sys-fs/fuse:3"
+RDEPEND="${DEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/jinja[${PYTHON_USEDEP}]
+ ')
+ doc? ( sys-apps/help2man )
+ verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
+
+# Needs some black magic to work inside container/chroot.
+RESTRICT="test"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
+
+PATCHES=( "${FILESDIR}"/lxcfs-5.0.1-fix-reinitialization-with-fuse3.patch )
+
+python_check_deps() {
+ python_has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Fix python shebangs for python-exec[-native-symlinks], #851480
+ local shebangs=($(grep -rl "#!/usr/bin/env python3" || die))
+ python_fix_shebang -q ${shebangs[*]}
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use doc docs)
+ $(meson_use test tests)
+
+ -Dfuse-version=3
+ -Dinit-script=""
+ -Dwith-init-script=""
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}"/tests || die "failed to change into tests/ directory."
+ ./main.sh || die
+}
+
+src_install() {
+ meson_src_install
+
+ newconfd "${FILESDIR}"/lxcfs-4.0.0.confd lxcfs
+ newinitd "${FILESDIR}"/lxcfs-4.0.0.initd lxcfs
+
+ # Provide our own service file (copy of upstream) due to paths being different from upstream,
+ # #728470
+ systemd_newunit "${FILESDIR}"/lxcfs-4.0.0.service lxcfs.service
+}
diff --git a/sys-fs/lxcfs/lxcfs-5.0.2.ebuild b/sys-fs/lxcfs/lxcfs-5.0.2.ebuild
new file mode 100644
index 00000000000..9af4475e980
--- /dev/null
+++ b/sys-fs/lxcfs/lxcfs-5.0.2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake meson python-any-r1 systemd verify-sig
+
+DESCRIPTION="FUSE filesystem for LXC"
+HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/"
+SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz
+ verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )"
+
+LICENSE="Apache-2.0 LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="doc test"
+
+DEPEND="sys-fs/fuse:3"
+RDEPEND="${DEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/jinja[${PYTHON_USEDEP}]
+ ')
+ doc? ( sys-apps/help2man )
+ verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
+
+# Needs some black magic to work inside container/chroot.
+RESTRICT="test"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
+
+python_check_deps() {
+ python_has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Fix python shebangs for python-exec[-native-symlinks], #851480
+ local shebangs=($(grep -rl "#!/usr/bin/env python3" || die))
+ python_fix_shebang -q ${shebangs[*]}
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use doc docs)
+ $(meson_use test tests)
+
+ -Dfuse-version=3
+ -Dinit-script=""
+ -Dwith-init-script=""
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}"/tests || die "failed to change into tests/ directory."
+ ./main.sh || die
+}
+
+src_install() {
+ meson_src_install
+
+ newconfd "${FILESDIR}"/lxcfs-4.0.0.confd lxcfs
+ newinitd "${FILESDIR}"/lxcfs-4.0.0.initd lxcfs
+
+ # Provide our own service file (copy of upstream) due to paths being different from upstream,
+ # #728470
+ systemd_newunit "${FILESDIR}"/lxcfs-4.0.0.service lxcfs.service
+}
diff --git a/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-2tb.patch b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-2tb.patch
new file mode 100644
index 00000000000..bb7c4222a4d
--- /dev/null
+++ b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-2tb.patch
@@ -0,0 +1,164 @@
+grobian@gentoo.org
+
+not sure what big_pt.patch was tested on, but partitioning a 2TB disk
+(Blocks=3907029168) won't work, with a daft warning, and no joy
+
+upgrade size storage to unsigned long long, so we can store these sizes
+tested on a PowerMac G5 with a 2TB SATA drive
+
+
+--- mac-fdisk-0.1.orig/io.c 2022-06-01 19:37:08.000000000 +0200
++++ mac-fdisk-0.1.orig/io.c 2022-06-01 20:32:12.000000000 +0200
+@@ -85,7 +85,7 @@
+ //
+ // Forward declarations
+ //
+-long get_number(int first_char);
++long long get_number(int first_char);
+ char* get_string(int eos);
+ #ifndef __linux__
+ int DoTestUnitReady(UInt8 targetID);
+@@ -201,9 +205,8 @@
+ return 0;
+ }
+
+-
+ int
+-get_number_argument(char *prompt, long *number, long default_value)
++get_number_argument_long(char *prompt, long long *number, long long default_value)
+ {
+ int c;
+ int result = 0;
+@@ -237,14 +241,22 @@
+ return result;
+ }
+
++int
++get_number_argument(char *prompt, long *number, long default_value)
++{
++ long long retval = (long long)default_value;
++ int ret = get_number_argument_long(prompt, &retval, retval);
++ *number = (long)retval;
++ return ret;
++}
+
+-long
++long long
+ get_number(int first_char)
+ {
+ register int c;
+ int base;
+ int digit;
+- int ret_value;
++ long long ret_value;
+
+ if (first_char != '0') {
+ c = first_char;
+--- mac-fdisk-0.1.orig/io.h 1997-01-09 23:31:31.000000000 +0100
++++ mac-fdisk-0.1.orig/io.h 2022-06-01 20:10:20.000000000 +0200
+@@ -57,6 +57,7 @@
+ int get_command(char *prompt, int promptBeforeGet, int *command);
+ long get_multiplier(long divisor);
+ int get_number_argument(char *prompt, long *number, long default_value);
++int get_number_argument_long(char *prompt, long long *number, long long default_value);
+ int get_okay(char *prompt, int default_value);
+ int get_string_argument(char *prompt, char **string, int reprompt);
+ int getch();
+--- mac-fdisk-0.1.orig/partition_map.c 2022-06-01 19:37:08.000000000 +0200
++++ mac-fdisk-0.1.orig/partition_map.c 2022-06-01 20:16:26.000000000 +0200
+@@ -90,7 +90,7 @@
+ void coerce_block0(partition_map_header *map);
+ int contains_driver(partition_map *entry);
+ void combine_entry(partition_map *entry);
+-long compute_device_size(int fd);
++unsigned long long compute_device_size(int fd);
+ DPME* create_data(const char *name, const char *dptype, u32 base, u32 length);
+ partition_map_header* create_partition_map(char *name);
+ void delete_entry(partition_map *entry);
+@@ -407,7 +407,7 @@
+ int fd;
+ partition_map_header * map;
+ DPME *data;
+- unsigned long number;
++ unsigned long long number;
+ #ifdef __linux__
+ struct stat info;
+ #endif
+@@ -435,13 +435,14 @@
+ map->maximum_in_map = -1;
+
+ number = compute_device_size(fd);
+- printf("size of 'device' is %u blocks: ", (unsigned int)number);
++ printf("size of 'device' is %llu blocks: ", number);
++ fflush(NULL);
+ flush_to_newline(0);
+- get_number_argument("what should be the size? ", (long *)&number, number);
++ get_number_argument_long("what should be the size? ", (long long *)&number, (long long)number);
+ if (number < 4) {
+ number = 4;
+ }
+- printf("new size of 'device' is %u blocks\n", (unsigned int)number);
++ printf("new size of 'device' is %llu blocks\n", number);
+ map->media_size = number;
+
+ #ifdef __linux__
+@@ -468,7 +469,7 @@
+ data->dpme_signature = DPME_SIGNATURE;
+ data->dpme_map_entries = 1;
+ data->dpme_pblock_start = 1;
+- data->dpme_pblocks = map->media_size - 1;
++ data->dpme_pblocks = (u32)(map->media_size - 1);
+ strncpy(data->dpme_name, kFreeName, DPISTRLEN);
+ strncpy(data->dpme_type, kFreeType, DPISTRLEN);
+ data->dpme_lblock_start = 0;
+@@ -506,7 +507,7 @@
+ if (p->sbSig != BLOCK0_SIGNATURE) {
+ p->sbSig = BLOCK0_SIGNATURE;
+ p->sbBlkSize = 512;
+- p->sbBlkCount = map->media_size;
++ p->sbBlkCount = (u32)map->media_size;
+ p->sbDevType = 0;
+ p->sbDevId = 0;
+ p->sbData = 0;
+@@ -573,7 +574,7 @@
+ }
+ // if the map will overflow then punt
+ if (map->maximum_in_map < 0) {
+- limit = map->media_size;
++ limit = (int)map->media_size;
+ } else {
+ limit = map->maximum_in_map;
+ }
+@@ -661,7 +662,7 @@
+ }
+
+
+-long
++unsigned long long
+ compute_device_size(int fd)
+ {
+ #ifdef TEST_COMPUTE
+@@ -753,11 +754,7 @@
+ free(data);
+ }
+
+- // Add a warning just in case...
+- if(x > 0x80000000)
+- printf("Warning: Large disks may not work with this tool!\n");
+-
+- return (unsigned long) x;
++ return x;
+ }
+
+
+--- mac-fdisk-0.1.orig/partition_map.h 2022-06-01 19:37:08.000000000 +0200
++++ mac-fdisk-0.1.orig/partition_map.h 2022-06-01 19:37:49.000000000 +0200
+@@ -47,7 +47,7 @@
+ int regular_file;
+ int blocks_in_map;
+ int maximum_in_map;
+- unsigned long media_size;
++ unsigned long long media_size;
+ };
+ typedef struct partition_map_header partition_map_header;
+
diff --git a/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-musl.patch b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-musl.patch
new file mode 100644
index 00000000000..e99d6f5941d
--- /dev/null
+++ b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-musl.patch
@@ -0,0 +1,68 @@
+grobian@gentoo.org
+
+auto-flush on stdio is really a glibc feature AFAICT, so in order for
+musl to get prompts (and make the tool more bearable) just flush right
+after writing half a line
+
+--- mac-fdisk-0.1.orig/io.c 2022-06-01 19:37:08.000000000 +0200
++++ mac-fdisk-0.1.orig/io.c 2022-06-01 20:32:12.000000000 +0200
+@@ -151,7 +151,8 @@
+ int c;
+
+ flush_to_newline(0);
+- printf(prompt);
++ printf("%s", prompt);
++ fflush(NULL);
+
+ for (;;) {
+ c = getch();
+@@ -169,7 +170,8 @@
+ return 0;
+ } else {
+ flush_to_newline(0);
+- printf(prompt);
++ printf("%s", prompt);
++ fflush(NULL);
+ }
+ }
+ return -1;
+@@ -182,7 +184,8 @@
+ int c;
+
+ if (promptBeforeGet) {
+- printf(prompt);
++ printf("%s", prompt);
++ fflush(NULL);
+ }
+ for (;;) {
+ c = getch();
+@@ -192,7 +195,8 @@
+ } else if (c == ' ' || c == '\t') {
+ // skip blanks and tabs
+ } else if (c == '\n') {
+- printf(prompt);
++ printf("%s", prompt);
++ fflush(NULL);
+ } else {
+ *command = c;
+ return 1;
+@@ -217,7 +220,8 @@
+ // skip blanks and tabs
+ } else if (c == '\n') {
+ if (default_value < 0) {
+- printf(prompt);
++ printf("%s", prompt);
++ fflush(NULL);
+ } else {
+ ungetch(c);
+ *number = default_value;
+@@ -295,7 +307,8 @@
+ // skip blanks and tabs
+ } else if (c == '\n') {
+ if (reprompt) {
+- printf(prompt);
++ printf("%s", prompt);
++ fflush(NULL);
+ } else {
+ ungetch(c);
+ *string = NULL;
diff --git a/sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild b/sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild
new file mode 100644
index 00000000000..dad62e50d2a
--- /dev/null
+++ b/sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit toolchain-funcs flag-o-matic
+
+DESCRIPTION="Mac/PowerMac disk partitioning utility"
+HOMEPAGE="ftp://ftp.mklinux.apple.com/pub/Other_Tools/"
+SRC_URI="
+ mirror://debian/pool/main/m/mac-fdisk/${PN}_${PV/_p*}.orig.tar.gz
+ mirror://debian/pool/main/m/mac-fdisk/${PN}_${PV/_p*}-${PV/*_p}.diff.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 -riscv ~x86"
+
+S=${WORKDIR}/${P/_p*}.orig
+PATCHES=(
+ "${WORKDIR}"/${PN}_${PV/_p*}-${PV/*_p}.diff
+ "${FILESDIR}"/largerthan2gb.patch
+ "${FILESDIR}"/${PN}-0.1-headers.patch
+ # Patch for bug #142737
+ "${FILESDIR}"/${PN}-0.1_p16-ppc64.patch
+ ### Patch for building on amd64
+ "${FILESDIR}"/${PN}-amd64.patch
+ # Patch for large (>550GB disks)
+ # Note that >=2TB disks may not work due to limitations of the Mac
+ # Partition Table structure, this needs to be investigated
+ "${FILESDIR}"/big_pt.patch
+ "${FILESDIR}"/${PN}-0.1_p16-ppc-inline.patch
+ "${FILESDIR}"/${PN}-0.1_p18-lseek64.patch
+ # add support for partitioning 2TB drives
+ "${FILESDIR}"/${PN}-0.1_p18-2tb.patch
+ "${FILESDIR}"/${PN}-0.1_p18-musl.patch
+)
+
+src_compile() {
+ use elibc_musl && append-cppflags -Dloff_t=off_t
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ into /
+ newsbin pdisk mac-fdisk
+ newsbin fdisk pmac-fdisk
+
+ into /usr
+ newman mac-fdisk.8.in mac-fdisk.8
+ newman pmac-fdisk.8.in pmac-fdisk.8
+
+ dodoc debian/changelog README HISTORY
+}
diff --git a/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r3.ebuild b/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r3.ebuild
index b7a3da26a2f..2827a367ac7 100644
--- a/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r3.ebuild
+++ b/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r3.ebuild
@@ -16,6 +16,7 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="${PYTHON_DEPS}"
RDEPEND="${DEPEND}"
diff --git a/sys-fs/mergerfs/Manifest b/sys-fs/mergerfs/Manifest
index cdff0268f58..77cab80d747 100644
--- a/sys-fs/mergerfs/Manifest
+++ b/sys-fs/mergerfs/Manifest
@@ -2,3 +2,4 @@ DIST mergerfs-2.32.3.tar.gz 314280 BLAKE2B f7c5ab92f1241627bd91255b35bdd81782f15
DIST mergerfs-2.33.1.tar.gz 382421 BLAKE2B 0985a0ad53a12fe5283fd0e953cd74a835efd3e83f65ba4e96bc42814ce151d03f95c032eeebcc9821c7c15ae59d14b9e40055438b4482a337c5b7bc9503d27e SHA512 1178fbd4ad99c6c693e2c21551c7522107701b0d5c608a7c18be29825cf97f2a2b2d6a50094e800a74dddd9a3902c374f8b57e84a76c0640aa8e387aa095d300
DIST mergerfs-2.33.3.tar.gz 382386 BLAKE2B 49a2b75a2a39fbec178460f94696a918a0f872a7c904355c84180f8be07d9abdf68e342e7acca5093a621b85110d0a0fdb5650de68e04aa176250199eaa5bdb7 SHA512 aca5884a9d5dc03d7095e73461dee843d69463db72dfc033f76611d5417dab63ff29eb2b473f39f0390299c3aa882e6197a7038e82b58ab85799d39cc44b84d0
DIST mergerfs-2.33.4.tar.gz 382872 BLAKE2B fe369f377f731a6323566cf4d5076e9ba7dca302aae1125635433ab93927d3aad5ca57a95e0791742cdf80c7fa69cacdd16a6519593bad9e933e529974bd5d2a SHA512 e8bd0a502c045d6f93d34bce833108deaf1071a3e5c56eb61a59416067230d6e8f19f9b0f8c8aa9fe84060a886afae7509231c97fc6d9537d3ad3390ce342239
+DIST mergerfs-2.33.5.tar.gz 382895 BLAKE2B e45d6d5890046cce495f788924323052effe63ea570061ed1d031595f166c0e680fdbbcf01dd992263550d6c33a04d91a6fabd5c9f97381c5c3e6858c3e1c122 SHA512 9032142285d85e22d2a880a42ae379209d44d12d71adec6388afd43a9fb77675149ec8558bdb1f01de1b511b3d0bf910dd2ccb6f47c918df377d4d5e41368408
diff --git a/sys-fs/mergerfs/mergerfs-2.33.4.ebuild b/sys-fs/mergerfs/mergerfs-2.33.4.ebuild
index fb2d3b62a41..a21ae969d85 100644
--- a/sys-fs/mergerfs/mergerfs-2.33.4.ebuild
+++ b/sys-fs/mergerfs/mergerfs-2.33.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ DESCRIPTION="A featureful union filesystem"
HOMEPAGE="https://github.com/trapexit/mergerfs"
SRC_URI="https://github.com/trapexit/mergerfs/archive/${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
# Vendorized libfuse that's bundled is under LGPL-2.1.
LICENSE="ISC LGPL-2.1"
diff --git a/sys-fs/mergerfs/mergerfs-2.33.5.ebuild b/sys-fs/mergerfs/mergerfs-2.33.5.ebuild
new file mode 100644
index 00000000000..fb2d3b62a41
--- /dev/null
+++ b/sys-fs/mergerfs/mergerfs-2.33.5.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="A featureful union filesystem"
+HOMEPAGE="https://github.com/trapexit/mergerfs"
+
+SRC_URI="https://github.com/trapexit/mergerfs/archive/${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64 ~x86"
+
+# Vendorized libfuse that's bundled is under LGPL-2.1.
+LICENSE="ISC LGPL-2.1"
+SLOT="0"
+IUSE="+xattr"
+
+DEPEND="
+ xattr? ( sys-apps/attr )
+"
+
+RDEPEND="${DEPEND}"
+
+BDEPEND="sys-devel/gettext"
+
+src_prepare() {
+ default
+
+ # Hand made build system at it's finest.
+ echo -e "#!/bin/sh\ntrue" >tools/update-version || die
+ echo "#pragma once" >src/version.hpp || die
+ echo "static const char MERGERFS_VERSION[] = \"${PV}\";" >>src/version.hpp || die
+
+ if ! use xattr; then
+ sed 's%USE_XATTR = 1%USE_XATTR = 0%g' -i Makefile || die
+ fi
+}
+
+src_compile() {
+ # https://bugs.gentoo.org/725978
+ tc-export AR CC CXX
+
+ default
+}
+
+src_install() {
+ dobin build/mergerfs
+ dosym mergerfs /usr/bin/mount.mergerfs
+ dodoc README.md
+ doman man/mergerfs.1
+}
diff --git a/sys-fs/mtools/Manifest b/sys-fs/mtools/Manifest
index 5a3c67d64b0..443dcb7f699 100644
--- a/sys-fs/mtools/Manifest
+++ b/sys-fs/mtools/Manifest
@@ -1,2 +1,2 @@
-DIST mtools-4.0.37.tar.bz2 441076 BLAKE2B a84ff9e532a1896706589dfe7e62b1e400baf0ab9b86cc3d4a09bd4a0a24d1e86f504b9005c98765f62d735d227d0a1d5ab78354c587c88e2d42a4146d127dc1 SHA512 5ff4da9050dd5d5c0929dd9977866086085bd8fef577f3c6ce2ed6fb958eec2304db612c0766e6be1a048819e29f62023cb0f0a9464a84ed7cc21de9561fadce
DIST mtools-4.0.39.tar.bz2 429751 BLAKE2B b1b04fa1614cf36245c60c3ef35de1869e53786dbc9a7e864278a51c9519c63b59fff9dffbd761fbc59782161ba201908b4a5b6792a7231fff6f27be2bea1d67 SHA512 6f84ce57a7c088b526e3e4fa7c509f1869a55b87951134d6257533d311b4a97496c44fa374de6f8cb15c645d60b9f9745ccbdf405d0d77a30a86e31ed8d54ce4
+DIST mtools-4.0.40.tar.bz2 447038 BLAKE2B 6ae2dbd2129d48528f6a36f81f44979b2dd977729e3f3f0ab5ff4aa8d29b0841cd770e2ed12f0f772676f6bcfeb3949d4fb79e240cf1d88524bbaa6cdfb4d26e SHA512 c3acf8723ae207d9eccdca3c2b55aed262175328417031397c14c7120a1e02f0c52c7fefc0145dfb09fb91f1d3e63254e7a45bc7edf50b1ecc87b7cc95d2f390
diff --git a/sys-fs/mtools/mtools-4.0.37.ebuild b/sys-fs/mtools/mtools-4.0.40.ebuild
index 1b4c09b1ccb..baaf6497462 100644
--- a/sys-fs/mtools/mtools-4.0.37.ebuild
+++ b/sys-fs/mtools/mtools-4.0.40.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos ~x64-solaris"
IUSE="X"
RDEPEND="!elibc_glibc? ( virtual/libiconv )
@@ -40,6 +40,7 @@ src_configure() {
src_install() {
local -a DOCS=( README* Release.notes )
+
default
insinto /etc/mtools
diff --git a/sys-fs/multipath-tools/Manifest b/sys-fs/multipath-tools/Manifest
index b3e04b797c8..480f8d568d2 100644
--- a/sys-fs/multipath-tools/Manifest
+++ b/sys-fs/multipath-tools/Manifest
@@ -1,5 +1,2 @@
-DIST multipath-tools-0.8.6.tar.gz 519405 BLAKE2B 5aed36550c76bbde0e874e37356b6c5a80a80b876b56dadb69ce09f0fb049a7097fd1c0aca5076f816848e2c2660f96680d7f16d56918a25299017b39f76f777 SHA512 82e5b7307e599ba6b059679c3987a442fb5be4885f0a27c260a99a07cb336b88d48e314b4ec951944e0200e4731522d8da043d98fa566857ecc6d100791c0e38
-DIST multipath-tools-0.8.7.tar.gz 523535 BLAKE2B 3f59af86f5b9f9ea524bf0c36e4a4bc3e01f557f2e18486b5278fe10e3bcf10dbc7568768c0e95529885bcdca6bcf04021ad5261bd1e6a3aeae5eb95b9d54801 SHA512 c01aea837b13429d17688455b813947342ca1cabba19b22e13ce640c77e68335a6d410280a8298595e239131e6fcbb655fa6de5ff9857eac99aa175046a450cd
-DIST multipath-tools-0.8.8-no-compress-man-pages.patch.bz2 2493 BLAKE2B 08d77d6524861a590e07e3e9eedb1039c9b15b589becd912f17f37f728a751c7566699540c025aa1f8a0b2e04db551b0093d066f6e340a15309794fdde197483 SHA512 662f32ba5437be2a3cfffc5a466dccb7923668eeef5f23112b31d6c1b43eca2917579729e975cfbe4cd60ecfaf547f534d304626ac19d165bb2f1a3ae4bb1cc6
-DIST multipath-tools-0.8.8.tar.gz 527412 BLAKE2B 15e24a04ff1c41c8562033ca22214c015ab4c4a9e9833323830b665793c1964b6fcb7b710761bf501f0e99d461d6e6c7dfe80851a0ded4d99693a1561490598f SHA512 f09932da93b6ab06f0f911b09c605ea931fb8cb8b5530ef9999d21a41056fb48e944fc245dfe20096b2746ce1c9ebb5b548e1182079a3b52659d33263a441969
DIST multipath-tools-0.8.9.tar.gz 534866 BLAKE2B b5ebf3c393f6b60e85678ac07378ae07056b6777409fc1bc4f4133cdd3f8c75a3d76f6e9342208df7fed8fe7812b089eba8f6b769e47e1dd6c8b7fd321bdbd30 SHA512 25f2a5d436af6a343804988cef45ca1574d4a981655a2b91563ddb89138619158befdf5af92d836a17c95d6dcf901072b614473c2129274e5dcdb1a1d64edb4d
+DIST multipath-tools-0.9.0.tar.gz 537311 BLAKE2B e7d4958d24d1e19da2b80be23585ad37f6b0c1b66dc1377014d825ddd2be10ea3b8c30162cb7a23b120427bf0c957c6cad8560018e1cb058c284f37afd5d50d4 SHA512 6c417f6d1d116fa43bedb9f77769ece9cbb7b35b78a9b3558c41df2360e52a65a07314b12ab7e4a7bbc867b9755250de9db96a2f7eb4a6a37f0b0b3f0bbc840e
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.8.5-respect-flags.patch b/sys-fs/multipath-tools/files/multipath-tools-0.8.5-respect-flags.patch
deleted file mode 100644
index 20d9fef6f3f..00000000000
--- a/sys-fs/multipath-tools/files/multipath-tools-0.8.5-respect-flags.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- multipath-tools-0.8.5-eecfcba/Makefile.inc
-+++ multipath-tools-0.8.5-eecfcba/Makefile.inc
-@@ -98,7 +98,8 @@
- -Werror=implicit-function-declaration -Werror=format-security \
- $(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS)
- CPPFLAGS := -Wp,-D_FORTIFY_SOURCE=2
--CFLAGS := --std=gnu99 $(CFLAGS) $(OPTFLAGS) $(WARNFLAGS) -pipe \
-+CFLAGS ?= $(OPTFLAGS) $(WARNFLAGS) -pipe
-+CFLAGS += --std=gnu99 \
- -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \
- -MMD -MP
- BIN_CFLAGS = -fPIE -DPIE
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.8.6-no-compress-man-pages.patch b/sys-fs/multipath-tools/files/multipath-tools-0.8.6-no-compress-man-pages.patch
deleted file mode 100644
index d8521436d95..00000000000
--- a/sys-fs/multipath-tools/files/multipath-tools-0.8.6-no-compress-man-pages.patch
+++ /dev/null
@@ -1,226 +0,0 @@
-From 80cca1a75f24ee239ace5577d49ccfec511480ca Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Mon, 12 Jul 2021 06:04:04 +0100
-Subject: [PATCH] Don't compress man pages
-
----
- kpartx/Makefile | 5 ++---
- libdmmp/Makefile | 13 ++++---------
- libmpathpersist/Makefile | 14 +++++---------
- mpathpersist/Makefile | 5 ++---
- multipath/Makefile | 10 ++++------
- multipathd/Makefile | 5 ++---
- 6 files changed, 19 insertions(+), 33 deletions(-)
-
-diff --git a/kpartx/Makefile b/kpartx/Makefile
-index 2906a98..cd351a4 100644
---- a/kpartx/Makefile
-+++ b/kpartx/Makefile
-@@ -21,7 +21,6 @@ all: $(EXEC)
-
- $(EXEC): $(OBJS)
- $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) $(LIBDEPS)
-- $(GZIP) $(EXEC).8 > $(EXEC).8.gz
-
- install: $(EXEC) $(EXEC).8
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
-@@ -33,11 +32,11 @@ install: $(EXEC) $(EXEC).8
- $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules
- $(INSTALL_PROGRAM) -m 644 del-part-nodes.rules $(DESTDIR)$(libudevdir)/rules.d/68-del-part-nodes.rules
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
-- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
-+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
-
- uninstall:
- $(RM) $(DESTDIR)$(bindir)/$(EXEC)
-- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
-+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
- $(RM) $(DESTDIR)$(libudevdir)/kpartx_id
- $(RM) $(DESTDIR)$(libudevdir)/rules.d/11-dm-parts.rules
- $(RM) $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules
-diff --git a/libdmmp/Makefile b/libdmmp/Makefile
-index 764a0bc..a859786 100644
---- a/libdmmp/Makefile
-+++ b/libdmmp/Makefile
-@@ -21,13 +21,13 @@ CFLAGS += $(LIB_CFLAGS) -fvisibility=hidden -I$(libdmmpdir) -I$(mpathcmddir) \
- LIBDEPS += $(shell $(PKGCONFIG) --libs json-c) -L$(mpathcmddir) -lmpathcmd -lpthread
-
- all: $(LIBS) doc
--.PHONY: doc doc.gz clean install uninstall check speed_test dep_clean
-+.PHONY: doc clean install uninstall check speed_test dep_clean
-
- $(LIBS): $(OBJS)
- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS)
- $(LN) $@ $(DEVLIB)
-
--install: doc.gz
-+install: doc
- mkdir -p $(DESTDIR)$(usrlibdir)
- $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(usrlibdir)/$(LIBS)
- $(INSTALL_PROGRAM) -m 644 -D \
-@@ -41,7 +41,7 @@ install: doc.gz
- $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
- perl -i -pe 's|__INCLUDEDIR__|$(includedir)|g' \
- $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
-- $(INSTALL_PROGRAM) -m 644 -t $(DESTDIR)$(man3dir) docs/man/*.3.gz
-+ $(INSTALL_PROGRAM) -m 644 -t $(DESTDIR)$(man3dir) docs/man/*.3
-
- uninstall:
- $(RM) $(DESTDIR)$(usrlibdir)/$(LIBS)
-@@ -55,7 +55,7 @@ uninstall:
-
- clean: dep_clean
- $(RM) core *.a *.o *.gz *.so *.so.*
-- $(RM) docs/man/*.gz
-+ $(RM) docs/man/*
- $(MAKE) -C test clean
-
- include $(wildcard $(OBJS:.o=.d))
-@@ -66,13 +66,8 @@ check: all
- speed_test: all
- $(MAKE) -C test speed_test
-
--doc.gz: doc $(patsubst %,%.gz,$(wildcard docs/man/*.3))
--
- doc: docs/man/dmmp_strerror.3
-
--docs/man/%.3.gz: docs/man/%.3
-- gzip -c $< >$@
--
- docs/man/dmmp_strerror.3: $(HEADERS)
- TEMPFILE=$(shell mktemp); \
- cat $^ | perl docs/doc-preclean.pl >$$TEMPFILE; \
-diff --git a/libmpathpersist/Makefile b/libmpathpersist/Makefile
-index 57103e5..37c765a 100644
---- a/libmpathpersist/Makefile
-+++ b/libmpathpersist/Makefile
-@@ -12,7 +12,7 @@ LIBDEPS += -lmultipath -lmpathcmd -ldevmapper -lpthread -ldl
-
- OBJS = mpath_persist.o mpath_updatepr.o mpath_pr_ioctl.o
-
--all: $(DEVLIB) man
-+all: $(DEVLIB)
-
- $(LIBS): $(OBJS) $(VERSION_SCRIPT)
- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ \
-@@ -21,10 +21,6 @@ $(LIBS): $(OBJS) $(VERSION_SCRIPT)
- $(DEVLIB): $(LIBS)
- $(LN) $(LIBS) $@
-
--man:
-- $(GZIP) mpath_persistent_reserve_in.3 > mpath_persistent_reserve_in.3.gz
-- $(GZIP) mpath_persistent_reserve_out.3 > mpath_persistent_reserve_out.3.gz
--
- install: all
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(syslibdir)
- $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(syslibdir)/$(LIBS)
-@@ -32,14 +28,14 @@ install: all
- $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(man3dir)
- $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(includedir)
- $(LN) $(LIBS) $(DESTDIR)$(syslibdir)/$(DEVLIB)
-- $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_in.3.gz $(DESTDIR)$(man3dir)
-- $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_out.3.gz $(DESTDIR)$(man3dir)
-+ $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_in.3 $(DESTDIR)$(man3dir)
-+ $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_out.3 $(DESTDIR)$(man3dir)
- $(INSTALL_PROGRAM) -m 644 mpath_persist.h $(DESTDIR)$(includedir)
-
- uninstall:
- $(RM) $(DESTDIR)$(syslibdir)/$(LIBS)
-- $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_in.3.gz
-- $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_out.3.gz
-+ $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_in.3
-+ $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_out.3
- $(RM) $(DESTDIR)$(includedir)/mpath_persist.h
- $(RM) $(DESTDIR)$(syslibdir)/$(DEVLIB)
-
-diff --git a/mpathpersist/Makefile b/mpathpersist/Makefile
-index 5126801..0aba3cb 100644
---- a/mpathpersist/Makefile
-+++ b/mpathpersist/Makefile
-@@ -14,13 +14,12 @@ all: $(EXEC)
-
- $(EXEC): $(OBJS)
- $(CC) $(OBJS) -o $(EXEC) $(LDFLAGS) $(CFLAGS) $(LIBDEPS)
-- $(GZIP) $(EXEC).8 > $(EXEC).8.gz
-
- install:
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
- $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
-- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
-+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
-
- clean: dep_clean
- $(RM) core *.o $(EXEC) *.gz
-@@ -29,7 +28,7 @@ include $(wildcard $(OBJS:.o=.d))
-
- uninstall:
- $(RM) $(DESTDIR)$(bindir)/$(EXEC)
-- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
-+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
-
- dep_clean:
- $(RM) $(OBJS:.o=.d)
-diff --git a/multipath/Makefile b/multipath/Makefile
-index 0828a8f..55b6f7b 100644
---- a/multipath/Makefile
-+++ b/multipath/Makefile
-@@ -16,8 +16,6 @@ all: $(EXEC)
-
- $(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so
- $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) $(LIBDEPS)
-- $(GZIP) $(EXEC).8 > $(EXEC).8.gz
-- $(GZIP) $(EXEC).conf.5 > $(EXEC).conf.5.gz
-
- install:
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
-@@ -26,16 +24,16 @@ install:
- $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir)
- $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
-- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
-+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir)
-- $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir)
-+ $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5 $(DESTDIR)$(man5dir)
-
- uninstall:
- $(RM) $(DESTDIR)$(bindir)/$(EXEC)
- $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules
- $(RM) $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules
-- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
-- $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz
-+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
-+ $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5
-
- clean: dep_clean
- $(RM) core *.o $(EXEC) *.gz
-diff --git a/multipathd/Makefile b/multipathd/Makefile
-index d053c1e..cf3339f 100644
---- a/multipathd/Makefile
-+++ b/multipathd/Makefile
-@@ -38,7 +38,6 @@ all : $(EXEC)
-
- $(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so
- $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $(EXEC) $(LIBDEPS)
-- $(GZIP) $(EXEC).8 > $(EXEC).8.gz
-
- cli_handlers.o: cli_handlers.c
- $(CC) $(CFLAGS) -Wno-unused-parameter -c -o $@ $<
-@@ -52,11 +51,11 @@ ifdef SYSTEMD
- $(INSTALL_PROGRAM) -m 644 $(EXEC).socket $(DESTDIR)$(unitdir)
- endif
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
-- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
-+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
-
- uninstall:
- $(RM) $(DESTDIR)$(bindir)/$(EXEC)
-- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
-+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
- $(RM) $(DESTDIR)$(unitdir)/$(EXEC).service
- $(RM) $(DESTDIR)$(unitdir)/$(EXEC).socket
-
---
-2.32.0
-
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.9.0-respect-flags.patch b/sys-fs/multipath-tools/files/multipath-tools-0.9.0-respect-flags.patch
new file mode 100644
index 00000000000..f2b6dca0577
--- /dev/null
+++ b/sys-fs/multipath-tools/files/multipath-tools-0.9.0-respect-flags.patch
@@ -0,0 +1,15 @@
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -140,10 +140,9 @@
+ WARNFLAGS := -Werror -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
+ -Werror=implicit-function-declaration -Werror=format-security \
+ $(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS)
+-CPPFLAGS := $(FORTIFY_OPT) \
+- -DBIN_DIR=\"$(bindir)\" -DMULTIPATH_DIR=\"$(plugindir)\" -DRUN_DIR=\"${RUN}\" \
++CPPFLAGS += -DBIN_DIR=\"$(bindir)\" -DMULTIPATH_DIR=\"$(plugindir)\" -DRUN_DIR=\"${RUN}\" \
+ -DCONFIG_DIR=\"$(configdir)\" -DEXTRAVERSION=\"$(EXTRAVERSION)\" -MMD -MP
+-CFLAGS := --std=gnu99 $(CFLAGS) $(OPTFLAGS) $(WARNFLAGS) -pipe
++CFLAGS += -std=gnu99 $(WARNFLAGS)
+ BIN_CFLAGS = -fPIE -DPIE
+ LIB_CFLAGS = -fPIC
+ SHARED_FLAGS = -shared
diff --git a/sys-fs/multipath-tools/multipath-tools-0.8.6-r1.ebuild b/sys-fs/multipath-tools/multipath-tools-0.8.6-r1.ebuild
deleted file mode 100644
index e8862ae6779..00000000000
--- a/sys-fs/multipath-tools/multipath-tools-0.8.6-r1.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit linux-info systemd toolchain-funcs udev
-
-DESCRIPTION="Device mapper target autoconfig"
-HOMEPAGE="http://christophe.varoqui.free.fr/"
-SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ppc64 x86"
-IUSE="systemd rbd test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/json-c:=
- dev-libs/libaio
- dev-libs/userspace-rcu:=
- >=sys-fs/lvm2-2.02.45
- >=virtual/libudev-232-r3
- sys-libs/readline:0=
- rbd? ( sys-cluster/ceph )
- systemd? ( sys-apps/systemd )
-"
-DEPEND="${RDEPEND}
- test? ( dev-util/cmocka )"
-BDEPEND="virtual/pkgconfig"
-
-CONFIG_CHECK="~DM_MULTIPATH"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.8.5-respect-flags.patch
- "${FILESDIR}"/${PN}-0.8.6-no-compress-man-pages.patch
-)
-
-src_prepare() {
- default
-
- # The upstream lacks any way to configure the build at present
- # and ceph is a huge dependency, so we're using sed to make it
- # optional until the upstream has a proper configure system
- if ! use rbd ; then
- sed \
- -e "s/libcheckrbd.so/# libcheckrbd.so/" \
- -e "s/-lrados//" \
- -i libmultipath/checkers/Makefile \
- || die
- fi
-}
-
-src_compile() {
- # LIBDM_API_FLUSH involves grepping files in /usr/include,
- # so force the test to go the way we want #411337.
- emake \
- CC="$(tc-getCC)" \
- LIB="${EPREFIX}/$(get_libdir)" \
- LIBDM_API_FLUSH=1 \
- PKGCONFIG="$(tc-getPKG_CONFIG)"
-}
-
-src_install() {
- dodir /sbin /usr/share/man/man{3,5,8}
- emake \
- DESTDIR="${D}" \
- LIB="${EPREFIX}/$(get_libdir)" \
- RUN=run \
- unitdir="$(systemd_get_systemunitdir)" \
- libudevdir='${prefix}'/"$(get_udevdir)" \
- pkgconfdir='${prefix}'/usr/'${LIB}'/pkgconfig \
- install
-
- newinitd "${FILESDIR}"/multipathd-r1.rc multipathd
- newinitd "${FILESDIR}"/multipath.rc multipath
-
- einstalldocs
-
- find "${ED}" -type f -name "*.la" -delete || die
-}
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]] ; then
- elog "If you need multipath on your system, you must"
- elog "add 'multipath' into your boot runlevel!"
- fi
-}
diff --git a/sys-fs/multipath-tools/multipath-tools-0.8.8.ebuild b/sys-fs/multipath-tools/multipath-tools-0.8.8.ebuild
deleted file mode 100644
index f0a18e273be..00000000000
--- a/sys-fs/multipath-tools/multipath-tools-0.8.8.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit linux-info systemd toolchain-funcs udev
-
-DESCRIPTION="Device mapper target autoconfig"
-HOMEPAGE="http://christophe.varoqui.free.fr/"
-SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-0.8.8-no-compress-man-pages.patch.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="systemd rbd test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/json-c:=
- dev-libs/libaio
- dev-libs/userspace-rcu:=
- >=sys-fs/lvm2-2.02.45
- >=virtual/libudev-232-r3
- sys-libs/readline:0=
- rbd? ( sys-cluster/ceph )
- systemd? ( sys-apps/systemd )
-"
-DEPEND="${RDEPEND}
- test? ( dev-util/cmocka )"
-BDEPEND="virtual/pkgconfig"
-
-CONFIG_CHECK="~DM_MULTIPATH"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.8.7-respect-flags.patch
- "${WORKDIR}"/${PN}-0.8.8-no-compress-man-pages.patch
-)
-
-src_prepare() {
- default
-
- # The upstream lacks any way to configure the build at present
- # and ceph is a huge dependency, so we're using sed to make it
- # optional until the upstream has a proper configure system
- if ! use rbd ; then
- sed \
- -e "s/libcheckrbd.so/# libcheckrbd.so/" \
- -e "s/-lrados//" \
- -i libmultipath/checkers/Makefile \
- || die
- fi
-}
-
-src_compile() {
- tc-export CC
-
- # LIBDM_API_FLUSH involves grepping files in /usr/include,
- # so force the test to go the way we want #411337.
- emake \
- LIB="${EPREFIX}/$(get_libdir)" \
- LIBDM_API_FLUSH=1 \
- PKGCONFIG="$(tc-getPKG_CONFIG)"
-}
-
-src_install() {
- dodir /sbin /usr/share/man/man{3,5,8}
- emake \
- DESTDIR="${D}" \
- LIB="${EPREFIX}/$(get_libdir)" \
- RUN=run \
- unitdir="$(systemd_get_systemunitdir)" \
- libudevdir='${prefix}'/"$(get_udevdir)" \
- pkgconfdir='${prefix}'/usr/'${LIB}'/pkgconfig \
- install
-
- newinitd "${FILESDIR}"/multipathd-r1.rc multipathd
- newinitd "${FILESDIR}"/multipath.rc multipath
-
- einstalldocs
-
- find "${ED}" -type f -name "*.la" -delete || die
-}
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]] ; then
- elog "If you need multipath on your system, you must"
- elog "add 'multipath' into your boot runlevel!"
- fi
-}
diff --git a/sys-fs/multipath-tools/multipath-tools-0.8.7.ebuild b/sys-fs/multipath-tools/multipath-tools-0.9.0.ebuild
index 35caf3b69f5..c3ba08e79c7 100644
--- a/sys-fs/multipath-tools/multipath-tools-0.8.7.ebuild
+++ b/sys-fs/multipath-tools/multipath-tools-0.9.0.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
inherit linux-info systemd toolchain-funcs udev
@@ -11,8 +11,8 @@ SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ppc64 x86"
-IUSE="systemd rbd test"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="systemd test"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -21,35 +21,15 @@ RDEPEND="
dev-libs/userspace-rcu:=
>=sys-fs/lvm2-2.02.45
>=virtual/libudev-232-r3
- sys-libs/readline:0=
- rbd? ( sys-cluster/ceph )
- systemd? ( sys-apps/systemd )
-"
+ sys-libs/readline:=
+ systemd? ( sys-apps/systemd )"
DEPEND="${RDEPEND}
test? ( dev-util/cmocka )"
BDEPEND="virtual/pkgconfig"
CONFIG_CHECK="~DM_MULTIPATH"
-PATCHES=(
- "${FILESDIR}"/${PN}-0.8.7-respect-flags.patch
- "${FILESDIR}"/${PN}-0.8.6-no-compress-man-pages.patch
-)
-
-src_prepare() {
- default
-
- # The upstream lacks any way to configure the build at present
- # and ceph is a huge dependency, so we're using sed to make it
- # optional until the upstream has a proper configure system
- if ! use rbd ; then
- sed \
- -e "s/libcheckrbd.so/# libcheckrbd.so/" \
- -e "s/-lrados//" \
- -i libmultipath/checkers/Makefile \
- || die
- fi
-}
+PATCHES=( "${FILESDIR}"/${PN}-0.9.0-respect-flags.patch )
src_compile() {
tc-export CC
@@ -57,7 +37,8 @@ src_compile() {
# LIBDM_API_FLUSH involves grepping files in /usr/include,
# so force the test to go the way we want #411337.
emake \
- LIB="${EPREFIX}/$(get_libdir)" \
+ prefix="${EPREFIX}" \
+ LIB="$(get_libdir)" \
LIBDM_API_FLUSH=1 \
PKGCONFIG="$(tc-getPKG_CONFIG)"
}
@@ -66,24 +47,30 @@ src_install() {
dodir /sbin /usr/share/man/man{3,5,8}
emake \
DESTDIR="${D}" \
- LIB="${EPREFIX}/$(get_libdir)" \
+ prefix="${EPREFIX}" \
+ LIB="$(get_libdir)" \
RUN=run \
unitdir="$(systemd_get_systemunitdir)" \
- libudevdir='${prefix}'/"$(get_udevdir)" \
- pkgconfdir='${prefix}'/usr/'${LIB}'/pkgconfig \
+ libudevdir='$(prefix)'/$(get_udevdir) \
+ pkgconfdir='$(prefix)/usr/$(LIB)/pkgconfig' \
install
+ einstalldocs
newinitd "${FILESDIR}"/multipathd-r1.rc multipathd
newinitd "${FILESDIR}"/multipath.rc multipath
- einstalldocs
-
- find "${ED}" -type f -name "*.la" -delete || die
+ find "${ED}" -type f -name '*.la' -delete || die
}
pkg_postinst() {
+ udev_reload
+
if [[ -z ${REPLACING_VERSIONS} ]] ; then
elog "If you need multipath on your system, you must"
elog "add 'multipath' into your boot runlevel!"
fi
}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/ncdu/Manifest b/sys-fs/ncdu/Manifest
index 5acfd206f3f..3873bd7bce9 100644
--- a/sys-fs/ncdu/Manifest
+++ b/sys-fs/ncdu/Manifest
@@ -1,2 +1,3 @@
-DIST ncdu-1.15.1.tar.gz 148242 BLAKE2B c49fc706c852f081256437bcb566d0dd4cc34682693186dd84321f4c6831ac982206d59b15f3afa7a2cb25d4affcce7ff84fcc0bf922558241df1ac13212ec7a SHA512 572379264b9bd0d782151bd2f79add0e7a6d092029a041ff8f9288e928a4b6a6733467bca7c1702cbb44c3861279da1bc3d4278df6fba1814fe1dc909f2d8087
DIST ncdu-1.16.tar.gz 149705 BLAKE2B 61d004581bdcf1885bec24d0a1de4fc890fe91bba511abbdbc507a48f31946caf5c7324979e8410e53cfca8ada1b20342b737dc4e8b1f034f2fca5aea84e4369 SHA512 ac8b7e573332e4e006bf743224096b697517b6899744f189ea5a31665c1ef5e50c7fdaaa0a50a8d7bc3d471656f1f1c6681c21368bdaf983257d8cc311a0dfd0
+DIST ncdu-1.17.tar.gz 157187 BLAKE2B 7d36a648b8fb0a26d3b6bcc533ed8f510e7f37b3084cb585a0c785d73fd82f537e0f2f9493c3b56173eae1324255e7acf7617a1cd1614c92a3b7bf0d53b7d77f SHA512 aa2366797760f0c0b2bea866f0ae0446b8113e3ff6460192a4a42d4d888d473d7f37bc4acff6220fa86003bd96d71761168a2ae0ded36456072176a69564c775
+DIST ncdu-2.1.2.tar.gz 52702 BLAKE2B fb64058bec2e8f286fa82e16986cddd9126e5c94d513740d48ff1c971e7ee95270fe6c1cfbbe240bb8e99fba4e3fd6d2624f99870422835da44447a2507f0b8b SHA512 ff48f2b9625e1aba29e5598051d16c4b5dc1a634fab897709226dd69d3b48031e6e62527c8514ec4753874d2d96800e538d6ad90b4a5f9851410d10579ccc67c
diff --git a/sys-fs/ncdu/metadata.xml b/sys-fs/ncdu/metadata.xml
index ece644aaab8..c3151420b3a 100644
--- a/sys-fs/ncdu/metadata.xml
+++ b/sys-fs/ncdu/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
</maintainer>
<longdescription>
As the name already suggests, ncdu is an NCurses version of the famous old 'du'
diff --git a/sys-fs/ncdu/ncdu-1.15.1-r1.ebuild b/sys-fs/ncdu/ncdu-1.15.1-r1.ebuild
deleted file mode 100644
index 748704d358b..00000000000
--- a/sys-fs/ncdu/ncdu-1.15.1-r1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-DESCRIPTION="NCurses Disk Usage"
-HOMEPAGE="https://dev.yorhel.nl/ncdu/"
-SRC_URI="https://dev.yorhel.nl/download/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-RDEPEND="
- sys-libs/ncurses:=[unicode(+)]
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
diff --git a/sys-fs/ncdu/ncdu-1.16-r1.ebuild b/sys-fs/ncdu/ncdu-1.16-r1.ebuild
index 22076a15235..ec9c548bfd3 100644
--- a/sys-fs/ncdu/ncdu-1.16-r1.ebuild
+++ b/sys-fs/ncdu/ncdu-1.16-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -9,7 +9,7 @@ SRC_URI="https://dev.yorhel.nl/download/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
BDEPEND="virtual/pkgconfig"
diff --git a/sys-fs/ncdu/ncdu-1.17.ebuild b/sys-fs/ncdu/ncdu-1.17.ebuild
new file mode 100644
index 00000000000..4c3e4b6681e
--- /dev/null
+++ b/sys-fs/ncdu/ncdu-1.17.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+DESCRIPTION="NCurses Disk Usage"
+HOMEPAGE="https://dev.yorhel.nl/ncdu/"
+SRC_URI="https://dev.yorhel.nl/download/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+DEPEND="sys-libs/ncurses:=[unicode(+)]"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
diff --git a/sys-fs/ncdu/ncdu-2.1.2.ebuild b/sys-fs/ncdu/ncdu-2.1.2.ebuild
new file mode 100644
index 00000000000..e755f1d265d
--- /dev/null
+++ b/sys-fs/ncdu/ncdu-2.1.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="NCurses Disk Usage"
+HOMEPAGE="https://dev.yorhel.nl/ncdu/"
+SRC_URI="https://dev.yorhel.nl/download/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="sys-libs/ncurses:=[unicode(+)]"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ ~dev-lang/zig-0.9.1
+ virtual/pkgconfig
+"
+
+# see https://github.com/ziglang/zig/issues/3382
+# For now, Zig doesn't support CFLAGS/LDFLAGS/etc.
+QA_FLAGS_IGNORED="/usr/bin/ncdu"
+
+src_test() {
+ zig build test || die "Tests failed"
+}
+
+src_install() {
+ emake PREFIX="${ED}"/usr install
+
+ dodoc README.md ChangeLog
+}
diff --git a/sys-fs/ntfs3g/Manifest b/sys-fs/ntfs3g/Manifest
index 44a4ffdeed5..1cd86994343 100644
--- a/sys-fs/ntfs3g/Manifest
+++ b/sys-fs/ntfs3g/Manifest
@@ -1 +1 @@
-DIST ntfs-3g_ntfsprogs-2021.8.22.tgz 1317499 BLAKE2B 403036c68a37ba83873b5faadbb2088deb25e0ff31deb1958d4f869a198d830caa44edea879492a7894f5e7a5ad6205a6fda57bf8de722ce49bf3187239ad993 SHA512 e0544df78a6c352999e1206d7b5d71c56e39396b7a0936a261d728c2ac9d61c6b95ef297f8529ac2a5146f31c1c9e43066d3e281064d4f5d781a04eba51f536d
+DIST ntfs-3g_ntfsprogs-2022.5.17.tgz 1318476 BLAKE2B 0f3d5b3ca6186886b1a4f1fc59242a1f4ccdc842cbe53b0869f707c1dbebdd58058d40b265dae663b71a2a611f7ce5392c63afa3053dc075155759c10499d529 SHA512 25e6d3412958576b0cd614f5d93201c0d7e8bbee78fbaf956718a3825c1435b3f0c3631ea1cc60b5b1be6e9ae7d58c0c03b0bebb69edee3bf181a966734336df
diff --git a/sys-fs/ntfs3g/ntfs3g-2021.8.22-r4.ebuild b/sys-fs/ntfs3g/ntfs3g-2022.5.17.ebuild
index 3ee5db1efeb..63ccf4800e8 100644
--- a/sys-fs/ntfs3g/ntfs3g-2021.8.22-r4.ebuild
+++ b/sys-fs/ntfs3g/ntfs3g-2022.5.17.ebuild
@@ -1,7 +1,7 @@
# Copyright 2006-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
@@ -15,7 +15,7 @@ SRC_URI="http://tuxera.com/opensource/${MY_P}.tgz"
LICENSE="GPL-2"
# The subslot matches the SONAME major #.
SLOT="0/89"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
IUSE="acl debug +fuse +mount-ntfs ntfsdecrypt +ntfsprogs static-libs suid xattr"
RDEPEND="
diff --git a/sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild b/sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild
new file mode 100644
index 00000000000..ad3c805c18a
--- /dev/null
+++ b/sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="tools to create and extract Squashfs filesystems"
+HOMEPAGE="https://github.com/plougher/squashfs-tools/"
+SRC_URI="
+ https://github.com/plougher/squashfs-tools/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="debug lz4 lzma lzo xattr zstd"
+
+RDEPEND="
+ sys-libs/zlib
+ lz4? ( app-arch/lz4 )
+ lzma? ( app-arch/xz-utils )
+ lzo? ( dev-libs/lzo )
+ xattr? ( sys-apps/attr )
+ zstd? ( app-arch/zstd )
+"
+DEPEND=${RDEPEND}
+
+use10() { usex "${1}" 1 0; }
+
+src_configure() {
+ # set up make command line variables in EMAKE_SQUASHFS_CONF
+ EMAKE_SQUASHFS_CONF=(
+ LZMA_XZ_SUPPORT=$(use10 lzma)
+ LZO_SUPPORT=$(use10 lzo)
+ LZ4_SUPPORT=$(use10 lz4)
+ XATTR_SUPPORT=$(use10 xattr)
+ XZ_SUPPORT=$(use10 lzma)
+ ZSTD_SUPPORT=$(use10 zstd)
+ )
+
+ tc-export CC
+ use debug && append-cppflags -DSQUASHFS_TRACE
+}
+
+src_compile() {
+ emake "${EMAKE_SQUASHFS_CONF[@]}" -C squashfs-tools
+}
+
+src_install() {
+ dobin squashfs-tools/{mksquashfs,unsquashfs}
+ dodoc ACKNOWLEDGEMENTS CHANGES README*
+ dodoc -r RELEASE-READMEs
+ doman manpages/*.1
+
+ dosym unsquashfs /usr/bin/sqfscat
+ dosym mksquashfs /usr/bin/sqfstar
+}
diff --git a/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild b/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild
index dc799ad0baf..866d0ce54c5 100644
--- a/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild
+++ b/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild
@@ -11,7 +11,7 @@ if [ "${PV}" = "9999" ]; then
else
SRC_URI="https://gitweb.gentoo.org/proj/${OLD_PN}.git/snapshot/${OLD_P}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${OLD_P}"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
DESCRIPTION="udev startup scripts for openrc"
diff --git a/sys-fs/udev/udev-250.ebuild b/sys-fs/udev/udev-250.ebuild
index 0a984b4284a..66b7f56ddb0 100644
--- a/sys-fs/udev/udev-250.ebuild
+++ b/sys-fs/udev/udev-250.ebuild
@@ -10,6 +10,6 @@ HOMEPAGE="https://systemd.io/"
LICENSE="metapackage"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="sys-apps/systemd-utils[udev,${MULTILIB_USEDEP}]"
diff --git a/sys-fs/udiskie/Manifest b/sys-fs/udiskie/Manifest
index e560e31fa20..cbaeb3c46ed 100644
--- a/sys-fs/udiskie/Manifest
+++ b/sys-fs/udiskie/Manifest
@@ -1,3 +1 @@
-DIST udiskie-2.4.0.tar.gz 94008 BLAKE2B 23c062aa79cb2ffd6377f8cdf3eea1c8398b56743054c701e878dd6070bd1ee14e3f1aab9a791d4b6d44b1ddab68cc69f92eb3dd711c9598d3d770d90a43e7d7 SHA512 3f2d3d37996442b21d8c167929eb2e6f2fcb864b313334954407b03d913c83671dd25960226bafc68e463ab0ea38cfb6947467dd8bf51bbee7f072e4bdf19d7a
-DIST udiskie-2.4.1.tar.gz 94974 BLAKE2B f7aefecce230eb085ace5dd493ef2c24f7962138c6cae593887b7b62fc19360304442caa6454381321b287772eb517566ed4006bd4cace0f04a13bc060e31423 SHA512 0820ec5a04ede2076ac25110057bcee1bf8f69a9e7161017f23e108701b2d135c1bd62496c70727c462561612916d1eafb6cf69d1d77b8d5e0f4af3eab445eef
DIST udiskie-2.4.2.tar.gz 95178 BLAKE2B eec6f4d2aed9ad86400ee8f3924a8b748cbb1e7ccc1aa2b681858065c18d172def5cc32763a7c2af0899fd719b53bf08d6fddbeb2611cfa74d5b968da0a756b9 SHA512 0881872c614f73b034835f6157eae7f944b6f4ea08a5dabaeb1e6a476a620720dfe950e538a03a3cbdd2a54e95f64a5349650decd554930d02086fdac2e45f23
diff --git a/sys-fs/udiskie/udiskie-2.4.0.ebuild b/sys-fs/udiskie/udiskie-2.4.0.ebuild
deleted file mode 100644
index 905bb0bb94b..00000000000
--- a/sys-fs/udiskie/udiskie-2.4.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
-inherit distutils-r1 xdg-utils
-
-DESCRIPTION="An automatic disk mounting service using udisks"
-HOMEPAGE="https://pypi.org/project/udiskie/ https://github.com/coldfix/udiskie"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE=""
-
-RDEPEND="dev-python/docopt[${PYTHON_USEDEP}]
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- sys-fs/udisks:2"
-DEPEND="app-text/asciidoc
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/python-keyutils[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e 's:gtk-update-icon-cache:true:' setup.py || die
- default
-
- distutils-r1_src_prepare
-}
-
-src_compile() {
- distutils-r1_src_compile
- emake -C doc
-}
-
-src_install() {
- distutils-r1_src_install
- doman doc/${PN}.8
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
-}
diff --git a/sys-fs/udiskie/udiskie-2.4.1.ebuild b/sys-fs/udiskie/udiskie-2.4.1.ebuild
deleted file mode 100644
index 43fe883fb3a..00000000000
--- a/sys-fs/udiskie/udiskie-2.4.1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
-inherit distutils-r1 xdg-utils
-
-DESCRIPTION="An automatic disk mounting service using udisks"
-HOMEPAGE="https://pypi.org/project/udiskie/ https://github.com/coldfix/udiskie"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE=""
-
-RDEPEND="dev-python/docopt[${PYTHON_USEDEP}]
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- sys-fs/udisks:2"
-DEPEND="app-text/asciidoc
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/python-keyutils[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e 's:gtk-update-icon-cache:true:' setup.py || die
- default
-
- distutils-r1_src_prepare
-}
-
-src_compile() {
- distutils-r1_src_compile
- emake -C doc
-}
-
-src_install() {
- distutils-r1_src_install
- doman doc/${PN}.8
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
-}
diff --git a/sys-fs/udiskie/udiskie-2.4.2.ebuild b/sys-fs/udiskie/udiskie-2.4.2.ebuild
index 905bb0bb94b..0b4ca8482e3 100644
--- a/sys-fs/udiskie/udiskie-2.4.2.ebuild
+++ b/sys-fs/udiskie/udiskie-2.4.2.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1 xdg-utils
DESCRIPTION="An automatic disk mounting service using udisks"
diff --git a/sys-fs/udisks/udisks-2.9.4.ebuild b/sys-fs/udisks/udisks-2.9.4.ebuild
index f5e7dd5fdbc..bd1114c6424 100644
--- a/sys-fs/udisks/udisks-2.9.4.ebuild
+++ b/sys-fs/udisks/udisks-2.9.4.ebuild
@@ -10,7 +10,7 @@ SRC_URI="https://github.com/storaged-project/udisks/releases/download/${P}/${P}.
LICENSE="LGPL-2+ GPL-2+"
SLOT="2"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="acl +daemon debug elogind +introspection lvm nls selinux systemd vdo zram"
REQUIRED_USE="
@@ -142,3 +142,7 @@ pkg_postinst() {
ewarn "You should reboot the system now to get /run mounted with tmpfs!"
fi
}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-2.2-r1.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-2.2-r1.ebuild
new file mode 100644
index 00000000000..2312fa71e7c
--- /dev/null
+++ b/sys-fs/unionfs-fuse/unionfs-fuse-2.2-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit python-any-r1 toolchain-funcs
+
+DESCRIPTION="Self-syncing tree-merging file system based on FUSE"
+HOMEPAGE="https://github.com/rpodgorny/unionfs-fuse"
+SRC_URI="https://github.com/rpodgorny/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-fs/fuse:0"
+DEPEND="${RDEPEND}
+ test? (
+ $(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
+ )
+"
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+python_check_deps() {
+ use test || return 0
+ has_version "dev-python/pytest[${PYTHON_USEDEP}]"
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)" CC="$(tc-getCC)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
+}
+
+src_test() {
+ [[ -e /dev/fuse ]] || return 0
+ addwrite /dev/fuse
+ pytest -vv || die "Tests fail with ${EPYTHON}"
+}
diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild
index 5897a40f291..eab277c33f8 100644
--- a/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild
+++ b/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI="8"
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit git-r3 python-any-r1 toolchain-funcs
DESCRIPTION="Self-syncing tree-merging file system based on FUSE"
diff --git a/sys-fs/xfsdump/Manifest b/sys-fs/xfsdump/Manifest
index 1bebe60de37..bf62052b788 100644
--- a/sys-fs/xfsdump/Manifest
+++ b/sys-fs/xfsdump/Manifest
@@ -1,2 +1 @@
DIST xfsdump-3.1.10.tar.xz 609424 BLAKE2B 742d392c4ca4532e64ab8fd89a27b0d7c669e3f977fb9362f3f41e1db09c250951aff3906a5f598892cf58b00a7aab636864af9461afb724feec2708f52cdbd9 SHA512 8a1b671b22fffb5d2eac45d5fd7a2948c137b3ca21fde06779cff13fc6eaa27286876f56715f2eeb82ce107278d763028474260a54a8fec722e5a5d7c5875c9a
-DIST xfsdump-3.1.9.tar.xz 600348 BLAKE2B 9e833acaacd3ad581b4f23731d7d613fcffa3d518f43638cddbc7da7015e582cb9415e00616e5e8586836831b6d5877fa83e8a5fd931fd454731bf2af7072095 SHA512 e8f9811d16fc06ab49fe2c109de0546c989575eca6e68b579c6d219a745f935952020069f58b357c5c87b944c5097ca2894466d328d09f06beb8a55880142351
diff --git a/sys-fs/xfsdump/xfsdump-3.1.9-r1.ebuild b/sys-fs/xfsdump/xfsdump-3.1.9-r1.ebuild
deleted file mode 100644
index 500e295dd5f..00000000000
--- a/sys-fs/xfsdump/xfsdump-3.1.9-r1.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="xfs dump/restore utilities"
-HOMEPAGE="https://xfs.wiki.kernel.org/"
-SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 -sparc x86"
-IUSE="ncurses nls"
-
-RDEPEND="
- >=sys-apps/attr-2.4.19
- sys-apps/util-linux
- sys-fs/e2fsprogs
- >=sys-fs/xfsprogs-3.2.0
- ncurses? ( sys-libs/ncurses:0= )
-"
-DEPEND="${RDEPEND}
- nls? (
- sys-devel/gettext
- )
-"
-BDEPEND="ncurses? ( virtual/pkgconfig )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.1.9-prompt-overflow.patch #335115
- "${FILESDIR}"/${PN}-3.1.9-no-symlink.patch #311881
- "${FILESDIR}"/${PN}-3.1.6-linguas.patch #561664
- "${FILESDIR}"/${PN}-3.1.9-fix-docs.patch
- "${FILESDIR}"/${PN}-3.1.9-skip-inventory-debian-subfolder.patch
-)
-
-src_prepare() {
- sed -i \
- -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \
- include/builddefs.in \
- || die
-
- sed -i \
- -e "s:enable_curses=[a-z]*:enable_curses=$(usex ncurses):" \
- -e "s:libcurses=\"[^\"]*\":libcurses='$(use ncurses && $(tc-getPKG_CONFIG) --libs ncurses)':" \
- configure || die #605852
-
- default
-}
-
-src_configure() {
- unset PLATFORM #184564
- export OPTIMIZER=${CFLAGS}
- export DEBUG=-DNDEBUG
-
- local myeconfargs=(
- $(use_enable nls gettext)
- --libdir="${EPREFIX}/$(get_libdir)"
- --libexecdir="${EPREFIX}/usr/$(get_libdir)"
- --sbindir="${EPREFIX}/sbin"
- )
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # enable verbose build
- emake V=1
-}
diff --git a/sys-fs/xfsprogs/Manifest b/sys-fs/xfsprogs/Manifest
index 8a1ffbddce2..59ac4136f68 100644
--- a/sys-fs/xfsprogs/Manifest
+++ b/sys-fs/xfsprogs/Manifest
@@ -1,4 +1,2 @@
-DIST xfsprogs-5.10.0.tar.xz 1273332 BLAKE2B 8caaa0ca8a94480f131d36b383afcf732b3a5a7a3c7927b4b4da4855fc5a0fb97a56fcebb98391a4dd0f02465868a4bd857e57eeba053a419df47d42f74bc958 SHA512 da09e687c87c4b133888dba7b4458017ec028020637ea5066be0232bf5c7da18239cc33eadd02d9b99d1c835aab38cab1ec9d45ae8b83897f9157cfcb0271fbd
DIST xfsprogs-5.14.2.tar.xz 1308912 BLAKE2B 04083bf7952015d64f16e1aec0fa74be1957543e2264914f69defe45a3dc9f2524d941abc064a25a2fd760ebd6dcdcdc2404fd305e08fff7f6be6c5fc11d4d2f SHA512 cb9794247a2eed8bd9f10ff811d38f97e4adbed97bad334b0fa8a26503ec224237eddd92fd78892584a153967417ab2009fb2fc8bab6ef12cd53fd20bdba1b4e
-DIST xfsprogs-5.15.0.tar.xz 1303080 BLAKE2B e2d60eb554d206b2d2910d07e20051fb0abd71723186bcdfa07f1ebd2c10c0a7ae387ea5f41e1be008d8e8cede97371581da06505e1675aa210fc3ac242d0782 SHA512 be7ee319fd13c103d88c7fc939277594a386d88d65349594a33eea2899ec4f28115b4ea53b64176cacbd52f3c801e103a085388e3539fc445a4ecd2775766438
-DIST xfsprogs-5.16.0.tar.xz 1306100 BLAKE2B da328fe0c146a7b8ba866c5872f26ce95010939e05da51c73ed6374f00474605a81f4a822d65b60a132a4de47fff286e9f5f1ac809c1aa29420633f573b61aef SHA512 949ddb42d37523d6494aa33d1f73757a6379ee661147b9bb84372bdc3ccf60cdf07580f5337b2f0aebdc5d9c2b7de37cc05d010a2b094d1119d900225fc5b711
+DIST xfsprogs-5.18.0.tar.xz 1310008 BLAKE2B a2a2835d53ee6ac55279636f3f3cdcecab8757911ce5c1ea5f350a4da9ff4c1ca64b2aba1c0e5424c0c0a01fd0504396d5fecca12e4689c372ed5bb76b9ac24e SHA512 47d035a33367edae7357e34c70bdb0fe9219231153fb4c4f418ed1462d137dd77338c12a199eb71cd70e88903e5fc11e1e4fb595c622183786e87346e2f65739
diff --git a/sys-fs/xfsprogs/files/xfsprogs-5.18.0-docdir.patch b/sys-fs/xfsprogs/files/xfsprogs-5.18.0-docdir.patch
new file mode 100644
index 00000000000..480f44cf607
--- /dev/null
+++ b/sys-fs/xfsprogs/files/xfsprogs-5.18.0-docdir.patch
@@ -0,0 +1,11 @@
+--- a/scrub/Makefile
++++ b/scrub/Makefile
+@@ -25,7 +25,7 @@
+ CRONTABS = xfs_scrub_all.cron
+ OPTIONAL_TARGETS += $(CRONTABS)
+ # Don't enable the crontab by default for now
+-CROND_DIR = $(PKG_LIB_SCRIPT_DIR)/$(PKG_NAME)
++CROND_DIR = $(PKG_DOC_DIR)
+ endif
+
+ endif # scrub_prereqs
diff --git a/sys-fs/xfsprogs/xfsprogs-5.10.0-r1.ebuild b/sys-fs/xfsprogs/xfsprogs-5.10.0-r1.ebuild
deleted file mode 100644
index 09adcd12008..00000000000
--- a/sys-fs/xfsprogs/xfsprogs-5.10.0-r1.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic toolchain-funcs systemd usr-ldscript
-
-DESCRIPTION="xfs filesystem utilities"
-HOMEPAGE="https://xfs.wiki.kernel.org/"
-SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86"
-IUSE="icu libedit nls selinux"
-
-RDEPEND=">=sys-apps/util-linux-2.17.2
- dev-libs/inih
- icu? ( dev-libs/icu:= )
- libedit? ( dev-libs/libedit )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- nls? ( sys-devel/gettext )
-"
-RDEPEND+=" selinux? ( sec-policy/selinux-xfs )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.15.0-docdir.patch
- "${FILESDIR}"/${PN}-5.3.0-libdir.patch
-)
-
-src_prepare() {
- default
-
- # Fix doc dir
- sed -i \
- -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \
- include/builddefs.in || die
-
- # Don't install compressed docs
- sed 's@\(CHANGES\)\.gz[[:space:]]@\1 @' -i doc/Makefile || die
-}
-
-src_configure() {
- # include/builddefs.in will add FCFLAGS to CFLAGS which will
- # unnecessarily clutter CFLAGS (and fortran isn't used)
- unset FCFLAGS
-
- export DEBUG=-DNDEBUG
-
- # Package is honoring CFLAGS; No need to use OPTIMIZER anymore.
- # However, we have to provide an empty value to avoid default
- # flags.
- export OPTIMIZER=" "
-
- unset PLATFORM # if set in user env, this breaks configure
-
- # Avoid automagic on libdevmapper, #709694
- export ac_cv_search_dm_task_create=no
-
- # Build fails with -O3 (bug #712698)
- replace-flags -O3 -O2
-
- # Upstream does NOT support --disable-static anymore,
- # https://www.spinics.net/lists/linux-xfs/msg30185.html
- # https://www.spinics.net/lists/linux-xfs/msg30272.html
- local myconf=(
- --enable-blkid
- --with-crond-dir="${EPREFIX}/etc/cron.d"
- --with-systemd-unit-dir="$(systemd_get_systemunitdir)"
- $(use_enable icu libicu)
- $(use_enable nls gettext)
- $(use_enable libedit editline)
- )
-
- if is-flagq -flto ; then
- myconf+=( --enable-lto )
- else
- myconf+=( --disable-lto )
- fi
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- emake V=1
-}
-
-src_install() {
- emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install
- emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev
-
- gen_usr_ldscript -a handle
-}
diff --git a/sys-fs/xfsprogs/xfsprogs-5.15.0.ebuild b/sys-fs/xfsprogs/xfsprogs-5.15.0.ebuild
deleted file mode 100644
index 202d1ea4a5f..00000000000
--- a/sys-fs/xfsprogs/xfsprogs-5.15.0.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic systemd usr-ldscript
-
-DESCRIPTION="xfs filesystem utilities"
-HOMEPAGE="https://xfs.wiki.kernel.org/"
-SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="icu libedit nls selinux"
-
-RDEPEND=">=sys-apps/util-linux-2.17.2
- dev-libs/inih
- dev-libs/userspace-rcu:=
- icu? ( dev-libs/icu:= )
- libedit? ( dev-libs/libedit )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="nls? ( sys-devel/gettext )"
-RDEPEND+=" selinux? ( sec-policy/selinux-xfs )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.15.0-docdir.patch
- "${FILESDIR}"/${PN}-5.3.0-libdir.patch
-)
-
-src_prepare() {
- default
-
- # Fix doc dir
- sed -i \
- -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \
- include/builddefs.in || die
-
- # Don't install compressed docs
- sed 's@\(CHANGES\)\.gz[[:space:]]@\1 @' -i doc/Makefile || die
-}
-
-src_configure() {
- # include/builddefs.in will add FCFLAGS to CFLAGS which will
- # unnecessarily clutter CFLAGS (and fortran isn't used)
- unset FCFLAGS
-
- export DEBUG=-DNDEBUG
-
- # Package is honoring CFLAGS; No need to use OPTIMIZER anymore.
- # However, we have to provide an empty value to avoid default
- # flags.
- export OPTIMIZER=" "
-
- unset PLATFORM # if set in user env, this breaks configure
-
- # Avoid automagic on libdevmapper, #709694
- export ac_cv_search_dm_task_create=no
-
- # Build fails with -O3 (bug #712698)
- replace-flags -O3 -O2
-
- # Upstream does NOT support --disable-static anymore,
- # https://www.spinics.net/lists/linux-xfs/msg30185.html
- # https://www.spinics.net/lists/linux-xfs/msg30272.html
- local myconf=(
- --enable-blkid
- --with-crond-dir="${EPREFIX}/etc/cron.d"
- --with-systemd-unit-dir="$(systemd_get_systemunitdir)"
- $(use_enable icu libicu)
- $(use_enable nls gettext)
- $(use_enable libedit editline)
- )
-
- if is-flagq -flto ; then
- myconf+=( --enable-lto )
- else
- myconf+=( --disable-lto )
- fi
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- emake V=1
-}
-
-src_install() {
- emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install
- emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev
-
- gen_usr_ldscript -a handle
-}
diff --git a/sys-fs/xfsprogs/xfsprogs-5.16.0.ebuild b/sys-fs/xfsprogs/xfsprogs-5.18.0.ebuild
index 1307cd0f82e..b9facc52f47 100644
--- a/sys-fs/xfsprogs/xfsprogs-5.16.0.ebuild
+++ b/sys-fs/xfsprogs/xfsprogs-5.18.0.ebuild
@@ -5,7 +5,7 @@ EAPI=7
inherit flag-o-matic systemd usr-ldscript
-DESCRIPTION="xfs filesystem utilities"
+DESCRIPTION="XFS filesystem utilities"
HOMEPAGE="https://xfs.wiki.kernel.org/"
SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz"
@@ -14,9 +14,9 @@ SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="icu libedit nls selinux"
-RDEPEND=">=sys-apps/util-linux-2.17.2
- dev-libs/inih
+RDEPEND="dev-libs/inih
dev-libs/userspace-rcu:=
+ >=sys-apps/util-linux-2.17.2
icu? ( dev-libs/icu:= )
libedit? ( dev-libs/libedit )"
DEPEND="${RDEPEND}"
@@ -24,8 +24,8 @@ BDEPEND="nls? ( sys-devel/gettext )"
RDEPEND+=" selinux? ( sec-policy/selinux-xfs )"
PATCHES=(
- "${FILESDIR}"/${PN}-4.15.0-docdir.patch
"${FILESDIR}"/${PN}-5.3.0-libdir.patch
+ "${FILESDIR}"/${PN}-5.18.0-docdir.patch
)
src_prepare() {
diff --git a/sys-fs/zerofree/zerofree-1.1.1-r1.ebuild b/sys-fs/zerofree/zerofree-1.1.1-r1.ebuild
index 79566f7af0e..d062b46de0b 100644
--- a/sys-fs/zerofree/zerofree-1.1.1-r1.ebuild
+++ b/sys-fs/zerofree/zerofree-1.1.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="http://frippery.org/uml/${P}.tgz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~mips x86"
+KEYWORDS="amd64 arm arm64 ~mips ~riscv x86"
DEPEND="sys-fs/e2fsprogs"
RDEPEND="${DEPEND}"
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-1.2.4-drop-which.patch b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-1.2.4-drop-which.patch
new file mode 100644
index 00000000000..125cb3d1fc0
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-1.2.4-drop-which.patch
@@ -0,0 +1,47 @@
+--- a/etc/zfs-auto-snapshot.cron.daily
++++ b/etc/zfs-auto-snapshot.cron.daily
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+ # Only call zfs-auto-snapshot if it's available
+-which zfs-auto-snapshot > /dev/null || exit 0
++command -v zfs-auto-snapshot > /dev/null || exit 0
+
+ exec zfs-auto-snapshot --quiet --syslog --label=daily --keep=31 //
+--- a/etc/zfs-auto-snapshot.cron.frequent
++++ b/etc/zfs-auto-snapshot.cron.frequent
+@@ -1,3 +1,3 @@
+ PATH="/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"
+
+-*/15 * * * * root which zfs-auto-snapshot > /dev/null || exit 0 ; zfs-auto-snapshot --quiet --syslog --label=frequent --keep=4 //
++*/15 * * * * root command -v zfs-auto-snapshot > /dev/null || exit 0 ; zfs-auto-snapshot --quiet --syslog --label=frequent --keep=4 //
+--- a/etc/zfs-auto-snapshot.cron.hourly
++++ b/etc/zfs-auto-snapshot.cron.hourly
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+ # Only call zfs-auto-snapshot if it's available
+-which zfs-auto-snapshot > /dev/null || exit 0
++command -v zfs-auto-snapshot > /dev/null || exit 0
+
+ exec zfs-auto-snapshot --quiet --syslog --label=hourly --keep=24 //
+--- a/etc/zfs-auto-snapshot.cron.monthly
++++ b/etc/zfs-auto-snapshot.cron.monthly
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+ # Only call zfs-auto-snapshot if it's available
+-which zfs-auto-snapshot > /dev/null || exit 0
++command -v zfs-auto-snapshot > /dev/null || exit 0
+
+ exec zfs-auto-snapshot --quiet --syslog --label=monthly --keep=12 //
+--- a/etc/zfs-auto-snapshot.cron.weekly
++++ b/etc/zfs-auto-snapshot.cron.weekly
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+ # Only call zfs-auto-snapshot if it's available
+-which zfs-auto-snapshot > /dev/null || exit 0
++command -v zfs-auto-snapshot > /dev/null || exit 0
+
+ exec zfs-auto-snapshot --quiet --syslog --label=weekly --keep=8 //
diff --git a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r1.ebuild b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r2.ebuild
index 30221867b13..2af66eac668 100644
--- a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r1.ebuild
+++ b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r2.ebuild
@@ -23,6 +23,7 @@ SLOT="0"
IUSE="+cron +default-exclude systemd"
RDEPEND="
+ sys-apps/which
sys-fs/zfs
!systemd? ( virtual/cron )
"
diff --git a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild
new file mode 100644
index 00000000000..e503554be28
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit prefix readme.gentoo-r1 systemd
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
+else
+ MY_P="${PN}-upstream-${PV}"
+ SRC_URI="https://github.com/zfsonlinux/${PN}/archive/upstream/${PV}.tar.gz -> ${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="ZFS Automatic Snapshot Service for Linux"
+HOMEPAGE="https://github.com/zfsonlinux/zfs-auto-snapshot"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="+cron +default-exclude systemd"
+
+RDEPEND="
+ sys-fs/zfs
+ !systemd? ( virtual/cron )
+"
+
+REQUIRED_USE="!systemd? ( cron )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.4-drop-which.patch
+)
+
+src_install() {
+ if use default-exclude; then
+ for cronfile in etc/"${PN}".cron.{daily,hourly,monthly,weekly}; do
+ sed -i "s/\(^exec ${PN}\)/\1 --default-exclude/" "${cronfile}" || die
+ done
+ sed -i "s/\(; ${PN}\)/\1 --default-exclude/" etc/"${PN}".cron.frequent || die
+ fi
+ readme.gentoo_create_doc
+ emake PREFIX="${EPREFIX}/usr" DESTDIR="${D}" install
+
+ local exclude unit
+ exclude="$(usev default-exclude)"
+ for unit in "${PN}"{-daily,-frequent,-hourly,-monthly,-weekly}.service; do
+ cp "${FILESDIR}/${unit}" "${T}/${unit}" || die
+ eprefixify "${T}/${unit}"
+ sed -i "s/@DEFAULT_EXCLUDE@/${exclude:+--default-exclude}/g" "${T}/${unit}" || die
+ systemd_dounit "${T}/${unit}"
+ done
+ for unit in "${PN}"{-daily,-frequent,-hourly,-monthly,-weekly}.timer; do
+ systemd_dounit "${FILESDIR}/${unit}"
+ done
+ systemd_dounit "${FILESDIR}/${PN}.target"
+
+ if ! use cron; then
+ ebegin "removing cron files from installation image"
+ rm -rfv "${ED}/etc" || die
+ eend "$?"
+ fi
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
+ if ! use default-exclude; then
+ ewarn "snapshots are enabled by default for ALL zfs datasets"
+ ewarn "set com.sun:auto-snapshot=false or enable 'default-exclude' flag"
+ elog
+ fi
+
+ if use cron && has_version sys-process/fcron; then
+ ewarn "frequent snapshot may not work if you are using fcron"
+ ewarn "you should add frequent job to crontab manually"
+ fi
+
+ if use cron; then
+ if systemd_is_booted || has_version sys-apps/systemd; then
+ echo
+ ewarn "Both 'cron' and 'systemd' flags are enabled."
+ ewarn "So both ${PN}.target and cron files were installed."
+ ewarn "Please don't use 2 implementations at the same time."
+ ewarn "Cronjobs are usually enabled by default via /etc/cron.* jobs"
+ ewarn "If you want to use systemd ${PN}.target timers"
+ ewarn "disable 'cron' flag and reinstall ${PN}"
+ echo
+ fi
+ fi
+}
diff --git a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild
index 18a922257db..221028bc21a 100644
--- a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild
+++ b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild
@@ -23,6 +23,7 @@ SLOT="0"
IUSE="+cron +default-exclude systemd"
RDEPEND="
+ sys-apps/which
sys-fs/zfs
!systemd? ( virtual/cron )
"
diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest
index 737e23e8e6e..7b982f51e74 100644
--- a/sys-fs/zfs-kmod/Manifest
+++ b/sys-fs/zfs-kmod/Manifest
@@ -1,7 +1,7 @@
-DIST zfs-0.8.6.tar.gz 9295260 BLAKE2B 45424d710aaf75a05f766ae523ae157a24b5cbdcefe72a59e4cede81e42f7a92ae7f01150388437b78cd49f3d28b9664599f2a624516e6b3f1073497194a99f2 SHA512 626b172554f39a5c70f6ea5c599a92fae52534590d1b0273de2bbfc3676d29dff0eade8ca17e5f179a59870c12bc758fb53b7900f8a1fdbdef3a9161b93f9cce
DIST zfs-2.0.7.tar.gz 14550055 BLAKE2B 80f7297f04a21cd8f3f2043d895b0325512ba0cea3bb9223561237754495c8233d29af5a9418a3c06a87510100240a45ef3d59c7ce776fffb5aafdcd18167c21 SHA512 1135abf74bf74685439018f7cd65fc52088f179d113bdd2e6481689bb0f4a016716a07d859107b74501fda00689e80b2488c7c2c53d5f058d6b659909ed85f6f
DIST zfs-2.0.7.tar.gz.asc 836 BLAKE2B 65e7df58c33ccadc4e0ca9dbc1e8c006abbec8442e2da50872a1ab0cbb841fc45152298e8d3b93ee4320ddae6416e3a856caf80d8efb21b19db53dfedbf00e38 SHA512 b901d8e92faa6cfe6010bd54de88c7d18057f434cb07f8a89672d6c446a0a97b23209ee8f02cfd3b2a8f431c68ec977e7dc9f95fe5d385dba0bb6d37338ba682
-DIST zfs-2.1.2.tar.gz 34829045 BLAKE2B ab4e2d85200438373c7eeeaa5256a712dbfb2862b85de1fb7554ad0cc2b9f8e1255ab4564bca62f65a81a823adb8c112957e6e8771b8e5e6944c3731bc894584 SHA512 3e3932259da2a27f1c4cca8da62b909edc43bf51ab0229d2d5d0234d9a7eaa7b63b67c06a98cbe2d29ba1eb5cbcaab16e5062c2a2bc8e84cab770be10ebf2102
-DIST zfs-2.1.2.tar.gz.asc 836 BLAKE2B 8f5666f5c3d7016a4d79191f42d0a220fe8c654a0d64e3da3b575644fe52c83dcb9f9ef49ba0553771a127bba44e2802f1d366a7a38f670e73612deef76755c3 SHA512 da6bfccd19a249a6891f5e1de6c4b332e98ce4f125f638c046b9cedac3fd79c56a99dd9a620105a40741e5f04b382f5d5996b56cbe576fb268b31e57e0fed6eb
DIST zfs-2.1.4.tar.gz 34896310 BLAKE2B be303f1181f604770536aa4aa61d5319ec408abbd04964cedadd15b3101a15deba6539bb5d833f4fed357f323d74f622d035305df699b213df41ae45bffdd200 SHA512 c7b57c43fc287b22905067ab022df4133d32e1a5dc335f7baf743b4ef88f64c2bf9d41318c2083230d077dd49e68f7d9e6172266e13d4b1eee29d359860f969e
DIST zfs-2.1.4.tar.gz.asc 836 BLAKE2B b311730f72d534c87a782515f35a354bfbefba0513dc0cee5b0b497cf742590f13be6a49ff8a70d7d6503d0ba06b0266e7d290d718337add614812c3d1b0731a SHA512 53880cd5369f468551bab685eb83739ed76aa286886fdd2cbad4270755fe809da730082a91bba61011f59594fac297ce05645ae32c2c73b4a9aa835f2991a1ee
+DIST zfs-2.1.5-patches.tar.xz 13324 BLAKE2B bfef8abd298cebd54491272b8c1deacace901d9a1acce67cb927bab6447eafd985352fd09f64336aa9d6611bab0e5c761d7973f0a65c408d77bb735a94c60253 SHA512 d2b009664f8eb4f2a8596693011fde578b6eae123c6169e5dfb70bd920c0f987f5177f7b1be008705a421574a8a9bc930f99823785c69e81573f18b0350cb9bd
+DIST zfs-2.1.5.tar.gz 34951632 BLAKE2B c6e3efd9c0cda91654767eaad0eaaa05cd9a5daf1cb0384c9c78b30062f5c29142ac37ab9dbdaf96c91456d11c317d782d3524ade293f03fda983e5992b79e49 SHA512 d9ccf1049cefa9167d25f71fbdca70092cd02368b60f09341e6489fb68dc5f89e87b026b0191f4d81181a8851449124d824a1d959d0e2fb29c8a3d624edc4f03
+DIST zfs-2.1.5.tar.gz.asc 836 BLAKE2B 4a81c266967540850a2cc824e79555ca9d05b2e17e45fa2723893cbd85b55e3d7d791986d6667b7ee1530e7692c03818f15e8b6798393b54989f90801b775786 SHA512 224b0dcf4982c63a8eff0a39d054537e7d023f7c35e154e4d20490b8daf184c076bc8e4de7d2c5af4059f8a802b747e637aad4479cd8d1330cf5b26da2f19c94
diff --git a/sys-fs/zfs-kmod/files/0.8.6-copy-builtin.patch b/sys-fs/zfs-kmod/files/0.8.6-copy-builtin.patch
deleted file mode 100644
index 2b1ef858254..00000000000
--- a/sys-fs/zfs-kmod/files/0.8.6-copy-builtin.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 0ce99b43b339226d62362f624d37f80a921eb197 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Fri, 18 Dec 2020 11:35:07 -0800
-Subject: [PATCH] copy-builtin: handle missing .gitignore
-
-acfc4944d0d6db114db9f2bb5401251c5bd767b6 broke copy-builtin in
-release tarballs, because those do not contain .gitignore file.
-Adding -f to rm call will make it return 0 even if file does not exist.
-
-Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
----
- copy-builtin | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/copy-builtin b/copy-builtin
-index 84f469fef02..6a6eb1f3695 100755
---- a/copy-builtin
-+++ b/copy-builtin
-@@ -36,7 +36,7 @@ rm -rf "$KERNEL_DIR/include/zfs" "$KERNEL_DIR/fs/zfs"
- cp --recursive include "$KERNEL_DIR/include/zfs"
- cp --recursive module "$KERNEL_DIR/fs/zfs"
- cp zfs_config.h "$KERNEL_DIR/include/zfs/"
--rm "$KERNEL_DIR/include/zfs/.gitignore"
-+rm -f "$KERNEL_DIR/include/zfs/.gitignore"
-
- for MODULE in "${MODULES[@]}"
- do
diff --git a/sys-fs/zfs-kmod/files/2.1.5-build-issues.patch b/sys-fs/zfs-kmod/files/2.1.5-build-issues.patch
new file mode 100644
index 00000000000..cca6561b16f
--- /dev/null
+++ b/sys-fs/zfs-kmod/files/2.1.5-build-issues.patch
@@ -0,0 +1,74 @@
+https://github.com/openzfs/zfs/commit/a6e8113fed8a508ffda13cf1c4d8da99a4e8133a
+https://github.com/openzfs/zfs/commit/60e389ca10085acfa7cd35f79ab4465d968a942f
+Cherry-picked from https://github.com/openzfs/zfs/pull/13575
+
+https://bugs.gentoo.org/855182
+--- a/config/always-compiler-options.m4
++++ b/config/always-compiler-options.m4
+@@ -205,6 +205,29 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_NO_OMIT_FRAME_POINTER], [
+ AC_SUBST([NO_OMIT_FRAME_POINTER])
+ ])
+
++dnl #
++dnl # Check if cc supports -Winfinite-recursion option.
++dnl #
++AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_INFINITE_RECURSION], [
++ AC_MSG_CHECKING([whether $CC supports -Winfinite-recursion])
++
++ saved_flags="$CFLAGS"
++ CFLAGS="$CFLAGS -Werror -Winfinite-recursion"
++
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [
++ INFINITE_RECURSION=-Winfinite-recursion
++ AC_DEFINE([HAVE_INFINITE_RECURSION], 1,
++ [Define if compiler supports -Winfinite-recursion])
++ AC_MSG_RESULT([yes])
++ ], [
++ INFINITE_RECURSION=
++ AC_MSG_RESULT([no])
++ ])
++
++ CFLAGS="$saved_flags"
++ AC_SUBST([INFINITE_RECURSION])
++])
++
+ dnl #
+ dnl # Check if cc supports -fno-ipa-sra option.
+ dnl #
+--- a/config/zfs-build.m4
++++ b/config/zfs-build.m4
+@@ -211,6 +211,7 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [
+
+ ZFS_AC_CONFIG_ALWAYS_CC_NO_UNUSED_BUT_SET_VARIABLE
+ ZFS_AC_CONFIG_ALWAYS_CC_NO_BOOL_COMPARE
++ ZFS_AC_CONFIG_ALWAYS_CC_INFINITE_RECURSION
+ ZFS_AC_CONFIG_ALWAYS_CC_IMPLICIT_FALLTHROUGH
+ ZFS_AC_CONFIG_ALWAYS_CC_FRAME_LARGER_THAN
+ ZFS_AC_CONFIG_ALWAYS_CC_NO_FORMAT_TRUNCATION
+--- a/module/lua/ldo.c
++++ b/module/lua/ldo.c
+@@ -168,6 +168,13 @@ static void seterrorobj (lua_State *L, int errcode, StkId oldtop) {
+ L->top = oldtop + 1;
+ }
+
++/*
++ * Silence infinite recursion warning which was added to -Wall in gcc 12.1
++ */
++#if defined(HAVE_INFINITE_RECURSION)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Winfinite-recursion"
++#endif
+
+ l_noret luaD_throw (lua_State *L, int errcode) {
+ if (L->errorJmp) { /* thread has an error handler? */
+@@ -190,6 +197,10 @@ l_noret luaD_throw (lua_State *L, int errcode) {
+ }
+ }
+
++#if defined(HAVE_INFINITE_RECURSION)
++#pragma GCC diagnostic pop
++#endif
++
+
+ int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) {
+ unsigned short oldnCcalls = L->nCcalls;
diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.5-r1.ebuild
index 49d364f92cc..93d1733d51d 100644
--- a/sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.5-r1.ebuild
@@ -12,22 +12,29 @@ if [[ ${PV} == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
else
- SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${PV}/zfs-${PV}.tar.gz"
- KEYWORDS="amd64 arm64 ppc64"
- S="${WORKDIR}/zfs-${PV}"
- ZFS_KERNEL_COMPAT="5.9"
+ VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+ inherit verify-sig
- # increments minor eg 5.14 -> 5.15, and still supports override.
+ MY_PV="${PV/_rc/-rc}"
+ SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
+ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/sys-fs/zfs/${P/-kmod}-patches.tar.xz"
+ SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )"
+ S="${WORKDIR}/zfs-${PV%_rc?}"
+ ZFS_KERNEL_COMPAT="5.18"
+
+ # increments minor eg 5.14 -> 5.15, and still supports override.
ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))"
+
+ if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+ fi
fi
-LICENSE="CDDL debug? ( GPL-2+ )"
+LICENSE="CDDL MIT debug? ( GPL-2+ )"
SLOT="0/${PVR}"
IUSE="custom-cflags debug +rootfs"
-DEPEND=""
-
RDEPEND="${DEPEND}
!sys-kernel/spl
"
@@ -35,9 +42,19 @@ RDEPEND="${DEPEND}
BDEPEND="
dev-lang/perl
virtual/awk
- dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= )
"
+# we want dist-kernel block in BDEPEND because of portage resolver.
+# since linux-mod.eclass already sets version-unbounded dep, portage
+# will pull new versions. So we set it in BDEPEND which takes priority.
+# and we don't need in in git ebuild.
+if [[ ${PV} != "9999" ]] ; then
+ BDEPEND+="
+ verify-sig? ( sec-keys/openpgp-keys-openzfs )
+ dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= )
+ "
+fi
+
# PDEPEND in this form is needed to trick portage suggest
# enabling dist-kernel if only 1 package have it set
PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )"
@@ -46,6 +63,11 @@ RESTRICT="debug? ( strip ) test"
DOCS=( AUTHORS COPYRIGHT META README.md )
+PATCHES=(
+ # bug #863212, bug #855182
+ "${WORKDIR}"/${P/-kmod}-patches/
+)
+
pkg_pretend() {
use rootfs || return 0
@@ -57,9 +79,6 @@ pkg_pretend() {
fi
}
-# https://github.com/openzfs/zfs/pull/11371
-PATCHES=( "${FILESDIR}/${PV}-copy-builtin.patch" )
-
pkg_setup() {
CONFIG_CHECK="
!DEBUG_LOCK_ALLOC
@@ -83,10 +102,6 @@ pkg_setup() {
DEVTMPFS
"
- if use arm64; then
- kernel_is -ge 5 && CONFIG_CHECK="${CONFIG_CHECK} !PREEMPT"
- fi
-
kernel_is -lt 5 && CONFIG_CHECK="${CONFIG_CHECK} IOSCHED_NOOP"
if [[ ${PV} != "9999" ]]; then
@@ -98,22 +113,29 @@ pkg_setup() {
kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \
"Linux ${kv_major_max}.${kv_minor_max} is the latest supported version"
- # 0.8.x requires at least 2.6.32
- kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
- else
- # git master requires at least 3.10
- kernel_is -ge 3 10 || die "Linux 3.10 or newer required"
fi
+ kernel_is -ge 3 10 || die "Linux 3.10 or newer required"
+
linux-mod_pkg_setup
}
+src_unpack() {
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/zfs-${MY_PV}.tar.gz{,.asc}
+ fi
+
+ default
+}
+
src_prepare() {
default
- if [[ ${PV} == "9999" ]]; then
- eautoreconf
- else
+ # Run unconditionally (bug #792627)
+ eautoreconf
+
+ if [[ ${PV} != "9999" ]]; then
# Set module revision number
sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
fi
@@ -141,7 +163,7 @@ src_configure() {
$(use_enable debug)
)
- CONFIG_SHELL="${EPREFIX}/bin/bash" econf "${myconf[@]}"
+ econf "${myconf[@]}"
}
src_compile() {
@@ -160,8 +182,8 @@ src_install() {
myemakeargs+=(
DEPMOD=:
+ # INSTALL_MOD_PATH ?= $(DESTDIR) in module/Makefile
DESTDIR="${D}"
- INSTALL_MOD_PATH="${EPREFIX:-/}" # lib/modules/<kver> added by KBUILD
)
emake "${myemakeargs[@]}" install
@@ -172,15 +194,6 @@ src_install() {
pkg_postinst() {
linux-mod_pkg_postinst
- # Remove old modules
- if [[ -d "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" ]]; then
- ewarn "${PN} now installs modules in ${EROOT}/lib/modules/${KV_FULL}/extra/zfs"
- ewarn "Old modules were detected in ${EROOT}/lib/modules/${KV_FULL}/addon/zfs"
- ewarn "Automatically removing old modules to avoid problems."
- rm -r "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" || die "Cannot remove modules"
- rmdir --ignore-fail-on-non-empty "${EROOT}/lib/modules/${KV_FULL}/addon"
- fi
-
if [[ -z ${ROOT} ]] && use dist-kernel; then
set_arch_to_pkgmgr
dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
@@ -191,22 +204,17 @@ pkg_postinst() {
ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
fi
- ewarn "This version of OpenZFS includes support for new feature flags"
- ewarn "that are incompatible with previous versions. GRUB2 support for"
- ewarn "/boot with the new feature flags is not yet available."
- ewarn "Do *NOT* upgrade root pools to use the new feature flags."
- ewarn "Any new pools will be created with the new feature flags by default"
- ewarn "and will not be compatible with older versions of OpenZFS. To"
- ewarn "create a newpool that is backward compatible wih GRUB2, use "
- ewarn
- ewarn "zpool create -d -o feature@async_destroy=enabled "
- ewarn " -o feature@empty_bpobj=enabled -o feature@lz4_compress=enabled"
- ewarn " -o feature@spacemap_histogram=enabled"
- ewarn " -o feature@enabled_txg=enabled "
- ewarn " -o feature@extensible_dataset=enabled -o feature@bookmarks=enabled"
- ewarn " ..."
- ewarn
- ewarn "GRUB2 support will be updated as soon as either the GRUB2"
- ewarn "developers do a tag or the Gentoo developers find time to backport"
- ewarn "support from GRUB2 HEAD."
+ if has_version sys-boot/grub; then
+ ewarn "This version of OpenZFS includes support for new feature flags"
+ ewarn "that are incompatible with previous versions. GRUB2 support for"
+ ewarn "/boot with the new feature flags is not yet available."
+ ewarn "Do *NOT* upgrade root pools to use the new feature flags."
+ ewarn "Any new pools will be created with the new feature flags by default"
+ ewarn "and will not be compatible with older versions of OpenZFS. To"
+ ewarn "create a newpool that is backward compatible wih GRUB2, use "
+ ewarn
+ ewarn "zpool create -o compatibility=grub2 ..."
+ ewarn
+ ewarn "Refer to /usr/share/zfs/compatibility.d/grub2 for list of features."
+ fi
}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.1.2.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.5.ebuild
index 6eacb6cbcf3..ac917091d0b 100644
--- a/sys-fs/zfs-kmod/zfs-kmod-2.1.2.ebuild
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.5.ebuild
@@ -19,14 +19,14 @@ else
SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )"
S="${WORKDIR}/zfs-${PV%_rc?}"
- ZFS_KERNEL_COMPAT="5.15"
+ ZFS_KERNEL_COMPAT="5.18"
# increments minor eg 5.14 -> 5.15, and still supports override.
ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))"
if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="amd64 arm64 ppc64 ~riscv"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
fi
fi
@@ -62,6 +62,11 @@ RESTRICT="debug? ( strip ) test"
DOCS=( AUTHORS COPYRIGHT META README.md )
+PATCHES=(
+ # bug #855182
+ "${FILESDIR}"/${PV}-build-issues.patch
+)
+
pkg_pretend() {
use rootfs || return 0
@@ -167,8 +172,8 @@ src_install() {
myemakeargs+=(
DEPMOD=:
+ # INSTALL_MOD_PATH ?= $(DESTDIR) in module/Makefile
DESTDIR="${D}"
- INSTALL_MOD_PATH="${EPREFIX:-/}" # lib/modules/<kver> added by KBUILD
)
emake "${myemakeargs[@]}" install
diff --git a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
index 1b9f31ac766..65567e49fef 100644
--- a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
+++ b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
@@ -19,7 +19,7 @@ else
SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )"
S="${WORKDIR}/zfs-${PV%_rc?}"
- ZFS_KERNEL_COMPAT="5.17"
+ ZFS_KERNEL_COMPAT="5.18"
# increments minor eg 5.14 -> 5.15, and still supports override.
ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest
index 737e23e8e6e..7b982f51e74 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -1,7 +1,7 @@
-DIST zfs-0.8.6.tar.gz 9295260 BLAKE2B 45424d710aaf75a05f766ae523ae157a24b5cbdcefe72a59e4cede81e42f7a92ae7f01150388437b78cd49f3d28b9664599f2a624516e6b3f1073497194a99f2 SHA512 626b172554f39a5c70f6ea5c599a92fae52534590d1b0273de2bbfc3676d29dff0eade8ca17e5f179a59870c12bc758fb53b7900f8a1fdbdef3a9161b93f9cce
DIST zfs-2.0.7.tar.gz 14550055 BLAKE2B 80f7297f04a21cd8f3f2043d895b0325512ba0cea3bb9223561237754495c8233d29af5a9418a3c06a87510100240a45ef3d59c7ce776fffb5aafdcd18167c21 SHA512 1135abf74bf74685439018f7cd65fc52088f179d113bdd2e6481689bb0f4a016716a07d859107b74501fda00689e80b2488c7c2c53d5f058d6b659909ed85f6f
DIST zfs-2.0.7.tar.gz.asc 836 BLAKE2B 65e7df58c33ccadc4e0ca9dbc1e8c006abbec8442e2da50872a1ab0cbb841fc45152298e8d3b93ee4320ddae6416e3a856caf80d8efb21b19db53dfedbf00e38 SHA512 b901d8e92faa6cfe6010bd54de88c7d18057f434cb07f8a89672d6c446a0a97b23209ee8f02cfd3b2a8f431c68ec977e7dc9f95fe5d385dba0bb6d37338ba682
-DIST zfs-2.1.2.tar.gz 34829045 BLAKE2B ab4e2d85200438373c7eeeaa5256a712dbfb2862b85de1fb7554ad0cc2b9f8e1255ab4564bca62f65a81a823adb8c112957e6e8771b8e5e6944c3731bc894584 SHA512 3e3932259da2a27f1c4cca8da62b909edc43bf51ab0229d2d5d0234d9a7eaa7b63b67c06a98cbe2d29ba1eb5cbcaab16e5062c2a2bc8e84cab770be10ebf2102
-DIST zfs-2.1.2.tar.gz.asc 836 BLAKE2B 8f5666f5c3d7016a4d79191f42d0a220fe8c654a0d64e3da3b575644fe52c83dcb9f9ef49ba0553771a127bba44e2802f1d366a7a38f670e73612deef76755c3 SHA512 da6bfccd19a249a6891f5e1de6c4b332e98ce4f125f638c046b9cedac3fd79c56a99dd9a620105a40741e5f04b382f5d5996b56cbe576fb268b31e57e0fed6eb
DIST zfs-2.1.4.tar.gz 34896310 BLAKE2B be303f1181f604770536aa4aa61d5319ec408abbd04964cedadd15b3101a15deba6539bb5d833f4fed357f323d74f622d035305df699b213df41ae45bffdd200 SHA512 c7b57c43fc287b22905067ab022df4133d32e1a5dc335f7baf743b4ef88f64c2bf9d41318c2083230d077dd49e68f7d9e6172266e13d4b1eee29d359860f969e
DIST zfs-2.1.4.tar.gz.asc 836 BLAKE2B b311730f72d534c87a782515f35a354bfbefba0513dc0cee5b0b497cf742590f13be6a49ff8a70d7d6503d0ba06b0266e7d290d718337add614812c3d1b0731a SHA512 53880cd5369f468551bab685eb83739ed76aa286886fdd2cbad4270755fe809da730082a91bba61011f59594fac297ce05645ae32c2c73b4a9aa835f2991a1ee
+DIST zfs-2.1.5-patches.tar.xz 13324 BLAKE2B bfef8abd298cebd54491272b8c1deacace901d9a1acce67cb927bab6447eafd985352fd09f64336aa9d6611bab0e5c761d7973f0a65c408d77bb735a94c60253 SHA512 d2b009664f8eb4f2a8596693011fde578b6eae123c6169e5dfb70bd920c0f987f5177f7b1be008705a421574a8a9bc930f99823785c69e81573f18b0350cb9bd
+DIST zfs-2.1.5.tar.gz 34951632 BLAKE2B c6e3efd9c0cda91654767eaad0eaaa05cd9a5daf1cb0384c9c78b30062f5c29142ac37ab9dbdaf96c91456d11c317d782d3524ade293f03fda983e5992b79e49 SHA512 d9ccf1049cefa9167d25f71fbdca70092cd02368b60f09341e6489fb68dc5f89e87b026b0191f4d81181a8851449124d824a1d959d0e2fb29c8a3d624edc4f03
+DIST zfs-2.1.5.tar.gz.asc 836 BLAKE2B 4a81c266967540850a2cc824e79555ca9d05b2e17e45fa2723893cbd85b55e3d7d791986d6667b7ee1530e7692c03818f15e8b6798393b54989f90801b775786 SHA512 224b0dcf4982c63a8eff0a39d054537e7d023f7c35e154e4d20490b8daf184c076bc8e4de7d2c5af4059f8a802b747e637aad4479cd8d1330cf5b26da2f19c94
diff --git a/sys-fs/zfs/files/2.1.2-scrub-timers.patch b/sys-fs/zfs/files/2.1.2-scrub-timers.patch
deleted file mode 100644
index f1c5b5699f6..00000000000
--- a/sys-fs/zfs/files/2.1.2-scrub-timers.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 2c9844d159024d4c742d24639a218213fb53d537 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Sat, 22 May 2021 22:27:39 -0700
-Subject: [PATCH 1/2] systemd: add weekly and monthly scrub timers
-
-timers can be enabled as follows:
-
-systemctl enable zfs-scrub-weekly@rpool.timer --now
-systemctl enable zfs-scrub-monthly@datapool.timer --now
-
-Each timer will pull in zfs-scrub@${poolname}.service, which is not
-schedule-specific.
-
-Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
----
- etc/systemd/system/.gitignore | 1 +
- etc/systemd/system/Makefile.am | 5 ++++-
- etc/systemd/system/zfs-scrub-monthly@.timer.in | 12 ++++++++++++
- etc/systemd/system/zfs-scrub-weekly@.timer.in | 12 ++++++++++++
- etc/systemd/system/zfs-scrub@.service.in | 14 ++++++++++++++
- 5 files changed, 43 insertions(+), 1 deletion(-)
- create mode 100644 etc/systemd/system/zfs-scrub-monthly@.timer.in
- create mode 100644 etc/systemd/system/zfs-scrub-weekly@.timer.in
- create mode 100644 etc/systemd/system/zfs-scrub@.service.in
-
-diff --git a/etc/systemd/system/Makefile.am b/etc/systemd/system/Makefile.am
-index c374a52ac..5e65e1db4 100644
---- a/etc/systemd/system/Makefile.am
-+++ b/etc/systemd/system/Makefile.am
-@@ -12,7 +12,10 @@ systemdunit_DATA = \
- zfs-volume-wait.service \
- zfs-import.target \
- zfs-volumes.target \
-- zfs.target
-+ zfs.target \
-+ zfs-scrub-monthly@.timer \
-+ zfs-scrub-weekly@.timer \
-+ zfs-scrub@.service
-
- SUBSTFILES += $(systemdpreset_DATA) $(systemdunit_DATA)
-
-diff --git a/etc/systemd/system/zfs-scrub-monthly@.timer.in b/etc/systemd/system/zfs-scrub-monthly@.timer.in
-new file mode 100644
-index 000000000..903068468
---- /dev/null
-+++ b/etc/systemd/system/zfs-scrub-monthly@.timer.in
-@@ -0,0 +1,12 @@
-+[Unit]
-+Description=Monthly zpool scrub timer for %i
-+Documentation=man:zpool-scrub(8)
-+
-+[Timer]
-+OnCalendar=monthly
-+Persistent=true
-+RandomizedDelaySec=1h
-+Unit=zfs-scrub@%i.service
-+
-+[Install]
-+WantedBy=timers.target
-diff --git a/etc/systemd/system/zfs-scrub-weekly@.timer.in b/etc/systemd/system/zfs-scrub-weekly@.timer.in
-new file mode 100644
-index 000000000..ede699500
---- /dev/null
-+++ b/etc/systemd/system/zfs-scrub-weekly@.timer.in
-@@ -0,0 +1,12 @@
-+[Unit]
-+Description=Weekly zpool scrub timer for %i
-+Documentation=man:zpool-scrub(8)
-+
-+[Timer]
-+OnCalendar=weekly
-+Persistent=true
-+RandomizedDelaySec=1h
-+Unit=zfs-scrub@%i.service
-+
-+[Install]
-+WantedBy=timers.target
-diff --git a/etc/systemd/system/zfs-scrub@.service.in b/etc/systemd/system/zfs-scrub@.service.in
-new file mode 100644
-index 000000000..c04ac292a
---- /dev/null
-+++ b/etc/systemd/system/zfs-scrub@.service.in
-@@ -0,0 +1,14 @@
-+[Unit]
-+Description=zpool scrub on %i
-+Documentation=man:zpool-scrub(8)
-+Requires=zfs.target
-+After=zfs.target
-+ConditionACPower=true
-+ConditionPathIsDirectory=/sys/module/zfs
-+
-+[Service]
-+ExecStart=/bin/sh -c '\
-+if @sbindir@/zpool status %i | grep "scrub in progress"; then\
-+exec @sbindir@/zpool wait -t scrub %i;\
-+else exec @sbindir@/zpool scrub -w %i; fi'
-+ExecStop=-/bin/sh -c '@sbindir@/zpool scrub -p %i 2>/dev/null || true'
---
-2.34.1
-
-From 4bac4eae0345fb322337b66a9b4923e9f3f52b0f Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Fri, 29 Oct 2021 21:40:50 -0700
-Subject: [PATCH 2/2] zpool-scrub.8: add PERIODIC SCRUB section
-
-Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
----
- man/man8/zpool-scrub.8 | 21 +++++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
-diff --git a/man/man8/zpool-scrub.8 b/man/man8/zpool-scrub.8
-index 768f71539..69ae825b6 100644
---- a/man/man8/zpool-scrub.8
-+++ b/man/man8/zpool-scrub.8
-@@ -116,8 +116,29 @@ scanned at 100M/s, and 68.4M of that file data has been
- scrubbed sequentially at 10.0M/s.
- .El
- .El
-+.Sh PERIODIC SCRUB
-+On machines using systemd, scrub timers can be enabled on per-pool basis.
-+.Nm weekly
-+and
-+.Nm monthly
-+timer units are provided.
-+.Bl -tag -width Ds
-+.It Xo
-+.Xc
-+.Nm systemctl
-+.Cm enable
-+.Cm zfs-scrub-\fIweekly\fB@\fIrpool\fB.timer
-+.Cm --now
-+.It Xo
-+.Xc
-+.Nm systemctl
-+.Cm enable
-+.Cm zfs-scrub-\fImonthly\fB@\fIotherpool\fB.timer
-+.Cm --now
-+.El
- .
- .Sh SEE ALSO
-+.Xr systemd.timer 5 ,
- .Xr zpool-iostat 8 ,
- .Xr zpool-resilver 8 ,
- .Xr zpool-status 8
---
-2.34.1
-
diff --git a/sys-fs/zfs/files/2.1.5-build-issues.patch b/sys-fs/zfs/files/2.1.5-build-issues.patch
new file mode 100644
index 00000000000..cca6561b16f
--- /dev/null
+++ b/sys-fs/zfs/files/2.1.5-build-issues.patch
@@ -0,0 +1,74 @@
+https://github.com/openzfs/zfs/commit/a6e8113fed8a508ffda13cf1c4d8da99a4e8133a
+https://github.com/openzfs/zfs/commit/60e389ca10085acfa7cd35f79ab4465d968a942f
+Cherry-picked from https://github.com/openzfs/zfs/pull/13575
+
+https://bugs.gentoo.org/855182
+--- a/config/always-compiler-options.m4
++++ b/config/always-compiler-options.m4
+@@ -205,6 +205,29 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_NO_OMIT_FRAME_POINTER], [
+ AC_SUBST([NO_OMIT_FRAME_POINTER])
+ ])
+
++dnl #
++dnl # Check if cc supports -Winfinite-recursion option.
++dnl #
++AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_INFINITE_RECURSION], [
++ AC_MSG_CHECKING([whether $CC supports -Winfinite-recursion])
++
++ saved_flags="$CFLAGS"
++ CFLAGS="$CFLAGS -Werror -Winfinite-recursion"
++
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [
++ INFINITE_RECURSION=-Winfinite-recursion
++ AC_DEFINE([HAVE_INFINITE_RECURSION], 1,
++ [Define if compiler supports -Winfinite-recursion])
++ AC_MSG_RESULT([yes])
++ ], [
++ INFINITE_RECURSION=
++ AC_MSG_RESULT([no])
++ ])
++
++ CFLAGS="$saved_flags"
++ AC_SUBST([INFINITE_RECURSION])
++])
++
+ dnl #
+ dnl # Check if cc supports -fno-ipa-sra option.
+ dnl #
+--- a/config/zfs-build.m4
++++ b/config/zfs-build.m4
+@@ -211,6 +211,7 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [
+
+ ZFS_AC_CONFIG_ALWAYS_CC_NO_UNUSED_BUT_SET_VARIABLE
+ ZFS_AC_CONFIG_ALWAYS_CC_NO_BOOL_COMPARE
++ ZFS_AC_CONFIG_ALWAYS_CC_INFINITE_RECURSION
+ ZFS_AC_CONFIG_ALWAYS_CC_IMPLICIT_FALLTHROUGH
+ ZFS_AC_CONFIG_ALWAYS_CC_FRAME_LARGER_THAN
+ ZFS_AC_CONFIG_ALWAYS_CC_NO_FORMAT_TRUNCATION
+--- a/module/lua/ldo.c
++++ b/module/lua/ldo.c
+@@ -168,6 +168,13 @@ static void seterrorobj (lua_State *L, int errcode, StkId oldtop) {
+ L->top = oldtop + 1;
+ }
+
++/*
++ * Silence infinite recursion warning which was added to -Wall in gcc 12.1
++ */
++#if defined(HAVE_INFINITE_RECURSION)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Winfinite-recursion"
++#endif
+
+ l_noret luaD_throw (lua_State *L, int errcode) {
+ if (L->errorJmp) { /* thread has an error handler? */
+@@ -190,6 +197,10 @@ l_noret luaD_throw (lua_State *L, int errcode) {
+ }
+ }
+
++#if defined(HAVE_INFINITE_RECURSION)
++#pragma GCC diagnostic pop
++#endif
++
+
+ int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) {
+ unsigned short oldnCcalls = L->nCcalls;
diff --git a/sys-fs/zfs/files/2.1.5-dracut-mount.patch b/sys-fs/zfs/files/2.1.5-dracut-mount.patch
new file mode 100644
index 00000000000..758f4b3a3e9
--- /dev/null
+++ b/sys-fs/zfs/files/2.1.5-dracut-mount.patch
@@ -0,0 +1,29 @@
+https://github.com/openzfs/zfs/commit/07f2793e869196fcbcd5057d9ada377674262fe3
+https://bugs.gentoo.org/857228
+
+From: Brian Behlendorf <behlendorf1@llnl.gov>
+Date: Wed, 29 Jun 2022 15:33:38 -0700
+Subject: [PATCH] dracut: fix typo in mount-zfs.sh.in
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Format the `zpool get` command correctly. The -o option must
+be followed by "all" or the requested field name.
+
+Reviewed-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
+Reviewed-by: George Melikov <mail@gmelikov.ru>
+Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
+Closes #13602
+--- a/contrib/dracut/90zfs/mount-zfs.sh.in
++++ b/contrib/dracut/90zfs/mount-zfs.sh.in
+@@ -82,7 +82,7 @@ ZFS_DATASET="${ZFS_DATASET:-${root}}"
+ ZFS_POOL="${ZFS_DATASET%%/*}"
+
+
+-if ! zpool get -Ho name "${ZFS_POOL}" > /dev/null 2>&1; then
++if ! zpool get -Ho value name "${ZFS_POOL}" > /dev/null 2>&1; then
+ info "ZFS: Importing pool ${ZFS_POOL}..."
+ # shellcheck disable=SC2086
+ if ! zpool import -N ${ZPOOL_IMPORT_OPTS} "${ZFS_POOL}"; then
+
diff --git a/sys-fs/zfs/files/2.1.5-dracut-non-root.patch b/sys-fs/zfs/files/2.1.5-dracut-non-root.patch
new file mode 100644
index 00000000000..6d1caf92cd2
--- /dev/null
+++ b/sys-fs/zfs/files/2.1.5-dracut-non-root.patch
@@ -0,0 +1,33 @@
+https://github.com/openzfs/zfs/pull/13589
+https://bugs.gentoo.org/854333
+
+From ef9d996669cc2ec596d4e90753b89b32a3f0ce59 Mon Sep 17 00:00:00 2001
+From: "Andrew J. Hesford" <ajh@sideband.org>
+Date: Fri, 24 Jun 2022 11:05:53 -0400
+Subject: [PATCH] Dracut module: fix parsing of root= kernel command-line
+ argument
+
+Some Dracut modules may read the `root=` kernel command-line argument
+and rewrite it; in particular, `rootfs-block` installs a command-line
+hook that to canonicalize arguments that specify block devices. If the
+`zfs` module is added to an initramfs (which it is, by default, as long
+as the core ZFS utilities are available) on a system that does not use a
+ZFS root filesystem, the `zfs` module will overwrite the `root` shell
+variable with the contents of the kernel command-line in the process of
+determining if it should control mounting the root. This breaks the
+initramfs. To solve this problem, only parse the kernel command-line
+directly if the `root` shell variable is empty; otherwise, rely on the
+parsing (and possible rewriting) done by other modules.
+
+Signed-off-by: Andrew J. Hesford <ajh@sideband.org>
+--- a/contrib/dracut/90zfs/zfs-lib.sh.in
++++ b/contrib/dracut/90zfs/zfs-lib.sh.in
+@@ -88,7 +88,7 @@ decode_root_args() {
+ return
+ fi
+
+- root=$(getarg root=)
++ [ -n "$root" ] || root=$(getarg root=)
+ rootfstype=$(getarg rootfstype=)
+
+ # shellcheck disable=SC2249
diff --git a/sys-fs/zfs/files/2.1.5-dracut-zfs-missing.patch b/sys-fs/zfs/files/2.1.5-dracut-zfs-missing.patch
new file mode 100644
index 00000000000..077bcd55f6d
--- /dev/null
+++ b/sys-fs/zfs/files/2.1.5-dracut-zfs-missing.patch
@@ -0,0 +1,14 @@
+https://github.com/openzfs/zfs/commit/ebbfc6cb853d2d2f3f0671362d5ff5588be39e9d
+https://github.com/openzfs/zfs/issues/13595
+--- b/contrib/dracut/90zfs/module-setup.sh.in
++++ a/contrib/dracut/90zfs/module-setup.sh.in
+@@ -19,7 +19,7 @@
+ }
+
+ installkernel() {
++ instmods zfs
+- instmods -c zfs
+ }
+
+ install() {
+
diff --git a/sys-fs/zfs/files/2.1.5-r2-dracut-non-root.patch b/sys-fs/zfs/files/2.1.5-r2-dracut-non-root.patch
new file mode 100644
index 00000000000..a9c6130f5b0
--- /dev/null
+++ b/sys-fs/zfs/files/2.1.5-r2-dracut-non-root.patch
@@ -0,0 +1,60 @@
+https://github.com/openzfs/zfs/commit/eefe83eaa68f7cb4a49c580dd940d3688e42c849
+https://bugs.gentoo.org/854333
+
+From eefe83eaa68f7cb4a49c580dd940d3688e42c849 Mon Sep 17 00:00:00 2001
+From: Toyam Cox <aviator45003@gmail.com>
+Date: Thu, 30 Jun 2022 13:47:58 -0400
+Subject: [PATCH] dracut: fix boot on non-zfs-root systems
+
+Simply prevent overwriting root until it needs to be overwritten.
+
+Dracut could change this value before this module is called, but won't
+change the kernel command line.
+
+Reviewed-by: Andrew J. Hesford <ajh@sideband.org>
+Signed-off-by: Toyam Cox <vaelatern@voidlinux.org>
+Closes #13592
+---
+ contrib/dracut/90zfs/zfs-lib.sh.in | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/contrib/dracut/90zfs/zfs-lib.sh.in b/contrib/dracut/90zfs/zfs-lib.sh.in
+index e44673c2d75..3a43e514d6f 100755
+--- a/contrib/dracut/90zfs/zfs-lib.sh.in
++++ b/contrib/dracut/90zfs/zfs-lib.sh.in
+@@ -88,11 +88,11 @@ decode_root_args() {
+ return
+ fi
+
+- root=$(getarg root=)
++ xroot=$(getarg root=)
+ rootfstype=$(getarg rootfstype=)
+
+ # shellcheck disable=SC2249
+- case "$root" in
++ case "$xroot" in
+ ""|zfs|zfs:|zfs:AUTO)
+ root=zfs:AUTO
+ rootfstype=zfs
+@@ -100,7 +100,7 @@ decode_root_args() {
+ ;;
+
+ ZFS=*|zfs:*)
+- root="${root#zfs:}"
++ root="${xroot#zfs:}"
+ root="${root#ZFS=}"
+ root=$(echo "$root" | tr '+' ' ')
+ rootfstype=zfs
+@@ -109,9 +109,9 @@ decode_root_args() {
+ esac
+
+ if [ "$rootfstype" = "zfs" ]; then
+- case "$root" in
++ case "$xroot" in
+ "") root=zfs:AUTO ;;
+- *) root=$(echo "$root" | tr '+' ' ') ;;
++ *) root=$(echo "$xroot" | tr '+' ' ') ;;
+ esac
+ return 0
+ fi
+
diff --git a/sys-fs/zfs/zfs-2.0.7.ebuild b/sys-fs/zfs/zfs-2.0.7-r1.ebuild
index e4ff7efbdef..68d9116fd3d 100644
--- a/sys-fs/zfs/zfs-2.0.7.ebuild
+++ b/sys-fs/zfs/zfs-2.0.7-r1.ebuild
@@ -191,6 +191,13 @@ src_configure() {
use custom-cflags || strip-flags
use minimal || python_setup
+ # All the same issue:
+ # Segfaults w/ GCC 12 and 'zfs send'
+ # bug #856373
+ # https://github.com/openzfs/zfs/issues/13620
+ # https://github.com/openzfs/zfs/issues/13605
+ append-flags -fno-tree-vectorize
+
local myconf=(
--bindir="${EPREFIX}/bin"
--enable-shared
@@ -256,6 +263,8 @@ src_install() {
}
pkg_postinst() {
+ udev_reload
+
# we always need userspace utils in sync with zfs-kmod
# so force initrd update for userspace as well, to avoid
# situation when zfs-kmod trigger initrd rebuild before
@@ -296,6 +305,8 @@ pkg_postinst() {
}
pkg_postrm() {
+ udev_reload
+
if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
remove_moduledb
fi
diff --git a/sys-fs/zfs/zfs-0.8.6-r2.ebuild b/sys-fs/zfs/zfs-2.1.4-r1.ebuild
index 46403d3bc9b..fb6aab2ca7e 100644
--- a/sys-fs/zfs/zfs-0.8.6-r2.ebuild
+++ b/sys-fs/zfs/zfs-2.1.4-r1.ebuild
@@ -4,33 +4,46 @@
EAPI=7
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{8,9,10} )
-inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info systemd udev usr-ldscript
+inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript
DESCRIPTION="Userland utilities for ZFS Linux kernel module"
HOMEPAGE="https://github.com/openzfs/zfs"
-if [[ ${PV} == "9999" ]] ; then
+if [[ ${PV} == "9999" ]]; then
inherit git-r3 linux-mod
EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
else
- SRC_URI="https://github.com/openzfs/${PN}/releases/download/${P}/${P}.tar.gz"
- KEYWORDS="amd64 arm64 ppc64"
+ VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+ inherit verify-sig
+
+ MY_P="${P/_rc/-rc}"
+ SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
+ SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )"
+ S="${WORKDIR}/${P%_rc?}"
+
+ # 2.1.3 unkeyworded briefly for some testing
+ if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="amd64 arm64 ppc64 ~riscv"
+ fi
fi
LICENSE="BSD-2 CDDL MIT"
-SLOT="0/2" # just libzfs soname major for now. possible candidates: libuutil, libzpool, libnvpair
+# just libzfs soname major for now.
+# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered.
+# see libsoversion_check() below as well
+SLOT="0/5"
IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite"
DEPEND="
net-libs/libtirpc:=
sys-apps/util-linux
sys-libs/zlib
- virtual/awk
virtual/libudev:=
dev-libs/openssl:0=
!minimal? ( ${PYTHON_DEPS} )
+ pam? ( sys-libs/pam )
python? (
virtual/python-cffi[${PYTHON_USEDEP}]
)
@@ -41,9 +54,18 @@ BDEPEND="virtual/awk
nls? ( sys-devel/gettext )
python? (
dev-python/setuptools[${PYTHON_USEDEP}]
+ || (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ )
)
"
+if [[ ${PV} != "9999" ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
+fi
+
+# awk is used for some scripts, completions, and the Dracut module
RDEPEND="${DEPEND}
!kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= )
!prefix? ( virtual/udev )
@@ -56,6 +78,7 @@ RDEPEND="${DEPEND}
!<sys-kernel/genkernel-3.5.1.1
)
test-suite? (
+ app-shells/ksh
sys-apps/kmod[tools]
sys-apps/util-linux
sys-devel/bc
@@ -78,10 +101,6 @@ REQUIRED_USE="
RESTRICT="test"
-PATCHES=(
- "${FILESDIR}/bash-completion-sudo.patch"
-)
-
pkg_pretend() {
use rootfs || return 0
@@ -97,7 +116,7 @@ pkg_setup() {
if use kernel_linux; then
linux-info_pkg_setup
- if ! linux_config_exists; then
+ if ! linux_config_exists; then
ewarn "Cannot check the linux kernel configuration."
else
if use test-suite; then
@@ -115,12 +134,37 @@ pkg_setup() {
fi
}
+libsoversion_check() {
+ local bugurl libzfs_sover
+ bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages"
+
+ libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \
+ | grep -Eo '[0-9]+:[0-9]+:[0-9]+')"
+ libzfs_sover="${libzfs_sover%%:*}"
+
+ if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then
+ echo
+ eerror "BUG BUG BUG BUG BUG BUG BUG BUG"
+ eerror "ebuild subslot does not match libzfs soversion!"
+ eerror "libzfs soversion: ${libzfs_sover}"
+ eerror "ebuild value: $(ver_cut 2 ${SLOT})"
+ eerror "This is a bug in the ebuild, please use the following URL to report it"
+ eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot"
+ echo
+ # we want to abort for releases, but just print a warning for live ebuild
+ # to keep package installable
+ [[ ${PV} == "9999" ]] || die
+ fi
+}
+
src_prepare() {
default
+ libsoversion_check
- if [[ ${PV} == "9999" ]]; then
- eautoreconf
- else
+ # Run unconditionally (bug #792627)
+ eautoreconf
+
+ if [[ ${PV} != "9999" ]]; then
# Set revision number
sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
fi
@@ -140,10 +184,16 @@ src_configure() {
use custom-cflags || strip-flags
use minimal || python_setup
+ # All the same issue:
+ # Segfaults w/ GCC 12 and 'zfs send'
+ # bug #856373
+ # https://github.com/openzfs/zfs/issues/13620
+ # https://github.com/openzfs/zfs/issues/13605
+ append-flags -fno-tree-vectorize
+
local myconf=(
--bindir="${EPREFIX}/bin"
--enable-shared
- --enable-systemd
--enable-sysvinit
--localstatedir="${EPREFIX}/var"
--sbindir="${EPREFIX}/sbin"
@@ -152,16 +202,24 @@ src_configure() {
--with-linux="${KV_DIR}"
--with-linux-obj="${KV_OUT_DIR}"
--with-udevdir="$(get_udevdir)"
+ --with-pamconfigsdir="${EPREFIX}/unwanted_files"
+ --with-pammoduledir="$(getpam_mod_dir)"
--with-systemdunitdir="$(systemd_get_systemunitdir)"
--with-systemdpresetdir="$(systemd_get_systempresetdir)"
+ --with-vendor=gentoo
+ # Building zfs-mount-generator.c on musl breaks as strndupa
+ # isn't available. But systemd doesn't support musl anyway, so
+ # just disable building it.
+ $(use_enable !elibc_musl systemd)
$(use_enable debug)
$(use_enable nls)
+ $(use_enable pam)
$(use_enable python pyzfs)
--disable-static
$(usex minimal --without-python --with-python="${EPYTHON}")
)
- CONFIG_SHELL="${EPREFIX}/bin/bash" econf "${myconf[@]}"
+ econf "${myconf[@]}"
}
src_compile() {
@@ -176,11 +234,13 @@ src_compile() {
src_install() {
default
- gen_usr_ldscript -a uutil nvpair zpool zfs zfs_core
+ gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool
- use test-suite || rm -rf "${ED}/usr/share/zfs"
+ use pam && { rm -rv "${ED}/unwanted_files" || die ; }
- find "${ED}/" -name '*.la' -delete || die
+ use test-suite || { rm -r "${ED}"/usr/share/zfs/{test-runner,zfs-tests,runfiles,*sh} || die ; }
+
+ find "${ED}" -name '*.la' -delete || die
dobashcomp contrib/bash_completion.d/zfs
bashcomp_alias zfs zpool
@@ -199,6 +259,8 @@ src_install() {
}
pkg_postinst() {
+ udev_reload
+
# we always need userspace utils in sync with zfs-kmod
# so force initrd update for userspace as well, to avoid
# situation when zfs-kmod trigger initrd rebuild before
@@ -210,14 +272,14 @@ pkg_postinst() {
if use rootfs; then
if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then
- elog "root on zfs requires initramfs to boot"
- elog "the following packages known to provide one and tested on regular basis:"
+ elog "Root on zfs requires an initramfs to boot"
+ elog "The following packages provide one and are tested on a regular basis:"
elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )"
elog " sys-kernel/genkernel"
fi
fi
- if ! use kernel-builtin && [[ ${PV} = "9999" ]]; then
+ if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
einfo "Adding ${P} to the module database to ensure that the"
einfo "kernel modules and userland utilities stay in sync."
update_moduledb
@@ -229,6 +291,8 @@ pkg_postinst() {
else
[[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \
einfo "You should add zfs-import to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \
+ einfo "You should add zfs-load-key to the boot runlevel."
[[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \
einfo "You should add zfs-mount to the boot runlevel."
[[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \
@@ -239,6 +303,8 @@ pkg_postinst() {
}
pkg_postrm() {
+ udev_reload
+
if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
remove_moduledb
fi
diff --git a/sys-fs/zfs/zfs-2.1.2-r1.ebuild b/sys-fs/zfs/zfs-2.1.5-r1.ebuild
index d119026f5c7..7f0466ea0e2 100644
--- a/sys-fs/zfs/zfs-2.1.2-r1.ebuild
+++ b/sys-fs/zfs/zfs-2.1.5-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=7
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8,9,10} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript
@@ -24,7 +24,7 @@ else
S="${WORKDIR}/${P%_rc?}"
if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="amd64 arm64 ppc64 ~riscv"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
fi
fi
@@ -101,9 +101,10 @@ REQUIRED_USE="
RESTRICT="test"
PATCHES=(
- "${FILESDIR}/2.1.2-scrub-timers.patch"
- "${FILESDIR}/2.1.2-openrc-vendor.patch"
- "${FILESDIR}/2.1.2-musl-tests.patch"
+ # bug #855182
+ "${FILESDIR}"/${PV}-build-issues.patch
+ # bug #854333
+ "${FILESDIR}"/${PV}-dracut-non-root.patch
)
pkg_pretend() {
@@ -257,6 +258,8 @@ src_install() {
}
pkg_postinst() {
+ udev_reload
+
# we always need userspace utils in sync with zfs-kmod
# so force initrd update for userspace as well, to avoid
# situation when zfs-kmod trigger initrd rebuild before
@@ -287,6 +290,8 @@ pkg_postinst() {
else
[[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \
einfo "You should add zfs-import to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \
+ einfo "You should add zfs-load-key to the boot runlevel."
[[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \
einfo "You should add zfs-mount to the boot runlevel."
[[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \
@@ -297,6 +302,8 @@ pkg_postinst() {
}
pkg_postrm() {
+ udev_reload
+
if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
remove_moduledb
fi
diff --git a/sys-fs/zfs/zfs-2.1.5-r3.ebuild b/sys-fs/zfs/zfs-2.1.5-r3.ebuild
new file mode 100644
index 00000000000..a2c22c0ac35
--- /dev/null
+++ b/sys-fs/zfs/zfs-2.1.5-r3.ebuild
@@ -0,0 +1,319 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript
+
+DESCRIPTION="Userland utilities for ZFS Linux kernel module"
+HOMEPAGE="https://github.com/openzfs/zfs"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3 linux-mod
+ EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+ inherit verify-sig
+
+ MY_P="${P/_rc/-rc}"
+ SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
+ SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )"
+ S="${WORKDIR}/${P%_rc?}"
+
+ if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+ fi
+fi
+
+LICENSE="BSD-2 CDDL MIT"
+# just libzfs soname major for now.
+# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered.
+# see libsoversion_check() below as well
+SLOT="0/5"
+IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite"
+
+DEPEND="
+ net-libs/libtirpc:=
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/libudev:=
+ dev-libs/openssl:0=
+ !minimal? ( ${PYTHON_DEPS} )
+ pam? ( sys-libs/pam )
+ python? (
+ virtual/python-cffi[${PYTHON_USEDEP}]
+ )
+"
+
+BDEPEND="virtual/awk
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ python? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ || (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+if [[ ${PV} != "9999" ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
+fi
+
+# awk is used for some scripts, completions, and the Dracut module
+RDEPEND="${DEPEND}
+ !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= )
+ !prefix? ( virtual/udev )
+ sys-fs/udev-init-scripts
+ virtual/awk
+ dist-kernel? ( virtual/dist-kernel:= )
+ rootfs? (
+ app-arch/cpio
+ app-misc/pax-utils
+ !<sys-kernel/genkernel-3.5.1.1
+ )
+ test-suite? (
+ app-shells/ksh
+ sys-apps/kmod[tools]
+ sys-apps/util-linux
+ sys-devel/bc
+ sys-block/parted
+ sys-fs/lsscsi
+ sys-fs/mdadm
+ sys-process/procps
+ )
+"
+
+# PDEPEND in this form is needed to trick portage suggest
+# enabling dist-kernel if only 1 package have it set, without suggesting to disable
+PDEPEND="dist-kernel? ( ~sys-fs/zfs-kmod-${PV}[dist-kernel] )"
+
+REQUIRED_USE="
+ !minimal? ( ${PYTHON_REQUIRED_USE} )
+ python? ( !minimal )
+ test-suite? ( !minimal )
+"
+
+RESTRICT="test"
+
+PATCHES=(
+ # bug #855182
+ "${FILESDIR}"/${PV}-build-issues.patch
+ # bug #854333
+ "${FILESDIR}"/${PV}-r2-dracut-non-root.patch
+ #
+ "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch
+)
+
+pkg_pretend() {
+ use rootfs || return 0
+
+ if has_version virtual/dist-kernel && ! use dist-kernel; then
+ ewarn "You have virtual/dist-kernel installed, but"
+ ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}"
+ ewarn "It's recommended to globally enable dist-kernel USE flag"
+ ewarn "to auto-trigger initrd rebuilds with kernel updates"
+ fi
+}
+
+pkg_setup() {
+ if use kernel_linux; then
+ linux-info_pkg_setup
+
+ if ! linux_config_exists; then
+ ewarn "Cannot check the linux kernel configuration."
+ else
+ if use test-suite; then
+ if linux_chkconfig_present BLK_DEV_LOOP; then
+ eerror "The ZFS test suite requires loop device support enabled."
+ eerror "Please enable it:"
+ eerror " CONFIG_BLK_DEV_LOOP=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Device Drivers --->"
+ eerror " Block devices --->"
+ eerror " [X] Loopback device support"
+ fi
+ fi
+ fi
+ fi
+}
+
+libsoversion_check() {
+ local bugurl libzfs_sover
+ bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages"
+
+ libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \
+ | grep -Eo '[0-9]+:[0-9]+:[0-9]+')"
+ libzfs_sover="${libzfs_sover%%:*}"
+
+ if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then
+ echo
+ eerror "BUG BUG BUG BUG BUG BUG BUG BUG"
+ eerror "ebuild subslot does not match libzfs soversion!"
+ eerror "libzfs soversion: ${libzfs_sover}"
+ eerror "ebuild value: $(ver_cut 2 ${SLOT})"
+ eerror "This is a bug in the ebuild, please use the following URL to report it"
+ eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot"
+ echo
+ # we want to abort for releases, but just print a warning for live ebuild
+ # to keep package installable
+ [[ ${PV} == "9999" ]] || die
+ fi
+}
+
+src_prepare() {
+ default
+ libsoversion_check
+
+ # Run unconditionally (bug #792627)
+ eautoreconf
+
+ if [[ ${PV} != "9999" ]]; then
+ # Set revision number
+ sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
+ fi
+
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_prepare
+ popd >/dev/null || die
+ fi
+
+ # prevent errors showing up on zfs-mount stop, #647688
+ # openrc will unmount all filesystems anyway.
+ sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ use minimal || python_setup
+
+ # All the same issue:
+ # Segfaults w/ GCC 12 and 'zfs send'
+ # bug #856373
+ # https://github.com/openzfs/zfs/issues/13620
+ # https://github.com/openzfs/zfs/issues/13605
+ append-flags -fno-tree-vectorize
+
+ local myconf=(
+ --bindir="${EPREFIX}/bin"
+ --enable-shared
+ --enable-sysvinit
+ --localstatedir="${EPREFIX}/var"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=user
+ --with-dracutdir="${EPREFIX}/usr/lib/dracut"
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ --with-udevdir="$(get_udevdir)"
+ --with-pamconfigsdir="${EPREFIX}/unwanted_files"
+ --with-pammoduledir="$(getpam_mod_dir)"
+ --with-systemdunitdir="$(systemd_get_systemunitdir)"
+ --with-systemdpresetdir="$(systemd_get_systempresetdir)"
+ --with-vendor=gentoo
+ # Building zfs-mount-generator.c on musl breaks as strndupa
+ # isn't available. But systemd doesn't support musl anyway, so
+ # just disable building it.
+ $(use_enable !elibc_musl systemd)
+ $(use_enable debug)
+ $(use_enable nls)
+ $(use_enable pam)
+ $(use_enable python pyzfs)
+ --disable-static
+ $(usex minimal --without-python --with-python="${EPYTHON}")
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ default
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+}
+
+src_install() {
+ default
+
+ gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool
+
+ use pam && { rm -rv "${ED}/unwanted_files" || die ; }
+
+ use test-suite || { rm -r "${ED}"/usr/share/zfs/{test-runner,zfs-tests,runfiles,*sh} || die ; }
+
+ find "${ED}" -name '*.la' -delete || die
+
+ dobashcomp contrib/bash_completion.d/zfs
+ bashcomp_alias zfs zpool
+
+ # strip executable bit from conf.d file
+ fperms 0644 /etc/conf.d/zfs
+
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_install
+ popd >/dev/null || die
+ fi
+
+ # enforce best available python implementation
+ use minimal || python_fix_shebang "${ED}/bin"
+}
+
+pkg_postinst() {
+ udev_reload
+
+ # we always need userspace utils in sync with zfs-kmod
+ # so force initrd update for userspace as well, to avoid
+ # situation when zfs-kmod trigger initrd rebuild before
+ # userspace component is rebuilt
+ # KV_* variables are provided by linux-info.eclass
+ if [[ -z ${ROOT} ]] && use dist-kernel; then
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ fi
+
+ if use rootfs; then
+ if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then
+ elog "Root on zfs requires an initramfs to boot"
+ elog "The following packages provide one and are tested on a regular basis:"
+ elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )"
+ elog " sys-kernel/genkernel"
+ fi
+ fi
+
+ if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
+ einfo "Adding ${P} to the module database to ensure that the"
+ einfo "kernel modules and userland utilities stay in sync."
+ update_moduledb
+ fi
+
+ if systemd_is_booted || has_version sys-apps/systemd; then
+ einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset"
+ einfo "for default zfs systemd service configuration"
+ else
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \
+ einfo "You should add zfs-import to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \
+ einfo "You should add zfs-load-key to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \
+ einfo "You should add zfs-mount to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \
+ einfo "You should add zfs-share to the default runlevel."
+ [[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \
+ einfo "You should add zfs-zed to the default runlevel."
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+
+ if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
+ remove_moduledb
+ fi
+}
diff --git a/sys-fs/zfs/zfs-2.1.5-r4.ebuild b/sys-fs/zfs/zfs-2.1.5-r4.ebuild
new file mode 100644
index 00000000000..2cf49118a4f
--- /dev/null
+++ b/sys-fs/zfs/zfs-2.1.5-r4.ebuild
@@ -0,0 +1,321 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript
+
+DESCRIPTION="Userland utilities for ZFS Linux kernel module"
+HOMEPAGE="https://github.com/openzfs/zfs"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3 linux-mod
+ EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+ inherit verify-sig
+
+ MY_P="${P/_rc/-rc}"
+ SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
+ SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )"
+ S="${WORKDIR}/${P%_rc?}"
+
+ if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+ fi
+fi
+
+LICENSE="BSD-2 CDDL MIT"
+# just libzfs soname major for now.
+# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered.
+# see libsoversion_check() below as well
+SLOT="0/5"
+IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite"
+
+DEPEND="
+ net-libs/libtirpc:=
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/libudev:=
+ dev-libs/openssl:0=
+ !minimal? ( ${PYTHON_DEPS} )
+ pam? ( sys-libs/pam )
+ python? (
+ virtual/python-cffi[${PYTHON_USEDEP}]
+ )
+"
+
+BDEPEND="virtual/awk
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ python? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ || (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+if [[ ${PV} != "9999" ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
+fi
+
+# awk is used for some scripts, completions, and the Dracut module
+RDEPEND="${DEPEND}
+ !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= )
+ !prefix? ( virtual/udev )
+ sys-fs/udev-init-scripts
+ virtual/awk
+ dist-kernel? ( virtual/dist-kernel:= )
+ rootfs? (
+ app-arch/cpio
+ app-misc/pax-utils
+ !<sys-kernel/genkernel-3.5.1.1
+ )
+ test-suite? (
+ app-shells/ksh
+ sys-apps/kmod[tools]
+ sys-apps/util-linux
+ sys-devel/bc
+ sys-block/parted
+ sys-fs/lsscsi
+ sys-fs/mdadm
+ sys-process/procps
+ )
+"
+
+# PDEPEND in this form is needed to trick portage suggest
+# enabling dist-kernel if only 1 package have it set, without suggesting to disable
+PDEPEND="dist-kernel? ( ~sys-fs/zfs-kmod-${PV}[dist-kernel] )"
+
+REQUIRED_USE="
+ !minimal? ( ${PYTHON_REQUIRED_USE} )
+ python? ( !minimal )
+ test-suite? ( !minimal )
+"
+
+RESTRICT="test"
+
+PATCHES=(
+ # bug #855182
+ "${FILESDIR}"/${PV}-build-issues.patch
+ # bug #854333
+ "${FILESDIR}"/${PV}-r2-dracut-non-root.patch
+ #
+ "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch
+ # bug #857228
+ "${FILESDIR}"/${PV}-dracut-mount.patch
+)
+
+pkg_pretend() {
+ use rootfs || return 0
+
+ if has_version virtual/dist-kernel && ! use dist-kernel; then
+ ewarn "You have virtual/dist-kernel installed, but"
+ ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}"
+ ewarn "It's recommended to globally enable dist-kernel USE flag"
+ ewarn "to auto-trigger initrd rebuilds with kernel updates"
+ fi
+}
+
+pkg_setup() {
+ if use kernel_linux; then
+ linux-info_pkg_setup
+
+ if ! linux_config_exists; then
+ ewarn "Cannot check the linux kernel configuration."
+ else
+ if use test-suite; then
+ if linux_chkconfig_present BLK_DEV_LOOP; then
+ eerror "The ZFS test suite requires loop device support enabled."
+ eerror "Please enable it:"
+ eerror " CONFIG_BLK_DEV_LOOP=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Device Drivers --->"
+ eerror " Block devices --->"
+ eerror " [X] Loopback device support"
+ fi
+ fi
+ fi
+ fi
+}
+
+libsoversion_check() {
+ local bugurl libzfs_sover
+ bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages"
+
+ libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \
+ | grep -Eo '[0-9]+:[0-9]+:[0-9]+')"
+ libzfs_sover="${libzfs_sover%%:*}"
+
+ if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then
+ echo
+ eerror "BUG BUG BUG BUG BUG BUG BUG BUG"
+ eerror "ebuild subslot does not match libzfs soversion!"
+ eerror "libzfs soversion: ${libzfs_sover}"
+ eerror "ebuild value: $(ver_cut 2 ${SLOT})"
+ eerror "This is a bug in the ebuild, please use the following URL to report it"
+ eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot"
+ echo
+ # we want to abort for releases, but just print a warning for live ebuild
+ # to keep package installable
+ [[ ${PV} == "9999" ]] || die
+ fi
+}
+
+src_prepare() {
+ default
+ libsoversion_check
+
+ # Run unconditionally (bug #792627)
+ eautoreconf
+
+ if [[ ${PV} != "9999" ]]; then
+ # Set revision number
+ sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
+ fi
+
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_prepare
+ popd >/dev/null || die
+ fi
+
+ # prevent errors showing up on zfs-mount stop, #647688
+ # openrc will unmount all filesystems anyway.
+ sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ use minimal || python_setup
+
+ # All the same issue:
+ # Segfaults w/ GCC 12 and 'zfs send'
+ # bug #856373
+ # https://github.com/openzfs/zfs/issues/13620
+ # https://github.com/openzfs/zfs/issues/13605
+ append-flags -fno-tree-vectorize
+
+ local myconf=(
+ --bindir="${EPREFIX}/bin"
+ --enable-shared
+ --enable-sysvinit
+ --localstatedir="${EPREFIX}/var"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=user
+ --with-dracutdir="${EPREFIX}/usr/lib/dracut"
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ --with-udevdir="$(get_udevdir)"
+ --with-pamconfigsdir="${EPREFIX}/unwanted_files"
+ --with-pammoduledir="$(getpam_mod_dir)"
+ --with-systemdunitdir="$(systemd_get_systemunitdir)"
+ --with-systemdpresetdir="$(systemd_get_systempresetdir)"
+ --with-vendor=gentoo
+ # Building zfs-mount-generator.c on musl breaks as strndupa
+ # isn't available. But systemd doesn't support musl anyway, so
+ # just disable building it.
+ $(use_enable !elibc_musl systemd)
+ $(use_enable debug)
+ $(use_enable nls)
+ $(use_enable pam)
+ $(use_enable python pyzfs)
+ --disable-static
+ $(usex minimal --without-python --with-python="${EPYTHON}")
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ default
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+}
+
+src_install() {
+ default
+
+ gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool
+
+ use pam && { rm -rv "${ED}/unwanted_files" || die ; }
+
+ use test-suite || { rm -r "${ED}"/usr/share/zfs/{test-runner,zfs-tests,runfiles,*sh} || die ; }
+
+ find "${ED}" -name '*.la' -delete || die
+
+ dobashcomp contrib/bash_completion.d/zfs
+ bashcomp_alias zfs zpool
+
+ # strip executable bit from conf.d file
+ fperms 0644 /etc/conf.d/zfs
+
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_install
+ popd >/dev/null || die
+ fi
+
+ # enforce best available python implementation
+ use minimal || python_fix_shebang "${ED}/bin"
+}
+
+pkg_postinst() {
+ udev_reload
+
+ # we always need userspace utils in sync with zfs-kmod
+ # so force initrd update for userspace as well, to avoid
+ # situation when zfs-kmod trigger initrd rebuild before
+ # userspace component is rebuilt
+ # KV_* variables are provided by linux-info.eclass
+ if [[ -z ${ROOT} ]] && use dist-kernel; then
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ fi
+
+ if use rootfs; then
+ if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then
+ elog "Root on zfs requires an initramfs to boot"
+ elog "The following packages provide one and are tested on a regular basis:"
+ elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )"
+ elog " sys-kernel/genkernel"
+ fi
+ fi
+
+ if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
+ einfo "Adding ${P} to the module database to ensure that the"
+ einfo "kernel modules and userland utilities stay in sync."
+ update_moduledb
+ fi
+
+ if systemd_is_booted || has_version sys-apps/systemd; then
+ einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset"
+ einfo "for default zfs systemd service configuration"
+ else
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \
+ einfo "You should add zfs-import to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \
+ einfo "You should add zfs-load-key to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \
+ einfo "You should add zfs-mount to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \
+ einfo "You should add zfs-share to the default runlevel."
+ [[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \
+ einfo "You should add zfs-zed to the default runlevel."
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+
+ if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
+ remove_moduledb
+ fi
+}
diff --git a/sys-fs/zfs/zfs-2.1.5-r5.ebuild b/sys-fs/zfs/zfs-2.1.5-r5.ebuild
new file mode 100644
index 00000000000..705c6d3e1aa
--- /dev/null
+++ b/sys-fs/zfs/zfs-2.1.5-r5.ebuild
@@ -0,0 +1,333 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript
+
+DESCRIPTION="Userland utilities for ZFS Linux kernel module"
+HOMEPAGE="https://github.com/openzfs/zfs"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3 linux-mod
+ EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+ inherit verify-sig
+
+ MY_P="${P/_rc/-rc}"
+ SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
+ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/sys-fs/zfs/${P}-patches.tar.xz"
+ SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )"
+ S="${WORKDIR}/${P%_rc?}"
+
+ if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+ fi
+fi
+
+LICENSE="BSD-2 CDDL MIT"
+# just libzfs soname major for now.
+# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered.
+# see libsoversion_check() below as well
+SLOT="0/5"
+IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite"
+
+DEPEND="
+ net-libs/libtirpc:=
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/libudev:=
+ dev-libs/openssl:0=
+ !minimal? ( ${PYTHON_DEPS} )
+ pam? ( sys-libs/pam )
+ python? (
+ virtual/python-cffi[${PYTHON_USEDEP}]
+ )
+"
+
+BDEPEND="virtual/awk
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ python? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ || (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+if [[ ${PV} != "9999" ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
+fi
+
+# awk is used for some scripts, completions, and the Dracut module
+RDEPEND="${DEPEND}
+ !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= )
+ !prefix? ( virtual/udev )
+ sys-fs/udev-init-scripts
+ virtual/awk
+ dist-kernel? ( virtual/dist-kernel:= )
+ rootfs? (
+ app-arch/cpio
+ app-misc/pax-utils
+ !<sys-kernel/genkernel-3.5.1.1
+ )
+ test-suite? (
+ app-shells/ksh
+ sys-apps/kmod[tools]
+ sys-apps/util-linux
+ sys-devel/bc
+ sys-block/parted
+ sys-fs/lsscsi
+ sys-fs/mdadm
+ sys-process/procps
+ )
+"
+
+# PDEPEND in this form is needed to trick portage suggest
+# enabling dist-kernel if only 1 package have it set, without suggesting to disable
+PDEPEND="dist-kernel? ( ~sys-fs/zfs-kmod-${PV}[dist-kernel] )"
+
+REQUIRED_USE="
+ !minimal? ( ${PYTHON_REQUIRED_USE} )
+ python? ( !minimal )
+ test-suite? ( !minimal )
+"
+
+RESTRICT="test"
+
+PATCHES=(
+ # bug #854333
+ "${FILESDIR}"/${PV}-r2-dracut-non-root.patch
+
+ "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch
+
+ # bug #857228
+ "${FILESDIR}"/${PV}-dracut-mount.patch
+
+ # bug #863212, bug #855182
+ "${WORKDIR}"/${P}-patches/
+)
+
+pkg_pretend() {
+ use rootfs || return 0
+
+ if has_version virtual/dist-kernel && ! use dist-kernel; then
+ ewarn "You have virtual/dist-kernel installed, but"
+ ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}"
+ ewarn "It's recommended to globally enable dist-kernel USE flag"
+ ewarn "to auto-trigger initrd rebuilds with kernel updates"
+ fi
+}
+
+pkg_setup() {
+ if use kernel_linux; then
+ linux-info_pkg_setup
+
+ if ! linux_config_exists; then
+ ewarn "Cannot check the linux kernel configuration."
+ else
+ if use test-suite; then
+ if linux_chkconfig_present BLK_DEV_LOOP; then
+ eerror "The ZFS test suite requires loop device support enabled."
+ eerror "Please enable it:"
+ eerror " CONFIG_BLK_DEV_LOOP=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Device Drivers --->"
+ eerror " Block devices --->"
+ eerror " [X] Loopback device support"
+ fi
+ fi
+ fi
+ fi
+}
+
+libsoversion_check() {
+ local bugurl libzfs_sover
+ bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages"
+
+ libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \
+ | grep -Eo '[0-9]+:[0-9]+:[0-9]+')"
+ libzfs_sover="${libzfs_sover%%:*}"
+
+ if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then
+ echo
+ eerror "BUG BUG BUG BUG BUG BUG BUG BUG"
+ eerror "ebuild subslot does not match libzfs soversion!"
+ eerror "libzfs soversion: ${libzfs_sover}"
+ eerror "ebuild value: $(ver_cut 2 ${SLOT})"
+ eerror "This is a bug in the ebuild, please use the following URL to report it"
+ eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot"
+ echo
+ # we want to abort for releases, but just print a warning for live ebuild
+ # to keep package installable
+ [[ ${PV} == "9999" ]] || die
+ fi
+}
+
+src_unpack() {
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc}
+ fi
+
+ default
+}
+
+src_prepare() {
+ default
+ libsoversion_check
+
+ # Run unconditionally (bug #792627)
+ eautoreconf
+
+ if [[ ${PV} != "9999" ]]; then
+ # Set revision number
+ sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
+ fi
+
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_prepare
+ popd >/dev/null || die
+ fi
+
+ # prevent errors showing up on zfs-mount stop, #647688
+ # openrc will unmount all filesystems anyway.
+ sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ use minimal || python_setup
+
+ # All the same issue:
+ # Segfaults w/ GCC 12 and 'zfs send'
+ # bug #856373
+ # https://github.com/openzfs/zfs/issues/13620
+ # https://github.com/openzfs/zfs/issues/13605
+ append-flags -fno-tree-vectorize
+
+ local myconf=(
+ --bindir="${EPREFIX}/bin"
+ --enable-shared
+ --enable-sysvinit
+ --localstatedir="${EPREFIX}/var"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=user
+ --with-dracutdir="${EPREFIX}/usr/lib/dracut"
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ --with-udevdir="$(get_udevdir)"
+ --with-pamconfigsdir="${EPREFIX}/unwanted_files"
+ --with-pammoduledir="$(getpam_mod_dir)"
+ --with-systemdunitdir="$(systemd_get_systemunitdir)"
+ --with-systemdpresetdir="$(systemd_get_systempresetdir)"
+ --with-vendor=gentoo
+ # Building zfs-mount-generator.c on musl breaks as strndupa
+ # isn't available. But systemd doesn't support musl anyway, so
+ # just disable building it.
+ $(use_enable !elibc_musl systemd)
+ $(use_enable debug)
+ $(use_enable nls)
+ $(use_enable pam)
+ $(use_enable python pyzfs)
+ --disable-static
+ $(usex minimal --without-python --with-python="${EPYTHON}")
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ default
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+}
+
+src_install() {
+ default
+
+ gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool
+
+ use pam && { rm -rv "${ED}/unwanted_files" || die ; }
+
+ use test-suite || { rm -r "${ED}"/usr/share/zfs/{test-runner,zfs-tests,runfiles,*sh} || die ; }
+
+ find "${ED}" -name '*.la' -delete || die
+
+ dobashcomp contrib/bash_completion.d/zfs
+ bashcomp_alias zfs zpool
+
+ # strip executable bit from conf.d file
+ fperms 0644 /etc/conf.d/zfs
+
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_install
+ popd >/dev/null || die
+ fi
+
+ # enforce best available python implementation
+ use minimal || python_fix_shebang "${ED}/bin"
+}
+
+pkg_postinst() {
+ udev_reload
+
+ # we always need userspace utils in sync with zfs-kmod
+ # so force initrd update for userspace as well, to avoid
+ # situation when zfs-kmod trigger initrd rebuild before
+ # userspace component is rebuilt
+ # KV_* variables are provided by linux-info.eclass
+ if [[ -z ${ROOT} ]] && use dist-kernel; then
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ fi
+
+ if use rootfs; then
+ if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then
+ elog "Root on zfs requires an initramfs to boot"
+ elog "The following packages provide one and are tested on a regular basis:"
+ elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )"
+ elog " sys-kernel/genkernel"
+ fi
+ fi
+
+ if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
+ einfo "Adding ${P} to the module database to ensure that the"
+ einfo "kernel modules and userland utilities stay in sync."
+ update_moduledb
+ fi
+
+ if systemd_is_booted || has_version sys-apps/systemd; then
+ einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset"
+ einfo "for default zfs systemd service configuration"
+ else
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \
+ einfo "You should add zfs-import to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \
+ einfo "You should add zfs-load-key to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \
+ einfo "You should add zfs-mount to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \
+ einfo "You should add zfs-share to the default runlevel."
+ [[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \
+ einfo "You should add zfs-zed to the default runlevel."
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+
+ if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
+ remove_moduledb
+ fi
+}
diff --git a/sys-fs/zfs/zfs-2.1.4.ebuild b/sys-fs/zfs/zfs-2.1.5.ebuild
index 7d1292a10c0..6e0b78a9c12 100644
--- a/sys-fs/zfs/zfs-2.1.4.ebuild
+++ b/sys-fs/zfs/zfs-2.1.5.ebuild
@@ -4,7 +4,7 @@
EAPI=7
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8,9,10} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript
@@ -23,9 +23,8 @@ else
SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )"
S="${WORKDIR}/${P%_rc?}"
- # 2.1.3 unkeyworded briefly for some testing
if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="amd64 arm64 ppc64 ~riscv"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
fi
fi
@@ -252,6 +251,8 @@ src_install() {
}
pkg_postinst() {
+ udev_reload
+
# we always need userspace utils in sync with zfs-kmod
# so force initrd update for userspace as well, to avoid
# situation when zfs-kmod trigger initrd rebuild before
@@ -294,6 +295,8 @@ pkg_postinst() {
}
pkg_postrm() {
+ udev_reload
+
if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
remove_moduledb
fi
diff --git a/sys-fs/zfs/zfs-9999.ebuild b/sys-fs/zfs/zfs-9999.ebuild
index cd2bdc26966..eb60343f89b 100644
--- a/sys-fs/zfs/zfs-9999.ebuild
+++ b/sys-fs/zfs/zfs-9999.ebuild
@@ -4,7 +4,7 @@
EAPI=7
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8,9,10} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript
@@ -100,6 +100,10 @@ REQUIRED_USE="
RESTRICT="test"
+PATCHES=(
+ "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch
+)
+
pkg_pretend() {
use rootfs || return 0
@@ -183,6 +187,13 @@ src_configure() {
use custom-cflags || strip-flags
use minimal || python_setup
+ # All the same issue:
+ # Segfaults w/ GCC 12 and 'zfs send'
+ # bug #856373
+ # https://github.com/openzfs/zfs/issues/13620
+ # https://github.com/openzfs/zfs/issues/13605
+ append-flags -fno-tree-vectorize
+
local myconf=(
--bindir="${EPREFIX}/bin"
--enable-shared
@@ -251,6 +262,8 @@ src_install() {
}
pkg_postinst() {
+ udev_reload
+
# we always need userspace utils in sync with zfs-kmod
# so force initrd update for userspace as well, to avoid
# situation when zfs-kmod trigger initrd rebuild before
@@ -293,6 +306,8 @@ pkg_postinst() {
}
pkg_postrm() {
+ udev_reload
+
if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
remove_moduledb
fi