* [PATCH 0/3] gnu: Duplicity: Update to 0.7.10 @ 2016-09-20 11:28 Brendan Tildesley 2016-09-20 11:31 ` [PATCH 1/3] gnu: Add python-typing Brendan Tildesley ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Brendan Tildesley @ 2016-09-20 11:28 UTC (permalink / raw) To: guix-devel Hi, I've been working on an update for Duplicity. Updating duplicity its self was easy, but I also tried adding some more backend support. I was able to get python-dropbox working although it may not be packaged properly, for example, the documentation seems to be on readthedocs.org but not in the package? Python-six claims to be required, but It doesn't look like any tests are even run by default. Strangely, I could not find the same package in debian's repository. What's up with that? I found it in Archlinux's repo for comparison. Note that this is not the proprietary Dropbox program and that is not required by python-dropbox. I also tried packaging python2-gdata but that was a disaster. It hasn't been updated in a year or two ago, possibly obsolete? I can't package these backends well when I don't even use them, so I was wondering there was anyone around interested in packaging them. Regardless, this provides a much needed upgrade from the obsolete 0.6.x series of Duplicity that can be used without any such backend. https://packages.debian.org/search?suite=all§ion=all&arch=any&searchon=names&keywords=dropbox https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/python-dropbox ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] gnu: Add python-typing 2016-09-20 11:28 [PATCH 0/3] gnu: Duplicity: Update to 0.7.10 Brendan Tildesley @ 2016-09-20 11:31 ` Brendan Tildesley 2016-09-20 11:32 ` [PATCH 2/3] gnu: Add python-dropbox Brendan Tildesley 2016-09-20 11:36 ` [PATCH 3/3] gnu: Duplicity: Update to 0.7.10 Brendan Tildesley 2 siblings, 0 replies; 7+ messages in thread From: Brendan Tildesley @ 2016-09-20 11:31 UTC (permalink / raw) To: guix-devel [-- Attachment #1: Type: text/plain, Size: 1 bytes --] [-- Attachment #2: 0001-gnu-Add-python-typing.patch --] [-- Type: text/x-patch, Size: 1848 bytes --] From 3536a1cecbd10a499b1a76c34b7cd7b1b11c5f61 Mon Sep 17 00:00:00 2001 From: Brendan Tildesley <brendan.tildesley@openmailbox.org> Date: Tue, 20 Sep 2016 19:45:28 +1000 Subject: [PATCH 1/3] gnu: Add python-typing. * gnu/packages/python.scm (python-typing): New variable. * gnu/packages/python.scm (python2-typing): New variable. --- gnu/packages/python.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 96589fc..77fcdf6 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -10891,3 +10891,30 @@ with an associated set of resolve methods that know how to fetch data.") provide extendible implementations of common aspects of a cloud so that you can focus on building massively scalable web applications.") (license license:expat))) + +(define-public python-typing + (package + (name "python-typing") + (version "3.5.2.2") + (source + (origin + (method url-fetch) + (uri (string-append (pypi-uri "typing" version))) + (sha256 + (base32 + "0bvpqkmrnl5qs5491yb4irrkd8sha84g6xy8cclp3bsk4qlk9kib")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools))) + (arguments + `(#:tests? #f)) ; no setup.py test + (home-page "https://docs.python.org/3.5/library/typing.html") + (synopsis "Type Hints for Python") + (description "Typing defines a standard notation for Python function and +variable type annotations. The notation can be used for documenting code in a +concise, standard format, and it has been designed to also be used by static +and runtime type checkers, static analyzers, IDEs and other tools.") + (license license:psfl))) + +(define-public python2-typing + (package-with-python2 python-typing)) -- 2.9.3 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] gnu: Add python-dropbox 2016-09-20 11:28 [PATCH 0/3] gnu: Duplicity: Update to 0.7.10 Brendan Tildesley 2016-09-20 11:31 ` [PATCH 1/3] gnu: Add python-typing Brendan Tildesley @ 2016-09-20 11:32 ` Brendan Tildesley 2016-09-20 11:36 ` [PATCH 3/3] gnu: Duplicity: Update to 0.7.10 Brendan Tildesley 2 siblings, 0 replies; 7+ messages in thread From: Brendan Tildesley @ 2016-09-20 11:32 UTC (permalink / raw) To: guix-devel [-- Attachment #1: Type: text/plain, Size: 1 bytes --] [-- Attachment #2: 0002-gnu-Add-python-dropbox.patch --] [-- Type: text/x-patch, Size: 1650 bytes --] From b76af9fa56ebd49147d91e9944281ea0da55a752 Mon Sep 17 00:00:00 2001 From: Brendan Tildesley <brendan.tildesley@openmailbox.org> Date: Tue, 20 Sep 2016 20:07:31 +1000 Subject: [PATCH 2/3] gnu: Add python-dropbox. * gnu/packages/python.scm (python-dropbox): New variable. * gnu/packages/python.scm (python2-dropbox): New variable. --- gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 77fcdf6..d80e710 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -10918,3 +10918,31 @@ and runtime type checkers, static analyzers, IDEs and other tools.") (define-public python2-typing (package-with-python2 python-typing)) + +(define-public python-dropbox + (package + (name "python-dropbox") + (version "6.8.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "dropbox" version)) + (sha256 + (base32 + "0csd2mgsppmfw66c8mk0309p9w05wnqisqsn0qaqmcxygq156nhi")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (inputs + `(("python-requests" ,python-requests) + ("python-six" ,python-six) + ("python-urllib3" ,python-urllib3))) + (propagated-inputs + `(("python-typing" ,python-typing))) + (home-page "http://www.dropbox.com/developers") + (synopsis "Official Dropbox API Client") + (description "Python SDK for integrating with the Dropbox API") + (license license:expat))) + +(define-public python2-dropbox + (package-with-python2 python-dropbox)) -- 2.9.3 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] gnu: Duplicity: Update to 0.7.10 2016-09-20 11:28 [PATCH 0/3] gnu: Duplicity: Update to 0.7.10 Brendan Tildesley 2016-09-20 11:31 ` [PATCH 1/3] gnu: Add python-typing Brendan Tildesley 2016-09-20 11:32 ` [PATCH 2/3] gnu: Add python-dropbox Brendan Tildesley @ 2016-09-20 11:36 ` Brendan Tildesley 2016-09-20 19:25 ` Eric Bavier 2 siblings, 1 reply; 7+ messages in thread From: Brendan Tildesley @ 2016-09-20 11:36 UTC (permalink / raw) To: guix-devel [-- Attachment #1: Type: text/plain, Size: 341 bytes --] May as well put my name on this now that I have 2 packages in backup.scm. The test_selection patch is no longer needed, as the patch is already in the code. The piped password-patch I'm less sure about. It seemed to work fine without. Is this the kind of thing that would fail on Hydra but not in a interactive terminal? Maybe it is needed. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0003-gnu-Update-duplicity.patch --] [-- Type: text/x-patch; name="0003-gnu-Update-duplicity.patch", Size: 8659 bytes --] From 88a87a8c6ba19ba66f2a7cfb2efe9fd707d4d9e2 Mon Sep 17 00:00:00 2001 From: Brendan Tildesley <brendan.tildesley@openmailbox.org> 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 <bavier@member.fsf.org> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name> +;;; Copyright © 2016 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; ;;; 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 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] gnu: Duplicity: Update to 0.7.10 2016-09-20 11:36 ` [PATCH 3/3] gnu: Duplicity: Update to 0.7.10 Brendan Tildesley @ 2016-09-20 19:25 ` Eric Bavier 2016-09-22 6:31 ` Brendan Tildesley 0 siblings, 1 reply; 7+ messages in thread From: Eric Bavier @ 2016-09-20 19:25 UTC (permalink / raw) To: Brendan Tildesley; +Cc: guix-devel On Tue, 20 Sep 2016 21:36:02 +1000 Brendan Tildesley <brendan.tildesley@openmailbox.org> wrote: > * 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. These patches need to also be removed from gnu/local.mk (dist_patch_DATA). And there should be a [source] note that mentions the patch removal. > --- > 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 <bavier@member.fsf.org> > ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> > ;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name> > +;;; Copyright © 2016 Brendan Tildesley <brendan.tildesley@openmailbox.org> > ;;; > ;;; 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")))) This includes a lot of unnecessary whitespace changes. > (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) Could you move the new inputs to a separate commit? I.e. upgrade duplicity in one commit, then followup with another commit that adds the new backend inputs? > + ("lftp" ,lftp) > + ("gnupg" ,gnupg-1) > + ("ncftp" ,ncftp) > + ("tzdata" ,tzdata) > + ("par2cmdline" ,par2cmdline))) > (arguments > - `(#:python ,python-2 ;setup assumes Python 2 > + `(#:python ,python-2 Why remove this comment? > #: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 Could you make the transition to modify-phases in a separate commit? > + (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)) ^ Again, why remove the comment? > + ;; 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") > + ;; Let's leave this out then, or just leave a small "TODO" comment. > + ;; 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"))))))) This comment change seems gratuitous. > (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.") Let's leave out the nnecessary whitespace changes. Could you send an updated patch? Thanks, `~Eric ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] gnu: Duplicity: Update to 0.7.10 2016-09-20 19:25 ` Eric Bavier @ 2016-09-22 6:31 ` Brendan Tildesley 2016-09-27 17:21 ` Leo Famulari 0 siblings, 1 reply; 7+ messages in thread From: Brendan Tildesley @ 2016-09-22 6:31 UTC (permalink / raw) To: guix-devel [-- Attachment #1: Type: text/plain, Size: 366 bytes --] Eric Bavier 於 2016-09-21 05:25 寫道: > [...] > Let's leave out the nnecessary whitespace changes. > > Could you send an updated patch? > Thanks, > `~Eric Ok, I remade it all to look like I didn't just rewrite everything from scratch, and added the incorrect indentation back in. Seems odd to prefer keeping the patch small over fixing indentation. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-gnu-duplicity-Update-to-0.7.10.patch --] [-- Type: text/x-patch; name="0001-gnu-duplicity-Update-to-0.7.10.patch", Size: 6116 bytes --] From 15721c677f20156071fe0efb150b3af63f64648c Mon Sep 17 00:00:00 2001 From: Brendan Tildesley <brendan.tildesley@openmailbox.org> Date: Tue, 20 Sep 2016 20:41:30 +1000 Subject: [PATCH 1/3] gnu: duplicity: Update to 0.7.10. * gnu/packages/backup.scm (duplicity): Update to 0.7.10. [source]: Remove duplicity-piped-password.patch. [source]: Remove duplicity-test_selection-tmp.patch. * gnu/local.mk (dist_patch_DATA): Removed above patch file entries. --- gnu/local.mk | 2 -- gnu/packages/backup.scm | 15 +++++++-------- gnu/packages/patches/duplicity-piped-password.patch | 20 -------------------- .../patches/duplicity-test_selection-tmp.patch | 18 ------------------ 4 files changed, 7 insertions(+), 48 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/local.mk b/gnu/local.mk index a756638..2445172 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -488,8 +488,6 @@ dist_patch_DATA = \ %D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-segfault-fix.patch \ %D%/packages/patches/doxygen-test.patch \ - %D%/packages/patches/duplicity-piped-password.patch \ - %D%/packages/patches/duplicity-test_selection-tmp.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elixir-disable-failing-tests.patch \ %D%/packages/patches/einstein-build.patch \ diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index e77c4f2..0082676 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name> +;;; Copyright © 2016 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,7 +52,7 @@ (define-public duplicity (package (name "duplicity") - (version "0.6.26") + (version "0.7.10") (source (origin (method url-fetch) @@ -61,20 +62,17 @@ version ".tar.gz")) (sha256 (base32 - "0jh79syhr8n3l81jxlwsmwm1pklb4d923m2lgqbswyavh1fqmvwb")) - (patches (search-patches "duplicity-piped-password.patch" - "duplicity-test_selection-tmp.patch")))) + "0hj8451gpndyqdfxwhbxwr9ddxvc47g0iv003q33q5kda8ayyps8")))) (build-system python-build-system) (native-inputs `(("python2-setuptools" ,python2-setuptools) + ("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 + ("gnupg" ,gnupg-1) ("tzdata" ,tzdata))) (arguments `(#:python ,python-2 ;setup assumes Python 2 @@ -82,7 +80,8 @@ #:phases (alist-cons-before 'check 'check-setup (lambda* (#:key inputs #:allow-other-keys) - (substitute* "testing/functional/__init__.py" + (substitute* '("testing/functional/__init__.py" + "testing/overrides/bin/lftp") (("/bin/sh") (which "sh"))) (setenv "HOME" (getcwd)) ;gpg needs to write to $HOME (setenv "TZDIR" ;some timestamp checks need TZDIR 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 [-- Attachment #3: 0002-gnu-duplicity-Use-modify-phases.patch --] [-- Type: text/x-patch, Size: 2082 bytes --] From aa2ed1cc2e6863f26e675f77ff210b346b8bfd93 Mon Sep 17 00:00:00 2001 From: Brendan Tildesley <brendan.tildesley@openmailbox.org> Date: Thu, 22 Sep 2016 01:45:19 +1000 Subject: [PATCH 2/3] gnu: duplicity: Use modify-phases. * gnu/packages/backup.scm (duplicity): Use modify-phases instead of alist-cons-before. --- gnu/packages/backup.scm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 0082676..665e0d6 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -77,17 +77,17 @@ (arguments `(#:python ,python-2 ;setup assumes Python 2 #:test-target "test" - #:phases (alist-cons-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)) ;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)) ;gpg needs to write to $HOME + (setenv "TZDIR" ;some timestamp checks need TZDIR + (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo"))))))) (home-page "http://duplicity.nongnu.org/index.html") (synopsis "Encrypted backup using rsync algorithm") (description -- 2.9.3 [-- Attachment #4: 0003-gnu-duplicity-Add-various-backends.patch --] [-- Type: text/x-patch, Size: 1401 bytes --] From 95a4a505cf48627205cfd734b73c74913d88c36c Mon Sep 17 00:00:00 2001 From: Brendan Tildesley <brendan.tildesley@openmailbox.org> Date: Thu, 22 Sep 2016 01:03:32 +1000 Subject: [PATCH 3/3] gnu: duplicity: Add various backends * gnu/packages/backup.scm (duplicity): Add various backends. --- gnu/packages/backup.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 665e0d6..fea3a57 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -34,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) @@ -71,7 +72,15 @@ (inputs `(("python" ,python-2) ("librsync" ,librsync) - ("lockfile" ,python2-lockfile) + ("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) + ("ncftp" ,ncftp) + ("par2cmdline" ,par2cmdline) ("gnupg" ,gnupg-1) ("tzdata" ,tzdata))) (arguments -- 2.9.3 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] gnu: Duplicity: Update to 0.7.10 2016-09-22 6:31 ` Brendan Tildesley @ 2016-09-27 17:21 ` Leo Famulari 0 siblings, 0 replies; 7+ messages in thread From: Leo Famulari @ 2016-09-27 17:21 UTC (permalink / raw) To: Brendan Tildesley; +Cc: guix-devel On Thu, Sep 22, 2016 at 04:31:37PM +1000, Brendan Tildesley wrote: > Eric Bavier 於 2016-09-21 05:25 寫道: > > Let's leave out the nnecessary whitespace changes. > > > > Could you send an updated patch? > > Ok, I remade it all to look like I didn't just rewrite everything from > scratch, and added the incorrect indentation back in. Seems odd to > prefer keeping the patch small over fixing indentation. Having lots of code changes that don't change the function of the code makes it difficult for reviewers and Git log readers to understand what was changed. If a package definition has really bad indentation or style problems, then I think it's best to fix them in their own commit where reviewers can easily determine that nothing functional has changed. Thank you for revising your patches! > From 15721c677f20156071fe0efb150b3af63f64648c Mon Sep 17 00:00:00 2001 > From: Brendan Tildesley <brendan.tildesley@openmailbox.org> > Date: Tue, 20 Sep 2016 20:41:30 +1000 > Subject: [PATCH 1/3] gnu: duplicity: Update to 0.7.10. > > * gnu/packages/backup.scm (duplicity): Update to 0.7.10. > [source]: Remove duplicity-piped-password.patch. > [source]: Remove duplicity-test_selection-tmp.patch. > * gnu/local.mk (dist_patch_DATA): Removed above patch file entries. In general, could you try following our conventions when writing the changelogs? [0] Reviewers can rewrite them, of course, but we'd prefer to not have to. For this patch, it would look something like what's below. The important thing is to mention all the changes. I look at `git log` when I am unsure. Subject: [PATCH 1/3] gnu: duplicity: Update to 0.7.10. * gnu/packages/backup.scm (duplicity): Update to 0.7.10. [source]: Remove obsolete patches. [inputs]: Remove util-linux. Make python2-mock a native-input. [arguments]: Also substitute path in 'testing/overrides/bin/lftp' in phase 'check-setup'. * gnu/packages/patches/duplicity-piped-password.patch, gnu/packages/patches/duplicity-test_selection-tmp.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. > From aa2ed1cc2e6863f26e675f77ff210b346b8bfd93 Mon Sep 17 00:00:00 2001 > From: Brendan Tildesley <brendan.tildesley@openmailbox.org> > Date: Thu, 22 Sep 2016 01:45:19 +1000 > Subject: [PATCH 2/3] gnu: duplicity: Use modify-phases. > > * gnu/packages/backup.scm (duplicity): Use modify-phases instead of > alist-cons-before. The patch LGTM, although I'd silently edit the commit message to this when pushing: * gnu/packages/backup.scm (duplicity)[arguments]: Use modify-phases instead of alist-cons-before. > From 95a4a505cf48627205cfd734b73c74913d88c36c Mon Sep 17 00:00:00 2001 > From: Brendan Tildesley <brendan.tildesley@openmailbox.org> > Date: Thu, 22 Sep 2016 01:03:32 +1000 > Subject: [PATCH 3/3] gnu: duplicity: Add various backends > > * gnu/packages/backup.scm (duplicity): Add various backends. * gnu/packages/backup.scm (duplicity)[inputs]: Add python2-lockfile, python2-pexpect, python2-paramiko, python2-pycrypto, python2-botocore, python2-dropbox, lftp, ncftp, par2cmdline. This patch doesn't work, because we don't have a python2-dropbox package. Also, I noticed that without this patch, the first patch (gnu: duplicity: Update to 0.7.10.) failed because it needs pexpect. So, whatever is needed for the update should go in that first patch, and the python2-dropbox patch should be provided at the beginning of this patch series. Can you send a revised patch series? [0] See the text about the ChangeLog format: https://www.gnu.org/software/guix/manual/html_node/Submitting-Patches.html ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-09-27 17:21 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-09-20 11:28 [PATCH 0/3] gnu: Duplicity: Update to 0.7.10 Brendan Tildesley 2016-09-20 11:31 ` [PATCH 1/3] gnu: Add python-typing Brendan Tildesley 2016-09-20 11:32 ` [PATCH 2/3] gnu: Add python-dropbox Brendan Tildesley 2016-09-20 11:36 ` [PATCH 3/3] gnu: Duplicity: Update to 0.7.10 Brendan Tildesley 2016-09-20 19:25 ` Eric Bavier 2016-09-22 6:31 ` Brendan Tildesley 2016-09-27 17:21 ` Leo Famulari
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.