offer fat binaries for all supported platforms #794
Replies: 26 comments
-
btw, recently wanted to install vorta for an ubuntu user. after preparing virtual env etc. wondered why I can't so, a fat linux binary with everything would really help for such cases. |
Beta Was this translation helpful? Give feedback.
-
It's on my list. Really. :-) |
Beta Was this translation helpful? Give feedback.
-
I recently read this tutorial: https://www.mfitzp.com/article/packaging-pyqt5-apps-with-fbs/ Might this be interesting for vorta? |
Beta Was this translation helpful? Give feedback.
-
We already use Pyinstaller, which this project wraps. They just solve a few other problems on top of it. Some are already solved in Vorta (finding asset files, making installers), some aren't that relevant (shipping different files for each OS). Maybe these guys solve them better, but they also impose their folder structure on the project, which could be a bad thing. Still good to know it exists. May be useful for a green field project that needs installers for many OSs. |
Beta Was this translation helpful? Give feedback.
-
I see :) |
Beta Was this translation helpful? Give feedback.
-
Added the first Linux binary. It got fairly large. 2x of macOS. UPX or zipping didn't make much difference. I guess there are more libraries included. Would be helpful is someone could test it on different Linux platforms, like Arch or Debian. |
Beta Was this translation helpful? Give feedback.
-
I've seen a similar size difference for borg itself, so seems to be normal. |
Beta Was this translation helpful? Give feedback.
-
debian stretch (whonix, to be precise):
Seems you need an older build platform. The borg 1.1.x binaries are still built on wheezy (which is out of support though). For borg 1.2 I guess we'll go to Debian stretch. |
Beta Was this translation helpful? Give feedback.
-
i also get a ton of issues on fedora-29, but not sure if they are caused by vorta or if just my VM is broken somehow. |
Beta Was this translation helpful? Give feedback.
-
Thanks for testing. Will try some older VMs then. |
Beta Was this translation helpful? Give feedback.
-
about the huge size of the fat binaries: do you just include the borg fat binary? guess that means that a lot of stuff gets into the vorta fat binary twice (once bundled into the inner borg binary, once bundled again for the outer vorta binary). this could be optimized in future. |
Beta Was this translation helpful? Give feedback.
-
True. Currently the Borg bin is embedded as well. (I actually didn't replace the macOS bin, which could explain some errors. Let me fix that.) Having only 1 Python bin, etc for everything would be nice. I'm just not sure which |
Beta Was this translation helpful? Give feedback.
-
After thinking about it: maybe it would be best not to bundle borg into the vorta fat binary at all. While vorta offers a good GUI for many functions, there are likely quite some cases for which the user would still need to use the command line. But we don't get a callable So easiest would be if users either install borg from their dist or grab the borg fat binary separately and put it somewhere into the PATH. |
Beta Was this translation helpful? Give feedback.
-
Compared to the total size, the Borg binary isn't too bad. 15MB out of 80MB. Could still be useful as fallback and for non-tech users. (Also updated the Linux bin just now. Has the correct borg bin now.) |
Beta Was this translation helpful? Give feedback.
-
The Vorta Linux binary works for me, but not the automatically start at login option. When I enable that, Vorta crashes:
The options stays enabled when I relaunch Vorta, but it doesn't automatically start on login (using Ubuntu 18.10/Gnome Shell). |
Beta Was this translation helpful? Give feedback.
-
Autostart on Linux is a fairly new feature. I guess it fails in this line:
@Hofer-Julian, maybe autostart can just run the command from the standard |
Beta Was this translation helpful? Give feedback.
-
I just wanted to start a discussion if that might be the better solution. |
Beta Was this translation helpful? Give feedback.
-
Took another shot at the fat bin challenge by combining our Travis file with a certain project's Vagrantfile. This compiles Vorta on Debian Jessie (oldstable). I tested it on Ubuntu 18.4 and it worked there as well. Some more testing would be good. It's not going into the background for now because those settings are tailored to macOS. Will need some small changes. |
Beta Was this translation helpful? Give feedback.
-
The binary does not work under Fedora 29. I get the following error message (the first line is normal, I get it always under Wayland)
|
Beta Was this translation helpful? Give feedback.
-
Maybe, if the fat-binary-apporach is that problematic, we can look into Appimage until we have a working Flatpak. |
Beta Was this translation helpful? Give feedback.
-
I guess it needs to be compiled for each OS family: Debian/Ubuntu, Fedora/CentOS/RedHat. I'll try with CentOS next and we'll see if it works on Fedora. Will also look if Appimage or Flatpak is appropriate. |
Beta Was this translation helpful? Give feedback.
-
Some more options:
|
Beta Was this translation helpful? Give feedback.
-
Hello, Now it works, even if I must launch it in foreground... |
Beta Was this translation helpful? Give feedback.
-
I have created this script to generate a Vorta appimages. The result is 100MB large though. |
Beta Was this translation helpful? Give feedback.
-
Not sure if we want to offer appimages. |
Beta Was this translation helpful? Give feedback.
-
Yeah, looking into it I'll have to bundle a lot of libraries for it to be truly portable. We should stick with flatpak and pip for Linux for now. |
Beta Was this translation helpful? Give feedback.
-
It would be nice to have some (semi-)automated way to offer vorta (and borg) as pyinstaller fat binary for vorta releases:
Could use similar automation as seen in borg's Vagrantfile.
If easy enough, it could be done for every release or else just now and then.
Beta Was this translation helpful? Give feedback.
All reactions