Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace static-tools runtime with static reference implementation runtime #326

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Korne127
Copy link

This pull request replaces the static-tools runtime that's currently used for go-appimage with the new static runtime (https://github.com/AppImage/type2-runtime) that's now the official reference implementation runtime.
This ensures consistency with AppImages created with other AppImage creation tools and removes the dependency on the (now redundant) static-tools runtime.

It also improves the code calculating the runtime path by removing unnecessary (outdated) instructions.

The static-tools runtime that had previously been used for go-appimage has been replaced with the new static runtime that's now the official reference implementation runtime.
This ensures consistency with AppImages created with other AppImage creation tools and removes a dependency on redundant code.

Additionally, the code calculating the runtime path has been improved by removing unnecessary (outdated) instructions.
Copy link

Build for testing:
artifacts
Use at your own risk.

@probonopd
Copy link
Owner

probonopd commented Jan 18, 2025

Thanks @Korne127.
I understand the intention of this PR, however I want to keep the build system in my private projects "lean and mean" (no Docker, no complications). So at least for some time, I'd rather keep the sources in sync rather than outright replace the whole runtime.

@Korne127
Copy link
Author

Genuine question: What's less "lean and mean" about this? I'm curious as this pull request just replaces links without complicating the build system.

And related to that, what are the differences of the static-tools runtime and the reference one? I would have thought that the static-tools one is a predecessor or variant, and using the same reference runtime across projects would simplify everything (not having to maintain the same thing in two different repositories, AppImages guaranteed to behave consistently, etc.).

PS: Could you please take a look at AppImage/docs.appimage.org#102?

@probonopd
Copy link
Owner

probonopd commented Jan 19, 2025

Genuine question: What's less "lean and mean" about this?

https://github.com/AppImage/type2-runtime now contains Docker and I don't understand all of it. So in my own personal projects in https://github.com/probonopd I want to use something simpler, something I fully understand.

And related to that, what are the differences of the static-tools runtime and the reference one?

type2-runtime started out as the codebase from https://github.com/probonopd/static-tools but has been updated since. So it's a matter of backporting the changes (ideally, making the source code in static-tools identical to the one in type2-runtime).

@Korne127
Copy link
Author

But wouldn't you agree that it would be optimal to… just have one unified codebase which can be used for everything and not two repositories that basically do the exact same but every feature has to be ported between those two?

I've looked into what you mean, and it seems like Docker is used to build the project, which is… kind of weird, considering the GitHub CI literally is a Docker container in which you access the shell, so it runs Docker within Docker (and the same would be achievable without a custom docker command).
But nevertheless, this is just used to build the project on a standardised system (basically a new Linux machine) so that building it will always be the same and not dependent on some system settings, and doesn't change anything about the source code or complicate it.

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.

2 participants