Duplicati: separate Debian packages for headless installation

Created on 18 Dec 2016  路  5Comments  路  Source: duplicati/duplicati

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.

enhancement

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

All 5 comments

I am in the same boat but for redhat based systems (centos specifically).

I think there could perhaps be multiple packages:

  • CommandLine (basic stuff, excluding server and trayicon)
  • Server (depends on CommandLine)
  • TrayIcon (depends on Server, includes GUI stuff)

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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

BrettDikeman picture BrettDikeman  路  3Comments

syrys picture syrys  路  4Comments

Germs2004 picture Germs2004  路  4Comments

zappe picture zappe  路  5Comments

ltGuillaume picture ltGuillaume  路  5Comments