From 88a87a8c6ba19ba66f2a7cfb2efe9fd707d4d9e2 Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Tue, 20 Sep 2016 20:41:30 +1000 Subject: [PATCH 3/3] gnu: Update duplicity. * gnu/packages/backup.scm (duplicity): Update to 0.7.10. * gnu/packages/patches/duplicity-piped-password.patch: Deleted. * gnu/packages/patches/duplicity-test_selection-tmp.patch: Deleted. --- gnu/packages/backup.scm | 82 +++++++++++++--------- .../patches/duplicity-piped-password.patch | 20 ------ .../patches/duplicity-test_selection-tmp.patch | 18 ----- 3 files changed, 47 insertions(+), 73 deletions(-) delete mode 100644 gnu/packages/patches/duplicity-piped-password.patch delete mode 100644 gnu/packages/patches/duplicity-test_selection-tmp.patch diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index e77c4f2..408389a 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015 Eric Bavier ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2015, 2016 Leo Famulari +;;; Copyright © 2016 Brendan Tildesley ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +34,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages dejagnu) + #:use-module (gnu packages ftp) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages gperf) @@ -51,53 +53,63 @@ (define-public duplicity (package (name "duplicity") - (version "0.6.26") + (version "0.7.10") (source (origin - (method url-fetch) - (uri (string-append "https://code.launchpad.net/duplicity/" - (version-major+minor version) - "-series/" version "/+download/duplicity-" - version ".tar.gz")) - (sha256 - (base32 - "0jh79syhr8n3l81jxlwsmwm1pklb4d923m2lgqbswyavh1fqmvwb")) - (patches (search-patches "duplicity-piped-password.patch" - "duplicity-test_selection-tmp.patch")))) + (method url-fetch) + (uri (string-append "https://code.launchpad.net/duplicity/" + (version-major+minor version) + "-series/" version "/+download/duplicity-" + version ".tar.gz")) + (sha256 + (base32 + "0hj8451gpndyqdfxwhbxwr9ddxvc47g0iv003q33q5kda8ayyps8")))) (build-system python-build-system) (native-inputs `(("python2-setuptools" ,python2-setuptools) - ("util-linux" ,util-linux))) ;setsid command, for the tests + ("python2-mock" ,python2-mock) + ("util-linux" ,util-linux))) ; setsid command, for the tests (inputs `(("python" ,python-2) ("librsync" ,librsync) - ("mock" ,python2-mock) ;for testing - ("lockfile" ,python2-lockfile) - ("gnupg" ,gnupg-1) ;gpg executable needed - ("util-linux" ,util-linux) ;for setsid - ("tzdata" ,tzdata))) + ("python2-lockfile" ,python2-lockfile) + ("python2-pexpect" ,python2-pexpect) + ("python2-paramiko" ,python2-paramiko) + ("python2-pycrypto" ,python2-pycrypto) + ("python2-botocore" ,python2-botocore) + ("python2-dropbox" ,python2-dropbox) + ("lftp" ,lftp) + ("gnupg" ,gnupg-1) + ("ncftp" ,ncftp) + ("tzdata" ,tzdata) + ("par2cmdline" ,par2cmdline))) (arguments - `(#:python ,python-2 ;setup assumes Python 2 + `(#:python ,python-2 #:test-target "test" - #:phases (alist-cons-before - 'check 'check-setup - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "testing/functional/__init__.py" - (("/bin/sh") (which "sh"))) - (setenv "HOME" (getcwd)) ;gpg needs to write to $HOME - (setenv "TZDIR" ;some timestamp checks need TZDIR - (string-append (assoc-ref inputs "tzdata") - "/share/zoneinfo"))) - %standard-phases))) + #:phases + (modify-phases %standard-phases + (add-before 'check 'check-setup + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("testing/functional/__init__.py" + "testing/overrides/bin/lftp") + (("/bin/sh") (which "sh"))) + (setenv "HOME" (getcwd)) + ;; RUN_CODE_TESTS can be set to enable unessential PEP8, 2to3 and pylint + ;; tests that currently fail due to lacking dependencies + ;; (setenv "RUN_CODE_TESTS" "1") + ;; + ;; Backup filenames embed TZ data. + ;; See testing/unit/test_statistics.py test_get_stats_string(self) + (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo"))))))) (home-page "http://duplicity.nongnu.org/index.html") (synopsis "Encrypted backup using rsync algorithm") - (description - "Duplicity backs up directories by producing encrypted tar-format volumes -and uploading them to a remote or local file server. Because duplicity uses -librsync, the incremental archives are space efficient and only record the -parts of files that have changed since the last backup. Because duplicity -uses GnuPG to encrypt and/or sign these archives, they will be safe from -spying and/or modification by the server.") + (description "Duplicity backs up directories by producing encrypted +tar-format volumes and uploading them to a remote or local file server. +Because duplicity uses librsync, the incremental archives are space efficient +and only record the parts of files that have changed since the last backup. +Because duplicity uses GnuPG to encrypt and/or sign these archives, they will +be safe from spying and/or modification by the server.") (license license:gpl2+))) (define-public par2cmdline diff --git a/gnu/packages/patches/duplicity-piped-password.patch b/gnu/packages/patches/duplicity-piped-password.patch deleted file mode 100644 index db50f5d..0000000 --- a/gnu/packages/patches/duplicity-piped-password.patch +++ /dev/null @@ -1,20 +0,0 @@ -This test, on three occasions, is failing with the error: - - EOF: End Of File (EOF) in read_nonblocking(). Braindead platform. - ---- duplicity-0.6.24/testing/functional/test_final.py 2014-09-28 13:14:52.146001614 -0500 -+++ duplicity-0.6.24/testing/functional/test_final.py 2014-09-28 13:13:20.333546342 -0500 -@@ -156,13 +156,6 @@ - self.run_duplicity(options=["remove-older-than", "50000", "--force", self.backend_url]) - self.assertEqual(self.get_backend_files(), second_chain) - -- def test_piped_password(self): -- """Make sure that prompting for a password works""" -- self.set_environ("PASSPHRASE", None) -- self.backup("full", "testfiles/empty_dir", -- passphrase_input=[self.sign_passphrase, self.sign_passphrase]) -- self.restore(passphrase_input=[self.sign_passphrase]) -- - - class OldFilenamesFinalTest(FinalTest): - diff --git a/gnu/packages/patches/duplicity-test_selection-tmp.patch b/gnu/packages/patches/duplicity-test_selection-tmp.patch deleted file mode 100644 index 8f66be4..0000000 --- a/gnu/packages/patches/duplicity-test_selection-tmp.patch +++ /dev/null @@ -1,18 +0,0 @@ -Reported upstream at https://bugs.launchpad.net/duplicity/+bug/1375019 - ---- duplicity-0.6.24/testing/unit/test_selection.py 2014-05-09 08:27:40.000000000 -0500 -+++ duplicity-0.6.24/testing/unit/test_selection.py 2014-09-28 12:28:53.932324380 -0500 -@@ -431,10 +431,10 @@ - [(), ('1',), ('1', '1'), ('1', '2'), ('1', '3')]) - - self.root = Path("/") -- self.ParseTest([("--exclude", "/home/*"), -- ("--include", "/home"), -+ self.ParseTest([("--exclude", "/tmp/*"), -+ ("--include", "/tmp"), - ("--exclude", "/")], -- [(), ("home",)]) -+ [(), ("tmp",)]) - - if __name__ == "__main__": - unittest.main() -- 2.9.3