diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/Manifest
index 1729efcc16..819477c5c3 100644
--- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/Manifest
+++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/Manifest
@@ -1,7 +1,5 @@
DIST fuse-2.9.9.tar.gz 1813177 BLAKE2B 9e9141380bda46eb0bcce325c6fd293fe3844fe884a4952bb38d4b89dc48b728ffcc891038b3a7a861f05acfacce9dd7bb0e11d600609f3ad0ab278ccbe98847 SHA512 3d82fafd04f2924299bb09d2bb144935fa004a43fb9a6568e2e1cc5a60fded2efa1711029a0d7f12b3e6e4501f7217f2ee3545646d89da8dece083cb390f23e2
DIST fuse-3.16.2.tar.gz 14165836 BLAKE2B 04f0037f924ef7b7cc90cb4c26afd1e942da69efebd93f3114774f2101550729379a0256ba190d7c99249fbce4ead5902133c01b29d8d75f41777d148540f521 SHA512 3e8889863cd67dada67271f095f694dc9e5aaf2561fd1e2285aee95b5a54e692bb195ab8fce57fc2bdf08d0ea17b6d56ca4967b4e4371d639d6133907b2370d3
-DIST fuse-3.17.1.tar.gz 4793172 BLAKE2B f7aada0cd16454bd6fbd2af05647bb9b06c03f76cb4b04ea30fc3ff874e309eaa123e9785f7fb59b687d9b5cbe5953566b55892811b2d2566d0712367b6180e7 SHA512 ce2de14b074feae8257f82d738606a65a3330c109ed4c3c014df39fefe4eb3d32f7e2a388459c059b6a7f0653794312fb5842a273ce7bee6c1e01b1a5e7fd0bc
-DIST fuse-3.17.2.tar.gz 5627028 BLAKE2B b3df38540720d3519fa8499ba09fbdb33e9871acd239cce888c596527072ab2782389f242bbb974cf82ac2b98385bea39d3c360c035f32aa996a08a22a5a51ad SHA512 fa3bec4b84ce26cd6a1679d669565f55faabf32ab59f406f59e7046e80302d788ed9cc0e895f66163e031a77a46717c4bbc1327ddc4735a8ee4700239ba1e1be
-DIST fuse-3.17.3.tar.gz 5651401 BLAKE2B 39e0b20223c4c518308e163498fbb4549ff1af539c9216b4416611d799240185da2c7834b1bbcab7a30b2f1020f3f72699031a0fdfab8b18b56d2f88082d0d2e SHA512 617a7aa4df1027929ca7c1af973d3525a05498b04872c5aea0801b0391e4f3fc97320115bbc7b2720de856e6a097cb22eeab873bf5689859d024121bf590c90e
DIST fuse-3.17.4.tar.gz 7307414 BLAKE2B eb9dfd5c446a35f7ef0b6b58c52fe22d306782f5a8b56dc54b00829aa8a59700bd2b03755cc58221d154b88cbdb3da59913700b3d7efa67a586bfaa8fef00e9d SHA512 5451b374ceadb4cb5a8f0c396f1111932ec63984b80dfad7a76258c026b4e8e5ab4a563bb4a9e272d7fa62a5f452113885d4c3ea080a9f56b6aeb85d50c01010
+DIST fuse-3.18.1.tar.gz 8350400 BLAKE2B b0a38794b8eb932f7b23314afdaeacbdd302e9f9037794f5dceb87b22f19de8d125ec0112ee28751b94063324c872e03c26e3128c6cd817858245f7df5acd7ef SHA512 02a6ed591e3a634893ab9a621ccc3b745abda06c5da5a4f2a7cc5a1740ddf8199c841f987bcbc8958fc134c2d773055a06cf25aeb6ef55204a4598b99371cb0b
DIST iconv.m4.bz2 3057 BLAKE2B 9d8f7637d87bfcea1b60f3ea11e162aecf391b3f4579a3b85afb01735f56bfbae363a7e781279f3b2bed0d1dd3336f7d0678d3b1d59004824d7d0ca848dceb6e SHA512 9899368b8acc06e216a7a548b83a894f780e152a02612cd52af02b5c3f2ff38e2c36e77bda300587f81c3d74c90addec8066885216fa0e74f3f3280a383d2b55
diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-2.9.9-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-2.9.9-r2.ebuild
index 8cdc8aa6b1..f9fa7f73f4 100644
--- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-2.9.9-r2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-2.9.9-r2.ebuild
@@ -14,7 +14,7 @@ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/iconv.m4.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="examples static-libs"
BDEPEND="sys-devel/gettext
diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.2.ebuild
deleted file mode 100644
index f1c8e2544f..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.2.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit flag-o-matic meson-multilib udev python-any-r1
-
-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"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="3/4"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+suid test"
-RESTRICT="test"
-PROPERTIES="test_privileged"
-
-BDEPEND="
- virtual/pkgconfig
- test? (
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
- $(python_gen_any_dep 'dev-python/looseversion[${PYTHON_USEDEP}]')
- )
-"
-RDEPEND=">=sys-fs/fuse-common-3.3.0-r1"
-
-DOCS=( AUTHORS ChangeLog.rst README.md doc/README.NFS doc/kernel.txt )
-
-python_check_deps() {
- python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" &&
- python_has_version "dev-python/looseversion[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
- # bug #853058
- filter-lto
-
- local emesonargs=(
- $(meson_use test examples)
- $(meson_use test tests)
- -Duseroot=false
- -Dinitscriptdir=
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- )
- meson_src_configure
-}
-
-src_test() {
- # For tests to pass:
- # sandbox must be disabled.
- # Write access to /dev/cuse* and /dev/fuse is required.
- # root must be a member of the portage group; CAP_DAC_OVERRIDE is dropped.
- # TMPDIR must be short for unix socket paths.
- local -x TMPDIR=/tmp
- multilib-minimal_src_test
-}
-
-multilib_src_test() {
- epytest
-}
-
-multilib_src_install_all() {
- # Installed via fuse-common
- rm -r "${ED}"{/etc,$(get_udevdir)} || die
-
- # useroot=false prevents the build system from doing this.
- use suid && fperms u+s /usr/bin/fusermount3
-
- # manually install man pages to respect compression
- rm -r "${ED}"/usr/share/man || die
- doman doc/{fusermount3.1,mount.fuse3.8}
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.3.ebuild
deleted file mode 100644
index 353fc68f5c..0000000000
--- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.3.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{11..13} )
-inherit flag-o-matic meson-multilib udev python-any-r1
-
-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"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="3/4"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+suid test"
-RESTRICT="test"
-PROPERTIES="test_privileged"
-
-BDEPEND="
- virtual/pkgconfig
- test? (
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
- $(python_gen_any_dep 'dev-python/looseversion[${PYTHON_USEDEP}]')
- )
-"
-RDEPEND=">=sys-fs/fuse-common-3.3.0-r1"
-
-DOCS=( AUTHORS ChangeLog.rst README.md doc/README.NFS doc/kernel.txt )
-
-python_check_deps() {
- python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" &&
- python_has_version "dev-python/looseversion[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
- # bug #853058
- filter-lto
-
- local emesonargs=(
- $(meson_use test examples)
- $(meson_use test tests)
- -Duseroot=false
- -Dinitscriptdir=
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- )
- meson_src_configure
-}
-
-src_test() {
- # For tests to pass:
- # sandbox must be disabled.
- # Write access to /dev/cuse* and /dev/fuse is required.
- # root must be a member of the portage group; CAP_DAC_OVERRIDE is dropped.
- # TMPDIR must be short for unix socket paths.
- local -x TMPDIR=/tmp
- multilib-minimal_src_test
-}
-
-multilib_src_test() {
- epytest
-}
-
-multilib_src_install_all() {
- # Installed via fuse-common
- rm -r "${ED}"{/etc,$(get_udevdir)} || die
-
- # useroot=false prevents the build system from doing this.
- use suid && fperms u+s /usr/bin/fusermount3
-
- # manually install man pages to respect compression
- rm -r "${ED}"/usr/share/man || die
- doman doc/{fusermount3.1,mount.fuse3.8}
-}
diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.18.1.ebuild
similarity index 65%
rename from sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.1-r1.ebuild
rename to sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.18.1.ebuild
index af2f7406cb..7d291e3a4e 100644
--- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.17.1-r1.ebuild
+++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/fuse-3.18.1.ebuild
@@ -3,8 +3,8 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..13} )
-inherit flag-o-matic meson-multilib udev python-any-r1
+PYTHON_COMPAT=( python3_{11..14} )
+inherit flag-o-matic meson-multilib toolchain-funcs udev python-any-r1
DESCRIPTION="An interface for filesystems implemented in userspace"
HOMEPAGE="https://github.com/libfuse/libfuse"
@@ -13,19 +13,30 @@ SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="3/4"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="+suid test"
+IUSE="io-uring +suid systemtap test"
RESTRICT="test"
PROPERTIES="test_privileged"
+DEPEND="
+ io-uring? (
+ sys-libs/liburing:=[${MULTILIB_USEDEP}]
+ sys-process/numactl
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ >=sys-fs/fuse-common-3.3.0-r1
+"
BDEPEND="
virtual/pkgconfig
test? (
${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
- $(python_gen_any_dep 'dev-python/looseversion[${PYTHON_USEDEP}]')
+ $(python_gen_any_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/looseversion[${PYTHON_USEDEP}]
+ ')
)
"
-RDEPEND=">=sys-fs/fuse-common-3.3.0-r1"
DOCS=( AUTHORS ChangeLog.rst README.md doc/README.NFS doc/kernel.txt )
@@ -40,11 +51,13 @@ pkg_setup() {
multilib_src_configure() {
# bug #853058
- filter-lto
+ tc-is-clang && filter-lto
local emesonargs=(
$(meson_use test examples)
$(meson_use test tests)
+ $(meson_use systemtap enable-usdt)
+ $(meson_use io-uring enable-io-uring)
-Duseroot=false
-Dinitscriptdir=
-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
@@ -54,16 +67,18 @@ multilib_src_configure() {
src_test() {
# For tests to pass:
- # sandbox must be disabled.
- # Write access to /dev/cuse* and /dev/fuse is required.
- # root must be a member of the portage group; CAP_DAC_OVERRIDE is dropped.
- # TMPDIR must be short for unix socket paths.
+ # - sandbox must be disabled.
+ # - Write access to /dev/cuse* and /dev/fuse is required.
+ # - root must be a member of the portage group; CAP_DAC_OVERRIDE is dropped.
+ # - TMPDIR must be short for unix socket paths.
local -x TMPDIR=/tmp
+ local -x SANDBOX_ON=0
multilib-minimal_src_test
}
multilib_src_test() {
- epytest
+ # Explicit test/ needed to pick up pytest.ini
+ epytest test/
}
multilib_src_install_all() {
diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/metadata.xml
index 1bd33fd413..f7a4fa43f9 100644
--- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse/metadata.xml
+++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse/metadata.xml
@@ -4,6 +4,9 @@
base-system@gentoo.org
+
cpe:/a:fuse:fuse
libfuse/libfuse