diff options
| author | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-05-01 10:09:39 -0500 |
|---|---|---|
| committer | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-05-01 10:09:39 -0500 |
| commit | af43100e29859adbf5dcb6ee90cd8f981439b859 (patch) | |
| tree | 6d51db8b4f0b77cf4443cb2f49c4e5a7c354d7b6 /libs | |
| parent | 5d1fb2964a172e3444f18ca2ea823ee36784e699 (diff) | |
Remove AppImage build target and runtime references
We ship via portable tarball directory + .bin self-extracting installer
only; the AppImage path was unmaintained and pulling in linuxdeploy
tooling for a format we no longer publish.
Build:
- build.sh: drop appimage/all-includes-appimage modes (now: tarball,
installer, all=both, shell). Output listing tracks the directory.
- docker/Dockerfile: drop BUILD_APPIMAGE arg and the linuxdeploy
download/extract block.
- docker/build-inner.sh: drop build_appimage() (~120 lines), AppImage
arm of the BUILD_MODE switch, *.AppImage summary listing.
- docker/AppRun.sh: deleted.
- .gitignore: drop *.AppImage / squashfs-root / *.flatpak entries.
Runtime: no longer key off APPIMAGE/APPDIR env vars or AppRun-set
state. The fluorine-manager launcher script already exports
FLUORINE_ORIG_*, MO2_BASE_DIR, MO2_PLUGINS_DIR, MO2_LIBS_DIR,
MO2_PYTHON_DIR for the same purpose, so simplify:
- envshortcut: appImageOrBinary -> launcherOrBinary; bundledFluorineIcon
no longer probes APPDIR.
- nxmhandler: drop APPIMAGE-based wrapper path; use applicationFilePath.
- protonlauncher: rename cleanAppImageEnv -> cleanFluorineEnv, drop
APPIMAGE/APPDIR/OWD/ARGV0/APPIMAGE_ORIGINAL_EXEC/DESKTOPINTEGRATION
removals and .mount_Fluori pattern strip.
- prefixsetuprunner: same env-cleaning trim.
- utility, library.h, proxypython, mainwindow, moapplication, appconfig:
comment cleanup pointing at the launcher instead of AppRun.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/archive/src/library.h | 2 | ||||
| -rw-r--r-- | libs/plugin_python/src/proxy/proxypython.cpp | 13 | ||||
| -rw-r--r-- | libs/uibase/src/utility.cpp | 11 |
3 files changed, 14 insertions, 12 deletions
diff --git a/libs/archive/src/library.h b/libs/archive/src/library.h index a0656f2..e182f08 100644 --- a/libs/archive/src/library.h +++ b/libs/archive/src/library.h @@ -94,7 +94,7 @@ private: exeDir = exeDir.substr(0, slash); } - // AppImage: check MO2_LIBS_DIR env var first (writable dir next to AppImage) + // Honor MO2_LIBS_DIR (set by the fluorine-manager launcher) first. std::string envLibs; const char* envVal = std::getenv("MO2_LIBS_DIR"); if (envVal && envVal[0] != '\0') { diff --git a/libs/plugin_python/src/proxy/proxypython.cpp b/libs/plugin_python/src/proxy/proxypython.cpp index 6e4acad..56d9dae 100644 --- a/libs/plugin_python/src/proxy/proxypython.cpp +++ b/libs/plugin_python/src/proxy/proxypython.cpp @@ -167,9 +167,10 @@ bool ProxyPython::init(IOrganizer* moInfo) std::filesystem::path{IOrganizer::getPluginDataPath().toStdWString()}}; m_Runner->initialize(paths); #else - // On Linux, rely on the unpacked stdlib from PYTHONHOME (AppRun sets - // MO2_PYTHON_DIR/PYTHONHOME). Do not prepend pythoncore.zip here: - // forcing zipimport can fail when zlib is unavailable in embedded mode. + // On Linux, rely on the unpacked stdlib from PYTHONHOME (the + // fluorine-manager launcher sets MO2_PYTHON_DIR/PYTHONHOME). Do not + // prepend pythoncore.zip here: forcing zipimport can fail when zlib + // is unavailable in embedded mode. std::vector<fs::path> paths{ libpath, std::filesystem::path{IOrganizer::getPluginDataPath().toStdWString()}}; @@ -184,9 +185,9 @@ bool ProxyPython::init(IOrganizer* moInfo) } } - // Allow portable/AppImage builds to ship Python packages next to the app. - // MO2_PYTHON_DIR (set by AppRun) points to the writable python/ dir - // next to the AppImage; fall back to <exe_dir>/python. + // Allow portable builds to ship Python packages next to the app. + // MO2_PYTHON_DIR (set by the fluorine-manager launcher) points to the + // writable python/ dir; fall back to <exe_dir>/python. fs::path pythonDir; const char* envPy = std::getenv("MO2_PYTHON_DIR"); if (envPy && envPy[0] != '\0') { diff --git a/libs/uibase/src/utility.cpp b/libs/uibase/src/utility.cpp index 40774ae..4304561 100644 --- a/libs/uibase/src/utility.cpp +++ b/libs/uibase/src/utility.cpp @@ -396,16 +396,16 @@ namespace shell } } - // Launch an external host process with AppImage environment variables - // cleaned up, so tools like xdg-open/kde-open use the host's own - // libraries and Qt plugins instead of the bundled ones. + // Launch an external host process with bundled-runtime environment + // variables cleaned up, so tools like xdg-open/kde-open use the host's + // own libraries and Qt plugins instead of the ones we ship. static bool startDetachedHostProcess(const QString& program, const QStringList& args) { QProcess proc; auto env = QProcessEnvironment::systemEnvironment(); - // Restore original LD_LIBRARY_PATH (saved by AppRun.sh) + // Restore original LD_LIBRARY_PATH (saved by the fluorine-manager launcher). if (env.contains(QStringLiteral("FLUORINE_ORIG_LD_LIBRARY_PATH"))) { const auto orig = env.value(QStringLiteral("FLUORINE_ORIG_LD_LIBRARY_PATH")); if (orig.isEmpty()) @@ -414,7 +414,8 @@ namespace shell env.insert(QStringLiteral("LD_LIBRARY_PATH"), orig); } - // Remove AppImage-specific Qt/path variables that would confuse host apps + // Remove Qt/path variables pointing at our bundled runtime that would + // confuse host apps. env.remove(QStringLiteral("QT_PLUGIN_PATH")); env.remove(QStringLiteral("QT_QPA_PLATFORM_PLUGIN_PATH")); env.remove(QStringLiteral("QTWEBENGINEPROCESS_PATH")); |
