From 85e0e667660650d70269432a90401d4288776d9d Mon Sep 17 00:00:00 2001 From: root Date: Tue, 6 Nov 2012 02:13:31 -0800 Subject: Tue Nov 6 02:09:19 PST 2012 --- community/deja-dup/PKGBUILD | 21 ++++++--- community/deja-dup/new-u1backend-support.patch | 50 ++++++++++++++++++++++ community/deja-dup/not-check-ubuntuone-couch.patch | 45 +++++++++++++++++++ 3 files changed, 111 insertions(+), 5 deletions(-) create mode 100644 community/deja-dup/new-u1backend-support.patch create mode 100644 community/deja-dup/not-check-ubuntuone-couch.patch (limited to 'community/deja-dup') diff --git a/community/deja-dup/PKGBUILD b/community/deja-dup/PKGBUILD index 1f9815897..d33e77dd1 100644 --- a/community/deja-dup/PKGBUILD +++ b/community/deja-dup/PKGBUILD @@ -1,25 +1,36 @@ -# $Id: PKGBUILD 77901 2012-10-15 17:33:17Z bgyorgy $ +# $Id: PKGBUILD 79462 2012-11-05 20:10:47Z bgyorgy $ # Maintainer: Balló György pkgname=deja-dup pkgver=24.0 -pkgrel=1 +pkgrel=2 pkgdesc="Simple backup tool, that hides the complexity of backing up the Right Way and uses duplicity as the backend" arch=('i686' 'x86_64') url="https://launchpad.net/deja-dup" license=('GPL') depends=('duplicity' 'libgnome-keyring' 'libpeas' 'libnotify' 'python2-gobject2' 'dconf' 'xdg-utils') makedepends=('vala' 'intltool' 'itstool' 'nautilus') -optdepends=('nautilus: backup extension') +optdepends=('nautilus: backup extension' + 'ubuntuone-client: backup into Ubuntu One storage') options=('!libtool') install=$pkgname.install -source=(http://launchpad.net/$pkgname/${pkgver%.*}/$pkgver/+download/$pkgname-$pkgver.tar.xz) -md5sums=('335131d1f3c85615339fa8b212db50ae') +source=(http://launchpad.net/$pkgname/${pkgver%.*}/$pkgver/+download/$pkgname-$pkgver.tar.xz + new-u1backend-support.patch + not-check-ubuntuone-couch.patch) +md5sums=('335131d1f3c85615339fa8b212db50ae' + '944a4c62f042b240feba98f8d9a893b2' + '8d59798638982c2bdb55b2e415087245') build() { cd "$srcdir/$pkgname-$pkgver" sed -i 's/\"python\", \"-c\"/\"python2\", \"-c\"/' common/PythonChecker.vala + # Add support for the new Ubuntu One backend + patch -Np0 -i "$srcdir/new-u1backend-support.patch" + + # Now we don't need ubuntuone-couch for Ubuntu One support + patch -Np1 -i "$srcdir/not-check-ubuntuone-couch.patch" + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \ --disable-static --disable-schemas-compile --without-unity make diff --git a/community/deja-dup/new-u1backend-support.patch b/community/deja-dup/new-u1backend-support.patch new file mode 100644 index 000000000..08b918cb9 --- /dev/null +++ b/community/deja-dup/new-u1backend-support.patch @@ -0,0 +1,50 @@ +=== modified file 'common/BackendU1.vala' +--- common/BackendU1.vala 2012-08-06 22:41:13 +0000 ++++ common/BackendU1.vala 2012-11-03 21:35:53 +0000 +@@ -212,21 +212,41 @@ + + public override async void get_envp() throws Error + { +- bool found = false; + var obj = get_creds_proxy(); + if (obj.get_name_owner() == null) { + ask_password(); + return; + } + ++ var found = false; ++ var envp = new List(); + var listener = new Listener(obj, "find_credentials", null, (name, args) => { +- if (name == "CredentialsFound") +- found = true; ++ if (name == "CredentialsFound") { ++ VariantIter iter; ++ args.get("(a{ss})", out iter); ++ string key, val; ++ string consumer_key = null, consumer_secret = null, token = null, token_secret = null; ++ while (iter.next("{ss}", out key, out val)) { ++ if (key == "consumer_key") ++ consumer_key = val; ++ else if (key == "consumer_secret") ++ consumer_secret = val; ++ else if (key == "token") ++ token = val; ++ else if (key == "token_secret") ++ token_secret = val; ++ } ++ if (consumer_key != null && consumer_secret != null && token != null && token_secret != null) { ++ warning("appending: %s", "FTP_PASSWORD=%s:%s:%s:%s".printf(consumer_key, consumer_secret, token, token_secret)); ++ envp.append("FTP_PASSWORD=%s:%s:%s:%s".printf(consumer_key, consumer_secret, token, token_secret)); ++ found = true; ++ } ++ } + }); + listener.run(); + + if (found) +- envp_ready(true, null); ++ envp_ready(true, envp); + else + ask_password(); + } + diff --git a/community/deja-dup/not-check-ubuntuone-couch.patch b/community/deja-dup/not-check-ubuntuone-couch.patch new file mode 100644 index 000000000..d7fb903a1 --- /dev/null +++ b/community/deja-dup/not-check-ubuntuone-couch.patch @@ -0,0 +1,45 @@ +diff -Naur deja-dup-24.0.orig/common/BackendU1.vala deja-dup-24.0/common/BackendU1.vala +--- deja-dup-24.0.orig/common/BackendU1.vala 2012-08-07 00:20:51.000000000 +0200 ++++ deja-dup-24.0/common/BackendU1.vala 2012-11-05 16:39:34.140104977 +0100 +@@ -75,11 +75,14 @@ + + class U1Checker : Checker + { +- PythonChecker pyu1; + construct { + try { + var proxy = BackendU1.get_creds_proxy(); +- if (proxy.get_name_owner() == null) { ++ if (proxy.get_name_owner() != null) { ++ available = true; ++ complete = true; ++ } ++ else { + available = false; + complete = true; + } +@@ -89,24 +92,6 @@ + available = false; + complete = true; + } +- +- if (!complete) { +- // A bit of abstraction leakage here; we have to keep these imports in +- // line with what duplicity uses. Maybe we should add to duplicity a way +- // to ask 'can I use this backend?' +- pyu1 = PythonChecker.get_checker("ubuntuone.platform.credentials, ubuntuone.couch.auth"); +- if (pyu1.complete) { +- available = pyu1.available; +- complete = pyu1.complete; +- } +- else { +- pyu1.notify["complete"].connect(() => { +- available = pyu1.available; +- complete = pyu1.complete; +- pyu1 = null; +- }); +- } +- } + } + } + -- cgit v1.2.3-54-g00ecf