Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Ship a minimal mono 5.10 runtime in the AppImage packages. #16316
This PR makes our Linux packages properly stand-alone by shipping a minimal mono runtime inside the AppImages.
This is a significant win, even if we ignore the AppImage philosophy, because it removes the resriction of having to support mono 4.2 and 4.6. These aren't going away any time soon, and hold us back from the modern .NET ecosystem which requires mono >= 5.4 (#15954).
The first commit adds a new check that will fail if the runtime dependencies change. We only ship the parts of the core runtime that we actually use, so we may accidentally introduce a new dependency in the future that works fine when compiled and run from source, but crashes when players try to run the packaged builds.
The second commit adjusts the AppImage packaging to pull in the changes from OpenRA/AppImageSupport@b21c85b and OpenRA/AppImageSupport@bbfb0f9. These use the runtime files provided by Microsoft for the
The third commit fixes a facepalm I discovered while working on this PR, making sure that each platform's build starts from a clean slate and fixing a build failure when the host doesn't have lua installed.
Test packages are available from https://github.com/pchote/OpenRA/releases/tag/pkgtest-20190316.