GNU bug report logs - #60003
[PATCH 0/3] gnu: Add pass-import.

Previous Next

Package: guix-patches;

Reported by: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>

Date: Mon, 12 Dec 2022 11:48:01 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 60003 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#60003; Package guix-patches. (Mon, 12 Dec 2022 11:48:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tobias Kortkamp <tobias.kortkamp <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 12 Dec 2022 11:48:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
Subject: [PATCH 0/3] gnu: Add pass-import.
Date: Mon, 12 Dec 2022 12:46:50 +0100
Hi,

this add pass-import which was useful for migrating from keepassxc to
pass. python-pykeepass needed to be updated which in turn required a newer
python-construct.

Best regards,

Tobias Kortkamp (3):
  gnu: python-construct: Update to 2.10.68.
  gnu: python-pykeepass: Update to 4.0.3.
  gnu: Add pass-import.

 gnu/packages/password-utils.scm | 71 +++++++++++++++++++++++++++++++++
 gnu/packages/python-crypto.scm  |  6 +--
 gnu/packages/python-xyz.scm     |  4 +-
 3 files changed, 76 insertions(+), 5 deletions(-)


base-commit: 2d989ad59793e10c6fef94d9eaa51be91469318a
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#60003; Package guix-patches. (Mon, 12 Dec 2022 11:50:02 GMT) Full text and rfc822 format available.

Message #8 received at 60003 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
To: 60003 <at> debbugs.gnu.org
Cc: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
Subject: [PATCH 1/3] gnu: python-construct: Update to 2.10.68.
Date: Mon, 12 Dec 2022 12:49:32 +0100
* gnu/packages/python-xyz.scm (python-construct): Update to 2.10.68.
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a9b123d4c2..3af1dbb70d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -24304,14 +24304,14 @@ (define-public python-attr
 (define-public python-construct
   (package
     (name "python-construct")
-    (version "2.10.56")
+    (version "2.10.68")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "construct" version))
        (sha256
         (base32
-         "0q86jjzsvy835h3c8pjj4619vbp7ihfg8njmyw86ym4qrpni7flp"))))
+         "0icb7pr6xv5fz8g2miq42yq5s1ps2vaknk313nmab5zmwpc3yakv"))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #f)) ; No tests exist.
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#60003; Package guix-patches. (Mon, 12 Dec 2022 11:50:02 GMT) Full text and rfc822 format available.

