Skip to content

Prefer libfuse3 for pfsfuse with libfuse fallback compatibility#58

Draft
Copilot wants to merge 3 commits into
masterfrom
copilot/replace-fuse-with-fuse3
Draft

Prefer libfuse3 for pfsfuse with libfuse fallback compatibility#58
Copilot wants to merge 3 commits into
masterfrom
copilot/replace-fuse-with-fuse3

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jun 3, 2026

pfsfuse currently depends on fuse in Meson, which breaks builds in environments standardizing on fuse3 (e.g., nixpkgs). This change updates dependency resolution and adapter compatibility so pfsfuse builds against fuse3 while retaining support for legacy fuse.

  • Build dependency resolution

    • Prefer dependency('fuse3') on non-Windows builds.
    • Fall back to dependency('fuse') when fuse3 is unavailable.
    • Propagate a compile-time switch to select the correct API path.
  • FUSE2/FUSE3 adapter compatibility

    • Add conditional header/version selection:
      • fuse3: FUSE_USE_VERSION 30, <fuse3/fuse.h>
      • fallback: existing fuse2 include/version path
    • Update operation callback signatures where FUSE3 differs (init, readdir, getattr, rename, chmod, utimens).
    • Wire truncate op by API version (.truncate for FUSE3, .ftruncate for FUSE2).
    • Handle FUSE3 rename flags safely by rejecting unsupported non-zero flags.
  • CI and docs alignment

    • Update Ubuntu CI dependency install to fuse3/libfuse3-dev.
    • Update README Linux guidance to recommend fuse3 with fuse fallback on older systems.
libfuse_dep = dependency('fuse3', required: false)
if not libfuse_dep.found()
  libfuse_dep = dependency('fuse')
endif

Copilot AI linked an issue Jun 3, 2026 that may be closed by this pull request
1 task
Copilot AI changed the title [WIP] Replace fuse with fuse3 in pfsshell Prefer libfuse3 for pfsfuse with libfuse fallback compatibility Jun 3, 2026
Copilot finished work on behalf of AKuHAK June 3, 2026 23:50
Copilot AI requested a review from AKuHAK June 3, 2026 23:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ISSUE]: replace fuse with fuse3

2 participants