From 5bfa30bb22cbfe37e06c2c442fe77b5a02602184 Mon Sep 17 00:00:00 2001
From: intrigeri <intrigeri@boum.org>
Date: Sun, 29 Jan 2012 14:40:46 +0100
Subject: [PATCH] Support bandwidthlimit again with new duplicity, using
 trickle.

duplicity 0.6.17 uses paramiko backend.
Thus, it does not support limiting bandwidth anymore.
Let's use trickle to support bandwidth shaping anyway.
---
 ChangeLog       | 1 +
 handlers/dup.in | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 65b9cc5..65a994a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,7 @@ version 1.0 -- UNRELEASED
 	   example.dup.
 	 . Add support for RackSpace's CloudFiles.
 	   Thanks to Yuval Kogman <nothingmuch@woobling.org> for the patch.
+	 . Support bandwidthlimit with new duplicity, using trickle.
 	mysql:
 	 . Don't attempt to dump performance_schema database (Redmine#3741).
     build system changes
diff --git a/handlers/dup.in b/handlers/dup.in
index 6fbb27a..b1de651 100644
--- a/handlers/dup.in
+++ b/handlers/dup.in
@@ -122,6 +122,11 @@ if [ "$duplicity_major" -ge 0 -a "$duplicity_minor" -ge 6 -a "$duplicity_sub" -g
          || warning 'duplicity >= 0.6.17 only supports the IdentityFile SSH option'
    fi
    execstr_options="${execstr_options} --ssh-options '$sshoptions'"
+   # FIXME: use trickle
+   if [ "$bandwidthlimit" != 0 ]; then
+      [ -z "$desturl" ] || warning 'The bandwidthlimit option is not used when desturl is set.'
+      execstr_precmd="trickle -s -d $bandwidthlimit -u $bandwidthlimit"
+   fi
 ## duplicity < 0.6.17 : scp/sftp backend
 else
    scpoptions="$sshoptions"
-- 
GitLab