Message #11 received at 60003 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
To: 60003 <at> debbugs.gnu.org
Cc: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
Subject: [PATCH 2/3] gnu: python-pykeepass: Update to 4.0.3.
Date: Mon, 12 Dec 2022 12:49:33 +0100
* gnu/packages/python-crypto.scm (python-pykeepass): Update to 4.0.3.
---
 gnu/packages/python-crypto.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index c9071c4cf6..c356bdfea6 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -1134,17 +1134,17 @@ (define-public python-m2crypto
 (define-public python-pykeepass
   (package
     (name "python-pykeepass")
-    (version "3.2.1")
+    (version "4.0.3")
     (source
      (origin
        (method git-fetch)
        ;; Source tarball on PyPI doesn't include tests.
        (uri (git-reference
              (url "https://github.com/libkeepass/pykeepass")
-             (commit version)))
+             (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1symxf4ahylynihnp9z4z3lh2vy65ipvg8s4hjrnn936hcaaxghk"))))
+        (base32 "1zkdzsm1fi0c8h7zy5k0rj3c24i9kam85kwdl5bf3m0x3c2dwaqz"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#60003; Package guix-patches. (Mon, 12 Dec 2022 11:50:03 GMT) Full text and rfc822 format available.

Message #14 received at 60003 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
To: 60003 <at> debbugs.gnu.org
Cc: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
Subject: [PATCH 3/3] gnu: Add pass-import.
Date: Mon, 12 Dec 2022 12:49:34 +0100
* gnu/packages/password-utils.scm (pass-import): New variable.
---
 gnu/packages/password-utils.scm | 71 +++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index aab0a3f2a4..79781ed9e6 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -38,6 +38,7 @@
 ;;; Copyright © 2022 Maxime Devos <maximedevos <at> telenet.be>
 ;;; Copyright © 2022 ( <paren <at> disroot.org>
 ;;; Copyright © 2022 Nicolas Graves <ngraves <at> ngraves.fr>
+;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -101,6 +102,7 @@ (define-module (gnu packages password-utils)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages readline)
@@ -1492,3 +1494,72 @@ (define-public xkcdpass
                    license:lgpl2.0 ;finnish word list
                    license:lgpl2.1 ;portuguese word list
                    license:mpl1.1)))) ;portuguese word list
+
+(define-public pass-import
+  (package
+    (name "pass-import")
+    (version "3.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/roddhjav/pass-import"
+                                  "/releases/download/" version "/pass-import-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32 "18vh97h3bmspwqhb9xjkapk3p8hy4rxhazrcc06f6pdz8rb6rxxp"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'patch-paths
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* '("import.bash")
+                     (("python3")
+                      #$(file-append python-wrapper "/bin/python")))
+                   (substitute* '("setup.py")
+                     (("base = '/usr'")
+                      (string-append "base = '" #$output "'"))
+                     (("sys\\.prefix")
+                      (string-append "'" #$output "'")))
+                   (substitute* '("tests/imports/test_parse.py")
+                     ;; requires running D-Bus session
+                     (("test_import_gnome_keyring") "disabled_test_import_gnome_keyring")
+                     ;; requires lastpass
+                     (("test_import_lastpass") "disabled_test_import_lastpass"))
+                   (substitute* '("tests/exports/test_lastpass.py")
+                     (("test_import_lastpass") "disabled_test_import_lastpass")
+                     (("test_lastpass_exist") "disabled_test_lastpass_exist")
+                     (("test_lastpass_insert") "disabled_test_lastpass_insert")
+                     (("test_lastpass_show") "disabled_test_lastpass_show")
+                     (("test_lastpass_list") "disabled_test_lastpass_list")
+                     (("test_lastpass_isvalid") "disabled_test_lastpass_isvalid"))))
+               (add-after 'install 'wrap-extension
+                 (lambda _
+                   (let ((pylib (string-append #$output "/lib/python"
+                                               #$(version-major+minor
+                                                  (package-version python))
+                                               "/site-packages"))
+                         (extension (string-append #$output
+                                                   "/lib/password-store/extensions/import.bash")))
+                     (wrap-program extension
+                       (list "GUIX_PYTHONPATH" ":"
+                             'prefix
+                             (list (getenv "GUIX_PYTHONPATH")
+                                   pylib)))))))))
+    (inputs (list gnupg
+                  password-store
+                  python-cryptography
+                  python-defusedxml
+                  python-magic
+                  python-pyaml
+                  python-pykeepass
+                  python-requests
+                  python-secretstorage
+                  python-zxcvbn))
+    (home-page "https://github.com/roddhjav/pass-import")
+    (synopsis
+     "Pass extension for importing data from many password managers")
+    (description
+     "This package provides a pass extension for importing data from many password
+managers. @command{pimport} can be used to export data to other password managers
+like gopass or keepassxc too.")
+    (license license:gpl3+)))
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#60003; Package guix-patches. (Thu, 05 Jan 2023 15:22:02 GMT) Full text and rfc822 format available.

Message #17 received at 60003 <at> debbugs.gnu.org (full text, mbox):

From: Jelle Licht <jlicht <at> fsfe.org>
To: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>, 60003 <at> debbugs.gnu.org
Subject: Re: [bug#60003] [PATCH 3/3] gnu: Add pass-import.
Date: Thu, 05 Jan 2023 16:21:09 +0100
Hello Tobias,

Tobias Kortkamp <tobias.kortkamp <at> gmail.com> writes:

> * gnu/packages/password-utils.scm (pass-import): New variable.
> ---
>  gnu/packages/password-utils.scm | 71 +++++++++++++++++++++++++++++++++
>  1 file changed, 71 insertions(+)
>
> diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
> index aab0a3f2a4..79781ed9e6 100644
> --- a/gnu/packages/password-utils.scm
> +++ b/gnu/packages/password-utils.scm
> @@ -38,6 +38,7 @@
>  ;;; Copyright © 2022 Maxime Devos <maximedevos <at> telenet.be>
>  ;;; Copyright © 2022 ( <paren <at> disroot.org>
>  ;;; Copyright © 2022 Nicolas Graves <ngraves <at> ngraves.fr>
> +;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -101,6 +102,7 @@ (define-module (gnu packages password-utils)
>    #:use-module (gnu packages perl)
>    #:use-module (gnu packages pkg-config)
>    #:use-module (gnu packages python)
> +  #:use-module (gnu packages python-crypto)
>    #:use-module (gnu packages python-web)
>    #:use-module (gnu packages python-xyz)
>    #:use-module (gnu packages readline)
> @@ -1492,3 +1494,72 @@ (define-public xkcdpass
>                     license:lgpl2.0 ;finnish word list
>                     license:lgpl2.1 ;portuguese word list
>                     license:mpl1.1)))) ;portuguese word list
> +
> +(define-public pass-import
> +  (package
> +    (name "pass-import")
> +    (version "3.4")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://github.com/roddhjav/pass-import"
> +                                  "/releases/download/" version "/pass-import-"
You missed a "v" here; could you make it "download/v" instead? That works for
me, with the provided base32 hash.

> +                                  version ".tar.gz"))
> +              (sha256
> +               (base32 "18vh97h3bmspwqhb9xjkapk3p8hy4rxhazrcc06f6pdz8rb6rxxp"))))
> +    (build-system python-build-system)
> +    (arguments
> +     (list #:phases
> +           #~(modify-phases %standard-phases
> +               (add-after 'unpack 'patch-paths
> +                 (lambda* (#:key inputs #:allow-other-keys)
> +                   (substitute* '("import.bash")
> +                     (("python3")
> +                      #$(file-append python-wrapper "/bin/python")))

Perhaps someone more experienced with our python-packages can still
weigh in, but wouldn't the following work here as well?

--8<---------------cut here---------------start------------->8---
                     (("python3")
                      (search-input-file inputs "/bin/python3")))
--8<---------------cut here---------------end--------------->8---

> +                   (substitute* '("setup.py")
> +                     (("base = '/usr'")
> +                      (string-append "base = '" #$output "'"))
> +                     (("sys\\.prefix")
> +                      (string-append "'" #$output "'")))
> +                   (substitute* '("tests/imports/test_parse.py")
> +                     ;; requires running D-Bus session
> +                     (("test_import_gnome_keyring") "disabled_test_import_gnome_keyring")
> +                     ;; requires lastpass
> +                     (("test_import_lastpass") "disabled_test_import_lastpass"))
> +                   (substitute* '("tests/exports/test_lastpass.py")
> +                     (("test_import_lastpass") "disabled_test_import_lastpass")
> +                     (("test_lastpass_exist") "disabled_test_lastpass_exist")
> +                     (("test_lastpass_insert") "disabled_test_lastpass_insert")
> +                     (("test_lastpass_show") "disabled_test_lastpass_show")
> +                     (("test_lastpass_list") "disabled_test_lastpass_list")
> +                     (("test_lastpass_isvalid") "disabled_test_lastpass_isvalid"))))

Nit: in this phase you seem to patch paths and disable tests. Consider splitting
it up into two phases.

I still run into some test failures:
--8<---------------cut here---------------start------------->8---
Ran 135 tests in 12.145s

FAILED (failures=6, errors=1, skipped=10)
Test failed: <unittest.runner.TextTestResult run=135 errors=1 failures=6>
error: Test failed: <unittest.runner.TextTestResult run=135 errors=1 failures=6>
        Password-pwned-1
        Password-pwned-2
        Password-pwned-3
        Password-pwned-4
        Password-pwned-5
        Password-pwned-6
        Password-pwned-7
--8<---------------cut here---------------end--------------->8---

> +               (add-after 'install 'wrap-extension
> +                 (lambda _
> +                   (let ((pylib (string-append #$output "/lib/python"
> +                                               #$(version-major+minor
> +                                                  (package-version python))
> +                                               "/site-packages"))
> +                         (extension (string-append #$output
> +                                                   "/lib/password-store/extensions/import.bash")))

This line seems to make `./pre-inst-env guix lint pass-import' unhappy,
as it is too wide.

> +                     (wrap-program extension
> +                       (list "GUIX_PYTHONPATH" ":"
> +                             'prefix
> +                             (list (getenv "GUIX_PYTHONPATH")
> +                                   pylib)))))))))
> +    (inputs (list gnupg
> +                  password-store
> +                  python-cryptography
> +                  python-defusedxml
> +                  python-magic
> +                  python-pyaml
> +                  python-pykeepass
> +                  python-requests
> +                  python-secretstorage
> +                  python-zxcvbn))
> +    (home-page "https://github.com/roddhjav/pass-import")
> +    (synopsis
> +     "Pass extension for importing data from many password managers")
> +    (description
> +     "This package provides a pass extension for importing data from many password
> +managers. @command{pimport} can be used to export data to other password managers
> +like gopass or keepassxc too.")

Consider removing superfluous 'too'.

Thanks again!
 - Jelle




Information forwarded to guix-patches <at> gnu.org:
bug#60003; Package guix-patches. (Wed, 11 Jan 2023 12:44:02 GMT) Full text and rfc822 format available.

Message #20 received at 60003 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
To: Jelle Licht <jlicht <at> fsfe.org>
Cc: 60003 <at> debbugs.gnu.org
Subject: Re: [bug#60003] [PATCH 3/3] gnu: Add pass-import.
Date: Wed, 11 Jan 2023 12:55:05 +0100
Hi Jelle,

thanks for the review. I addressed most of the problems.

Jelle Licht <jlicht <at> fsfe.org> writes:

> I still run into some test failures:
>
> --8<---------------cut here---------------start------------->8---
> Ran 135 tests in 12.145s
>
> FAILED (failures=6, errors=1, skipped=10)
> Test failed: <unittest.runner.TextTestResult run=135 errors=1 failures=6>
> error: Test failed: <unittest.runner.TextTestResult run=135 errors=1 failures=6>
>         Password-pwned-1
>         Password-pwned-2
>         Password-pwned-3
>         Password-pwned-4
>         Password-pwned-5
>         Password-pwned-6
>         Password-pwned-7
> --8<---------------cut here---------------end--------------->8---
>

Hmm, I can't reproduce this on a8b2decf287498eeb51ef23712c5bd01b60cb18b

Not sure what's going on here.




Information forwarded to guix-patches <at> gnu.org:
bug#60003; Package guix-patches. (Wed, 11 Jan 2023 12:45:02 GMT) Full text and rfc822 format available.

Message #23 received at 60003 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
To: 60003 <at> debbugs.gnu.org
Cc: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
Subject: [PATCH 3/3] gnu: Add pass-import.
Date: Wed, 11 Jan 2023 13:44:28 +0100
* gnu/packages/password-utils.scm (pass-import): New variable.
---
 gnu/packages/password-utils.scm | 72 +++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 9fc41d9b0a..f84e80e9cb 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -38,6 +38,7 @@
 ;;; Copyright © 2022 Maxime Devos <maximedevos <at> telenet.be>
 ;;; Copyright © 2022 ( <paren <at> disroot.org>
 ;;; Copyright © 2022 Nicolas Graves <ngraves <at> ngraves.fr>
+;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -101,6 +102,7 @@ (define-module (gnu packages password-utils)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages readline)
@@ -1493,3 +1495,73 @@ (define-public xkcdpass
                    license:lgpl2.0 ;finnish word list
                    license:lgpl2.1 ;portuguese word list
                    license:mpl1.1)))) ;portuguese word list
+
+(define-public pass-import
+  (package
+    (name "pass-import")
+    (version "3.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/roddhjav/pass-import"
+                                  "/releases/download/v" version "/pass-import-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32 "18vh97h3bmspwqhb9xjkapk3p8hy4rxhazrcc06f6pdz8rb6rxxp"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'patch-paths
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* '("import.bash")
+                     (("python3")
+                      (search-input-file inputs "/bin/python3")))
+                   (substitute* '("setup.py")
+                     (("base = '/usr'")
+                      (string-append "base = '" #$output "'"))
+                     (("sys\\.prefix")
+                      (string-append "'" #$output "'")))))
+               (add-after 'install 'wrap-extension
+                 (lambda _
+                   (let ((pylib (string-append #$output "/lib/python"
+                                               #$(version-major+minor
+                                                  (package-version python))
+                                               "/site-packages"))
+                         (extension "/lib/password-store/extensions/import.bash"))
+                     (wrap-program (string-append #$output extension)
+                       (list "GUIX_PYTHONPATH" ":"
+                             'prefix
+                             (list (getenv "GUIX_PYTHONPATH")
+                                   pylib))))))
+               (add-before 'check 'disable-lastpass-and-dbus-tests
+                 (lambda _
+                   (substitute* '("tests/imports/test_parse.py")
+                     ;; requires running D-Bus session
+                     (("test_import_gnome_keyring") "disabled_test_import_gnome_keyring")
+                     ;; requires lastpass
+                     (("test_import_lastpass") "disabled_test_import_lastpass"))
+                   (substitute* '("tests/exports/test_lastpass.py")
+                     (("test_import_lastpass") "disabled_test_import_lastpass")
+                     (("test_lastpass_exist") "disabled_test_lastpass_exist")
+                     (("test_lastpass_insert") "disabled_test_lastpass_insert")
+                     (("test_lastpass_show") "disabled_test_lastpass_show")
+                     (("test_lastpass_list") "disabled_test_lastpass_list")
+                     (("test_lastpass_isvalid") "disabled_test_lastpass_isvalid")))))))
+    (inputs (list gnupg
+                  password-store
+                  python-cryptography
+                  python-defusedxml
+                  python-magic
+                  python-pyaml
+                  python-pykeepass
+                  python-requests
+                  python-secretstorage
+                  python-zxcvbn))
+    (home-page "https://github.com/roddhjav/pass-import")
+    (synopsis
+     "Pass extension for importing data from many password managers")
+    (description
+     "This package provides a pass extension for importing data from many password
+managers. @command{pimport} can be used to export data to other password managers
+like gopass or keepassxc.")
+    (license license:gpl3+)))
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#60003; Package guix-patches. (Thu, 02 Feb 2023 13:14:02 GMT) Full text and rfc822 format available.

Message #26 received at 60003 <at> debbugs.gnu.org (full text, mbox):

From: Jelle Licht <jlicht <at> fsfe.org>
To: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
Cc: 60003 <at> debbugs.gnu.org
Subject: Re: [bug#60003] [PATCH 3/3] gnu: Add pass-import.
Date: Thu, 02 Feb 2023 14:13:07 +0100
Hi Tobias,

Tobias Kortkamp <tobias.kortkamp <at> gmail.com> writes:

> Hi Jelle,
>
> thanks for the review. I addressed most of the problems.

Great to hear! Any chance you could share it ;-)?

>
> Jelle Licht <jlicht <at> fsfe.org> writes:
>
>> I still run into some test failures:
>>
>> --8<---------------cut here---------------start------------->8---
>> Ran 135 tests in 12.145s
>>
>> FAILED (failures=6, errors=1, skipped=10)
>> Test failed: <unittest.runner.TextTestResult run=135 errors=1 failures=6>
>> error: Test failed: <unittest.runner.TextTestResult run=135 errors=1 failures=6>
>>         Password-pwned-1
>>         Password-pwned-2
>>         Password-pwned-3
>>         Password-pwned-4
>>         Password-pwned-5
>>         Password-pwned-6
>>         Password-pwned-7
>> --8<---------------cut here---------------end--------------->8---
>>
>
> Hmm, I can't reproduce this on a8b2decf287498eeb51ef23712c5bd01b60cb18b

This should be picked up by our QA system if you send a revised patch
series, I think, so we'll be able to tell if the problem is just on my
end or not.

Kind regards,
- Jelle




Information forwarded to guix-patches <at> gnu.org:
bug#60003; Package guix-patches. (Fri, 03 Feb 2023 17:26:01 GMT) Full text and rfc822 format available.

Message #29 received at 60003 <at> debbugs.gnu.org (full text, mbox):

From: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
To: 60003 <at> debbugs.gnu.org
Subject: [PATCH 0/3] gnu: Add pass-import.
Date: Fri, 3 Feb 2023 18:25:23 +0100
I see this test failure(s) as well. Additionaly I required this diff to
get it start building:

diff --git a/gnu/packages/password-utils.scm
b/gnu/packages/password-utils.scm
index 0fdfccaa5b..f8a0b6a40c 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -1535,7 +1535,7 @@ (define-public pass-import
     (source (origin
               (method url-fetch)
               (uri (string-append
"https://github.com/roddhjav/pass-import"
-                                  "/releases/download/" version
"/pass-import-"
+                                  "/releases/download/v" version
"/pass-import-"
                                   version ".tar.gz"))
               (sha256
                (base32
"18vh97h3bmspwqhb9xjkapk3p8hy4rxhazrcc06f6pdz8rb6rxxp"))))

I further recommend to use the `git-fetch` method in this case...




Information forwarded to lars <at> 6xq.net, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#60003; Package guix-patches. (Mon, 22 May 2023 09:47:01 GMT) Full text and rfc822 format available.

Message #32 received at 60003 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
To: 60003 <at> debbugs.gnu.org
Cc: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
Subject: [PATCH v2 1/2] gnu: python-pykeepass: Update to 4.0.4.
Date: Mon, 22 May 2023 11:45:48 +0200
* gnu/packages/python-crypto.scm (python-pykeepass): Update to 4.0.4.
---
 gnu/packages/python-crypto.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index b1d94e85b8..16cfb440cb 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -1025,17 +1025,17 @@ (define-public python-m2crypto
 (define-public python-pykeepass
   (package
     (name "python-pykeepass")
-    (version "3.2.1")
+    (version "4.0.4")
     (source
      (origin
        (method git-fetch)
        ;; Source tarball on PyPI doesn't include tests.
        (uri (git-reference
              (url "https://github.com/libkeepass/pykeepass")
-             (commit version)))
+             (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1symxf4ahylynihnp9z4z3lh2vy65ipvg8s4hjrnn936hcaaxghk"))))
+        (base32 "0s5n519vxnx06kj9g6clfpfzgprhg71p1jswskajd7n9zwixlqxk"))))
     (build-system python-build-system)
     (arguments
      `(#:phases

base-commit: 849286ba66c96534bddc04df1a47d5692cbc977e
-- 
2.40.1





Information forwarded to guix-patches <at> gnu.org:
bug#60003; Package guix-patches. (Mon, 22 May 2023 09:47:02 GMT) Full text and rfc822 format available.

Message #35 received at 60003 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
To: 60003 <at> debbugs.gnu.org
Cc: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
Subject: [PATCH v2 2/2] gnu: Add pass-import.
Date: Mon, 22 May 2023 11:45:49 +0200
* gnu/packages/password-utils.scm (pass-import): New variable.
---
 gnu/packages/password-utils.scm | 72 +++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index f5f301308a..7805af6ffe 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -39,6 +39,7 @@
 ;;; Copyright © 2022 ( <paren <at> disroot.org>
 ;;; Copyright © 2022 Nicolas Graves <ngraves <at> ngraves.fr>
 ;;; Copyright © 2022 Petr Hodina <phodina <at> protonmail.com>
+;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -103,6 +104,7 @@ (define-module (gnu packages password-utils)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages rdesktop)
@@ -1523,3 +1525,73 @@ (define-public xkcdpass
                    license:lgpl2.0 ;finnish word list
                    license:lgpl2.1 ;portuguese word list
                    license:mpl1.1)))) ;portuguese word list
+
+(define-public pass-import
+  (package
+    (name "pass-import")
+    (version "3.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/roddhjav/pass-import"
+                                  "/releases/download/v" version "/pass-import-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32 "18vh97h3bmspwqhb9xjkapk3p8hy4rxhazrcc06f6pdz8rb6rxxp"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'patch-paths
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* '("import.bash")
+                     (("python3")
+                      (search-input-file inputs "/bin/python3")))
+                   (substitute* '("setup.py")
+                     (("base = '/usr'")
+                      (string-append "base = '" #$output "'"))
+                     (("sys\\.prefix")
+                      (string-append "'" #$output "'")))))
+               (add-after 'install 'wrap-extension
+                 (lambda _
+                   (let ((pylib (string-append #$output "/lib/python"
+                                               #$(version-major+minor
+                                                  (package-version python))
+                                               "/site-packages"))
+                         (extension "/lib/password-store/extensions/import.bash"))
+                     (wrap-program (string-append #$output extension)
+                       (list "GUIX_PYTHONPATH" ":"
+                             'prefix
+                             (list (getenv "GUIX_PYTHONPATH")
+                                   pylib))))))
+               (add-before 'check 'disable-lastpass-and-dbus-tests
+                 (lambda _
+                   (substitute* '("tests/imports/test_parse.py")
+                     ;; requires running D-Bus session
+                     (("test_import_gnome_keyring") "disabled_test_import_gnome_keyring")
+                     ;; requires lastpass
+                     (("test_import_lastpass") "disabled_test_import_lastpass"))
+                   (substitute* '("tests/exports/test_lastpass.py")
+                     (("test_import_lastpass") "disabled_test_import_lastpass")
+                     (("test_lastpass_exist") "disabled_test_lastpass_exist")
+                     (("test_lastpass_insert") "disabled_test_lastpass_insert")
+                     (("test_lastpass_show") "disabled_test_lastpass_show")
+                     (("test_lastpass_list") "disabled_test_lastpass_list")
+                     (("test_lastpass_isvalid") "disabled_test_lastpass_isvalid")))))))
+    (inputs (list gnupg
+                  password-store
+                  python-cryptography
+                  python-defusedxml
+                  python-magic
+                  python-pyaml
+                  python-pykeepass
+                  python-requests
+                  python-secretstorage
+                  python-zxcvbn))
+    (home-page "https://github.com/roddhjav/pass-import")
+    (synopsis
+     "Pass extension for importing data from many password managers")
+    (description
+     "This package provides a pass extension for importing data from many password
+managers. @command{pimport} can be used to export data to other password managers
+like gopass or keepassxc.")
+    (license license:gpl3+)))
-- 
2.40.1





Information forwarded to guix-patches <at> gnu.org:
bug#60003; Package guix-patches. (Mon, 22 May 2023 10:04:01 GMT) Full text and rfc822 format available.

Message #38 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
To: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
Cc: 60003 <at> debbugs.gnu.org, guix-patches <at> gnu.org
Subject: Re: [bug#60003] [PATCH 0/3] gnu: Add pass-import.
Date: Mon, 22 May 2023 11:48:35 +0200
I rebased the patch. python-construct was already updated to 2.10.68 in
the mean time. Maybe QA will catch the test failures.

Though if either of you happen to try to build this again can you send
me the full build log?

> I further recommend to use the `git-fetch` method in this case...

Maybe after we can fix the test failures because that would mean pulling
in pandoc to build the manuals etc.




Information forwarded to guix-patches <at> gnu.org:
bug#60003; Package guix-patches. (Mon, 22 May 2023 10:04:02 GMT) Full text and rfc822 format available.

This bug report was last modified 311 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.