fix(appimage): launch external processes with bundled linker

This ensures that external processes (including our updater and
Minecraft itself) maintain the same compatibility guarantees as the main
binary

Signed-off-by: Seth Flynn <getchoo@tuta.io>
This commit is contained in:
Seth Flynn
2025-12-04 09:57:01 -05:00
parent 92738feeba
commit c305ed4506
6 changed files with 105 additions and 32 deletions
+11
View File
@@ -4,6 +4,7 @@
* Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net>
* Copyright (C) 2022 TheKodeToad <TheKodeToad@proton.me>
* Copyright (C) 2022 Rachel Powers <508861+Ryex@users.noreply.github.com>
* Copyright (C) 2025 Seth Flynn <getchoo@tuta.io>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -42,11 +43,13 @@
#include <system_error>
#include <QCoreApplication>
#include <QDir>
#include <QFlags>
#include <QLocalServer>
#include <QObject>
#include <QPair>
#include <QProcess>
#include <QThread>
namespace FS {
@@ -333,6 +336,14 @@ QString pathTruncate(const QString& path, int depth);
*/
QString ResolveExecutable(QString path);
/**
* Create a QProcess instance
*
* This wrapper is currently only required for wrapping binaries called in
* self-contained AppImages (like those created by `go-appimage`)
*/
std::unique_ptr<QProcess> createProcess(const QString& program, const QStringList& arguments);
/**
* Normalize path
*