-
-
Notifications
You must be signed in to change notification settings - Fork 10
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
Add AppImage packaging for Yakut #87
Comments
I guess we could give it a try. How long does it take for an AppImage to launch? Doesn't it involve unpacking the resources beforehand? If yes, does it add any noticeable latency when invoking the command? If the changes required for this are limited to just a new CI workflow, we can accept that easily. Otherwise we may need to weigh pros and cons. |
Thanks for considering it. I think inclusion is as you say; a new CI workflow. I'll gather some performance observations and comparison next week so we can weigh it up more usefully. |
Some initial data from my Ubuntu 20.04 laptop (Intel® i7-10850H)
So the initial load is roughly just over double. But my entry point script into the AppImage has an option to drop you into a shell, from where you can I'd guess that the latency regardless of being 'inside' or not is due to decompression from the SquashFS file system. There might be options to not compress the AppImage, and I can investigate those also if you think this load time is unacceptable. |
I don't understand the numbers. Are you saying that running |
Oh my mistake - I've got my labels the wrong way round. So the AppImage takes just over twice as long to load. For clarity, here is the correctly labelled result:
|
Okay. I think this is not entirely unreasonable, and those who care may always resort to the proper installation instead. Considering that the maintenance cost is negligible (just a single CI workflow), I think we should proceed. |
Hello! I've been looking at ways of reducing the complexity of the install of Yakut and reducing the variance in the combination of Python/Yakut/dependencies for users within my organization. I've been playing with AppImage packaging and have been bundling a specific Python version, Yakut, deps, and our DSDL so that installing and being able to interact with our Cyphal nodes is as simple as grabbing the single file and running it in a terminal.
So far I've found that packaging Yukut on Ubuntu 20.04 for use on Ubuntu 20.04/22.04 is fairly simple. Packaging for use on a wider range of Linux platforms (e.g. those with older glibc etc than Ubuntu 20.04's) is trickier.
I think that including the build of an AppImage into the Yakut CI here, so that it can be downloaded from GitHub would be very useful for many consumers.
While such a build may not be able to take advantage of the deeper integration by including vendor-specific DSDL, or hardcoding the configuration of e.g. CAN interfaces, it would certainly reduce the surface area of versions of dependencies that a majority of users would experience and hopefully provide a useful "does the AppImage work for you?" response to troubleshooting questions.
Happy to discuss further and contribute my work so far.
The text was updated successfully, but these errors were encountered: