Bundling app into Flatpak
This draft PR is to capture my work to show a prototype of packaging the app as a flatpak.
In order to run this, you must first run
go mod vendor && git add vendor && git commit -m "Running go mod vendor"
From there you can build the flatpak via
flatpak-builder --force-clean --user --install --repo=repo ./build-dir io.cryobyte.cryobyteutilities.yml
and run via
flatpak run io.cryobyte.cryobyteutilities.yml
Amazing work! I'll be busy moving for the next few days, but I'll review as I can!
That's very nice indeed. Your createCommand is much cleaner.
It would be great if you could do another PR with the createCommand so we can already start to use it. Should not we rename it to execCommand since the original is exec.Command ?
That's very nice indeed. Your createCommand is much cleaner.
It would be great if you could do another PR with the
createCommandso we can already start to use it. Should not we rename it toexecCommandsince the original isexec.Command?
I can spin out createCommand to a separate PR if there is a desire for that. Ideally createCommand should be pretty transparent to the rest of the application though.
Thank you for the feedback - I originally thought of naming it execCommand, but thought that naming would be confusing since createCommand isn't actually executing a command, it's making a *exec.Cmd that you still need to call .Run() or .CombinedOutput(), etc. on to actually run
My usage of downloading golang manually is a work around for https://github.com/flathub/org.freedesktop.Sdk.Extension.golang/issues/82 - once that is fixed we can just use the SDK extension.
The code work for this is pretty much done. This is mostly admin work, with one code change. The remaining work:
- [ ] Testing, testing, testing. This is going to require a ton of testing, and I would greatly appreciate any help from other contributors.
- [ ] Fix launch.sh to not choke when launching within the flatpak
- [ ] Approval of the copy and images will be displayed on flathub/the discover store
- [ ] Screenshots to be displayed on flathub/ The discover store. I can generate the screenshots myself, unless you already have specific screenshots you want Cryo.
- [ ] A 512x512 icon
- [ ] Documentation - my recommendation is to start with code level commenting, but I would be happy to write a design doc if required.