Moving to an embedded version of FreeRDP
After some internal discussion, discussions with other senior programmers, we decided to embed a specific version of FreeRDP into the code of remmina. Currently you can find this version in the "remmina_freerdp" branch, and it's working. We hope that we will be able to merge into "next" branch in the next days, after listening to your opinions.
Some note on the embedded version:
- FreeRDP libraries will be built statically, to avoid conflicting .so names with your system installed freerdp
- You can still disable the embedded version with -DWITH_EMBEDDED_FREERDP=off cmake parameter. This will not build the embedded FreeRDP version and will link as usual with your libfreerdp.so.
- The embedded FreeRDP version is an old version with a couple of patches applied. All patches done by the Remmina team has been already pushed upstream to FreeRDP.
Why we did it ?
- ABI breakages and devel bugs of FreeRDP: there is no afficial freerdp ABI/API around, so FreeRDP programmers are free to do anything they want with their API/ABI. We only had minor problems with this, and immediately fixed. But having more stability in the code will help a lot to lower end-user confusion.
- Some distributions repository (Arch AUR) will update only when a FreeRDP release update is released. But the FreeRDP team will not release a 1.2 version in a short period of time: https://github.com/FreeRDP/FreeRDP/issues/2678. So AUR is currently stuck and not working well.
- In some other distributions (Fedora ?) there are packages which still need FreeRDP 1.1 (guacamole) and Remmina 1.2 wants FreeRDP 1.2. This is a problem for distribution packagers that cannot include two versions of freerdp in one distribution.
We would like to hear the opinion from distribution package maintainers.