python-pyfuse3: update to 3.4.2; add test.sh
authorAlexandru Ardelean <redacted>
Tue, 14 Apr 2026 05:08:40 +0000 (05:08 +0000)
committerAlexandru Ardelean <redacted>
Thu, 16 Apr 2026 04:08:59 +0000 (07:08 +0300)
Bump version 3.4.1 -> 3.4.2.

Changes since 3.4.1:
- Remove the deprecated pyfuse3_asyncio module (long-renamed to
  pyfuse3.asyncio)
- Fix a test failure in test_examples.py
- Modernize the build process and add more type annotations

Signed-off-by: Alexandru Ardelean <redacted>
lang/python/python-pyfuse3/Makefile
lang/python/python-pyfuse3/test.sh [new file with mode: 0644]

index 555c7483e49044773b2d15ecc3e7f05197c5369b..f1456e9a9f04e5a6ade111cdad802c7974aac159 100644 (file)
@@ -8,16 +8,18 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pyfuse3
-PKG_VERSION:=3.4.1
+PKG_VERSION:=3.4.2
 PKG_RELEASE:=1
 
 PYPI_NAME:=pyfuse3
-PKG_HASH:=602f9c5f944bcdbd5e7f526c0e7f44af41970abedabc72d94ac16563e1b49209
+PKG_HASH:=0a59031969c4ba51a5ec1b67f3c5c24f641a6a3f8119a86edad56debcb9084d9
 
 PKG_LICENSE:=LGPL-2.0-or-later
 PKG_LICENSE_FILES:=LICENSE
 PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me>
 
+PKG_BUILD_DEPENDS:=python-cython/host
+
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
@@ -31,6 +33,7 @@ define Package/python3-pyfuse3
   DEPENDS:= \
     +python3-light \
     +python3-asyncio \
+    +python3-urllib \
     +python3-logging \
     +python3-trio \
     +libfuse3
diff --git a/lang/python/python-pyfuse3/test.sh b/lang/python/python-pyfuse3/test.sh
new file mode 100644 (file)
index 0000000..5481fe1
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+[ "$1" = python3-pyfuse3 ] || exit 0
+
+python3 - << 'EOF'
+import pyfuse3
+
+# Verify key attributes are accessible
+assert hasattr(pyfuse3, "Operations")
+assert hasattr(pyfuse3, "EntryAttributes")
+assert hasattr(pyfuse3, "FUSEError")
+assert hasattr(pyfuse3, "ROOT_INODE")
+assert pyfuse3.ROOT_INODE == 1
+
+# Verify EntryAttributes can be instantiated
+attrs = pyfuse3.EntryAttributes()
+assert attrs is not None
+
+# Verify FUSEError can be raised
+import errno
+try:
+    raise pyfuse3.FUSEError(errno.ENOENT)
+except pyfuse3.FUSEError as e:
+    assert e.errno == errno.ENOENT
+
+from pyfuse3 import Operations, EntryAttributes, FUSEError, FileInfo, StatvfsData
+
+# Verify key constants
+assert isinstance(pyfuse3.ROOT_INODE, int), "ROOT_INODE should be an int"
+
+# Verify exception hierarchy
+assert issubclass(FUSEError, Exception)
+e = FUSEError(2)  # ENOENT
+assert e.errno == 2
+
+# Verify EntryAttributes can be instantiated and fields set
+attr = EntryAttributes()
+attr.st_ino = 1
+attr.st_size = 0
+attr.st_mode = 0o755 | 0o040000  # S_IFDIR
+assert attr.st_ino == 1
+
+# Verify a minimal Operations subclass can be defined
+class MinimalFS(Operations):
+    pass
+
+fs = MinimalFS()
+assert isinstance(fs, Operations)
+
+print("python3-pyfuse3 OK")
+EOF
git clone https://git.99rst.org/PROJECT