unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [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&section=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 public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).