Skip to content

Upgrade PupNet to 1.9.1 and switch to FUSE3-based AppImage runtime#1686

Open
NeuralFault wants to merge 4 commits into
LykosAI:mainfrom
NeuralFault:pupnet-1.9.1
Open

Upgrade PupNet to 1.9.1 and switch to FUSE3-based AppImage runtime#1686
NeuralFault wants to merge 4 commits into
LykosAI:mainfrom
NeuralFault:pupnet-1.9.1

Conversation

@NeuralFault

Copy link
Copy Markdown
Contributor

Closes #1682

What changed

Upgraded the Linux AppImage build from PupNet 1.8.0 to 1.9.1. PupNet 1.9+
no longer embeds appimagetool — it's now downloaded as a separate external
dependency. In exchange, the modern appimagetool fetches an up-to-date
type2-runtime that is statically linked against libfuse3.

Why

The old build pipeline embedded a FUSE2-based runtime that required
libfuse.so.2 on end-user systems. Modern distros (Ubuntu 24.04+, Fedora 40+)
are shipping only FUSE3, so users had to manually install libfuse2 to run the
AppImage.

The new type2-runtime:

  • Is statically linked against libfuse3 — no shared library dependency
  • Accepts either fusermount (libfuse2) or fusermount3 (fuse3) at runtime
  • Falls back to --appimage-extract-and-run if neither is available

What end users need

Most desktop users need nothing — fuse3 is pre-installed on many modern distros.
On minimal systems: sudo apt install fuse3 (or equivalent).

Files changed

File Change
.github/workflows/release.yml PupNet 1.9.1, add appimagetool download, libfuse2 → fuse3
CONTRIBUTING.md Update Linux build prerequisites
StabilityMatrix.Avalonia.pupnet.conf Format 1.4.0 → 1.9.1, add AppImageRuntimePath
Jenkinsfile Document new Jenkins agent prerequisites

…tic runtime

- Bump PupNet from 1.8.0 to 1.9.1 (targets .NET 8 still)
- Add external appimagetool-x86_64.AppImage to build pipeline
  (PupNet 1.9+ no longer embeds it)
- Switch build-host FUSE dependency from libfuse2 to fuse3
  (fusermount3 satisfies appimagetool's static runtime)
- Upgrade pupnet.conf format from 1.4.0 to 1.9.1; add AppImageRuntimePath
- Output AppImage now embeds a statically-linked FUSE3 type2 runtime,
  eliminating libfuse.so.2 dependency on end-user systems

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the PupNet Deploy configuration to version 1.9.1, adds new configuration fields, and documents the prerequisites for publishing Linux builds in both CONTRIBUTING.md and the Jenkinsfile. The reviewer identified that appimagetool should be downloaded directly as /usr/local/bin/appimagetool rather than with the architecture suffix, as PupNet 1.9+ expects it under that exact name in the system PATH. Correspondingly, the prerequisite comments in the Jenkinsfile should be updated. Lastly, the reviewer recommended adding the -c Release flag to the pupnet command in the Jenkinsfile to ensure optimized release builds are generated.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread CONTRIBUTING.md Outdated
Comment thread Jenkinsfile Outdated
Comment thread Jenkinsfile
NeuralFault and others added 3 commits July 13, 2026 22:03
rename appimagetool after download and move

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
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.

dlopen(): error loading libfuse.so.2

1 participant