I can't install the duplicati Ubuntu packages without installing all the GUI dependencies too. They include gstreamer libraries, audio libraries, font stuff, icon themes, gtk and more. I don't want to install any of that stuff on a server.
Is it possible to provide separate packages for headless use with only the minimum mono dependencies required?
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I am in the same boat but for redhat based systems (centos specifically).
I think there could perhaps be multiple packages:
I am not sure how to name such packages. Suggestions?
If one of you are good at packages, the source for building them is here:
https://github.com/duplicati/duplicati/tree/master/Installer/debian
https://github.com/duplicati/duplicati/tree/master/Installer/fedora
For Debian/Ubuntu, I'd probably suggest:
duplicati (cli tools and core libs, suggests duplicati-server and duplicati-gui but doesn't depend)
duplicati-server (depends on duplicati)
duplicati-gui (for tray icon tool, depends on server)
I don't know as much about Fedora packaging. They have some guidelines for naming here: https://fedoraproject.org/wiki/Packaging:Naming
For anybody stumbling across this via Google, I noted manual steps for a headless installation on Debian here: https://github.com/duplicati/duplicati/issues/2375#issuecomment-317390843
Here's how I did it:
sudo apt install mono-runtime libmono-corlib2.0-cil libmono-system-core4.0-cil libmono-system-data4.0-cil libmono-system-numerics4.0-cil libmono-system-runtime-serialization4.0-cil
wget https://updates.duplicati.com/beta/duplicati_2.0.2.1-1_all.deb && mkdir duplicati && dpkg-deb -x duplicati_2.0.2.1-1_all.deb duplicati && cd duplicati
sudo sh -c "{ cat usr/bin/duplicati-cli | sed 's@^\(INSTALLDIR=\).*@\1/usr/local/lib/duplicati@' > /usr/local/bin/duplicati-cli && chmod 755 /usr/local/bin/duplicati-cli; }"
sudo sh -c '{ mkdir /usr/local/lib/duplicati && find usr/lib/duplicati -mindepth 1 -maxdepth 1 -regextype posix-egrep ! -regex "usr/lib/duplicati/(Duplicati\.(GUI|Server|.*Service).*|HttpServer.dll|debian|webroot|SVGIcons).*" -exec cp -r "{}" /usr/local/lib/duplicati \;; }'
This extracts just Duplicati.CommandLine.exe/ duplicati-cli (and needed libs etc) from the deb pkg and puts them in /usr/local/{bin,lib}. Tested on Debian 8. If anyone's interested I could make a "proper" pkg.
Most helpful comment
For anybody stumbling across this via Google, I noted manual steps for a headless installation on Debian here: https://github.com/duplicati/duplicati/issues/2375#issuecomment-317390843