summaryrefslogtreecommitdiff
path: root/community-staging/duplicity
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-10-16 00:33:10 -0700
committerroot <root@rshg054.dnsready.net>2012-10-16 00:33:10 -0700
commit99d0ec7ebad2eda5f3a03098962e3b250e3bef4c (patch)
tree8b24758dfa8c691cda33acaa931699ce81dc1c15 /community-staging/duplicity
parente9dd04abd0ede1143ea4af10059e37c2f599e1fd (diff)
Tue Oct 16 00:33:08 PDT 2012
Diffstat (limited to 'community-staging/duplicity')
-rw-r--r--community-staging/duplicity/PKGBUILD36
-rw-r--r--community-staging/duplicity/botobackend.patch13
-rw-r--r--community-staging/duplicity/duplicity-0.6.17-fix-memleak.patch29
3 files changed, 78 insertions, 0 deletions
diff --git a/community-staging/duplicity/PKGBUILD b/community-staging/duplicity/PKGBUILD
new file mode 100644
index 000000000..9fc900326
--- /dev/null
+++ b/community-staging/duplicity/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 77932 2012-10-15 23:29:05Z allan $
+# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: Aaron Schaefer <aaron@elasticdog.com>
+
+pkgname=duplicity
+pkgver=0.6.19
+pkgrel=2
+pkgdesc='A utility for encrypted, bandwidth-efficient backups using the rsync algorithm.'
+arch=('i686' 'x86_64')
+url='http://www.nongnu.org/duplicity/'
+license=('GPL')
+depends=('librsync' 'ncftp' 'python2' 'python2-boto' 'python2-gnupginterface' 'python2-paramiko')
+source=("http://savannah.nongnu.org/download/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig})
+md5sums=('c88122d0b651f84f3bfa42e55591c36b'
+ 'df672ed47b8eb4fd8ffa99711623b6b5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # python2 fix
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' $file
+ sed -i 's_^#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
+ done
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ # fix broken documentation permissions until upstream does (FS#27301)
+ chmod 644 "$pkgdir/usr/share/man/man1/$pkgname.1"
+ chmod 644 "$pkgdir/usr/share/man/man1/rdiffdir.1"
+ chmod 644 "$pkgdir/usr/share/doc/$pkgname-$pkgver"/*
+}
diff --git a/community-staging/duplicity/botobackend.patch b/community-staging/duplicity/botobackend.patch
new file mode 100644
index 000000000..302e1e2b1
--- /dev/null
+++ b/community-staging/duplicity/botobackend.patch
@@ -0,0 +1,13 @@
+=== modified file duplicity/backends/botobackend.py
+--- duplicity/backends/botobackend.py 2011-11-25 17:47:57 +0000
++++ duplicity/backends/botobackend.py 2011-12-01 16:15:25 +0000
+@@ -26,6 +26,6 @@
+ if sys.version_info[:2] < (2,6):
+ print "Sorry, S3 multiprocessing requires version 2.6 or later of python"
+ sys.exit(1)
+- import _boto_multi.py
++ import _boto_multi
+ else:
+- import _boto_single.py
++ import _boto_single
+
diff --git a/community-staging/duplicity/duplicity-0.6.17-fix-memleak.patch b/community-staging/duplicity/duplicity-0.6.17-fix-memleak.patch
new file mode 100644
index 000000000..1c4c8daff
--- /dev/null
+++ b/community-staging/duplicity/duplicity-0.6.17-fix-memleak.patch
@@ -0,0 +1,29 @@
+=== modified file 'duplicity/util.py'
+--- duplicity/util.py 2011-08-23 18:14:17 +0000
++++ duplicity/util.py 2012-01-20 21:50:01 +0000
+@@ -71,6 +71,10 @@
+ else:
+ raise
+
++class BlackHoleList(list):
++ def append(self, x):
++ pass
++
+ class FakeTarFile:
+ debug = 0
+ def __iter__(self):
+@@ -83,7 +87,12 @@
+ # yet. So we want to ignore ReadError exceptions, which are used to signal
+ # this.
+ try:
+- return tarfile.TarFile("arbitrary", mode, fp)
++ tf = tarfile.TarFile("arbitrary", mode, fp)
++ # Now we cause TarFile to not cache TarInfo objects. It would end up
++ # consuming a lot of memory over the lifetime of our long-lasting
++ # signature files otherwise.
++ tf.members = BlackHoleList()
++ return tf
+ except tarfile.ReadError:
+ return FakeTarFile()
+
+