diff options
Diffstat (limited to 'community-testing/duplicity')
-rw-r--r-- | community-testing/duplicity/PKGBUILD | 36 | ||||
-rw-r--r-- | community-testing/duplicity/botobackend.patch | 13 | ||||
-rw-r--r-- | community-testing/duplicity/duplicity-0.6.17-fix-memleak.patch | 29 |
3 files changed, 78 insertions, 0 deletions
diff --git a/community-testing/duplicity/PKGBUILD b/community-testing/duplicity/PKGBUILD new file mode 100644 index 000000000..fdfac734f --- /dev/null +++ b/community-testing/duplicity/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 78042 2012-10-16 11:50:16Z 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-testing/duplicity/botobackend.patch b/community-testing/duplicity/botobackend.patch new file mode 100644 index 000000000..302e1e2b1 --- /dev/null +++ b/community-testing/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-testing/duplicity/duplicity-0.6.17-fix-memleak.patch b/community-testing/duplicity/duplicity-0.6.17-fix-memleak.patch new file mode 100644 index 000000000..1c4c8daff --- /dev/null +++ b/community-testing/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() + + |