Add automatic local freerdp installation and docker/podman support
This is very much experimental and by far not ready!
Unpacking the RPM is an interesting approach to grab binaries. However, we could also just redistribute FreeRDP binaries built inside Actions (or maybe even unpacked from RPM too) but that wouldn't require users installing rpm2cpio.
Unpacking the RPM is an interesting approach to grab binaries. However, we could also just redistribute FreeRDP binaries built inside Actions (or maybe even unpacked from RPM too) but that wouldn't require users installing rpm2cpio.
I have considered this too, but I wasn't able to get a somewhat stable download link from the actions. The rpm package has a download link, which should be safe in terms of availability. (Fast changing links makes the app easily outdated just because it cannot download freerdp).
I also played around with flatpaks, since they might got a better way to decompress, but I failed to download the binaries without the usage of flatpak itself. Flatpak as dependency would make it incompatible with for example distrobox.
However I completely agree that rpm2cpio shouldn't be dependency (there shouldn't be any external dependencies at all), but it is not that much of a problem to change this to a better solution afterwards.
We can create releases and grab the latest release using the github api to get stable download links.
Actually, I just stumbled across the source for rpm2cpio: https://github.com/ruda/rpm2cpio/blob/master/rpm2cpio.py and it seems like quite the simple package to port to pure Rust as a crate and we could combine it with the threecpio crate to achieve the same thing without any system requirements.
@oskardotglobal should I close this in favour of #308?
I'd say once I'll push some more changes to my branch you can rebase your PR on it
@LDprg I think you're good to rebase your PR, but make sure to check for xfreerdp3 being installed before just grabbing it from the RPM as e.g. on Nix that won't work anyways
@LDprg I think you're good to rebase your PR, but make sure to check for xfreerdp3 being installed before just grabbing it from the RPM as e.g. on Nix that won't work anyways
Will look into this as soon as I have time.
I feel like this should be redone completely. The implementation of this is currently bad, not ready at the very basics and alot changed in #308.
I am closing this in favour of a future PR. I will rethink the implementation (maybe snap or flatpak packages are better etc)!