GNU bug report logs - #58386
Age encryption : passage

Previous Next

Package: guix-patches;

Reported by: Nicolas Graves <ngraves <at> ngraves.fr>

Date: Sat, 8 Oct 2022 22:43:02 UTC

Severity: normal

Done: Tobias Geerinckx-Rice <me <at> tobias.gr>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 58386 in the body.
You can then email your comments to 58386 AT debbugs.gnu.org in the normal way.

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#58386; Package guix-patches. (Sat, 08 Oct 2022 22:43:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Nicolas Graves <ngraves <at> ngraves.fr>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 08 Oct 2022 22:43:02 GMT) Full text and rfc822 format available.

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

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: guix-patches <at> gnu.org
Subject: Age encryption : passage
Date: Sun, 09 Oct 2022 00:42:15 +0200
Hi!

Small patch series following https://issues.guix.gnu.org/58340 for
adding the fork of the password-store.

I've made the choice to rename the existing passage game to
passage-game in a first commit, I hope it's OK. 

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#58386; Package guix-patches. (Sat, 08 Oct 2022 22:46:02 GMT) Full text and rfc822 format available.

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

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 58386 <at> debbugs.gnu.org
Cc: ngraves <at> ngraves.fr
Subject: [PATCH 1/2] gnu: passage: Rename package to passage-game.
Date: Sun,  9 Oct 2022 00:44:52 +0200
* gnu/packages/games.scm (passage): Define in terms of
'deprecated-package'.
(passage-game): New variable, formerly known as "passage".
---
 gnu/packages/games.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 246472c699..3efd5ff626 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -10820,9 +10820,9 @@ (define-public cgoban
 @end itemize")
     (license license:gpl2+)))
 
-(define-public passage
+(define-public passage-game
   (package
-    (name "passage")
+    (name "passage-game")
     (version "4")
     (source
      (origin
-- 
2.38.0





Information forwarded to guix-patches <at> gnu.org:
bug#58386; Package guix-patches. (Sat, 08 Oct 2022 22:46:03 GMT) Full text and rfc822 format available.

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

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 58386 <at> debbugs.gnu.org
Cc: ngraves <at> ngraves.fr
Subject: [PATCH 2/2] gnu: Add passage.
Date: Sun,  9 Oct 2022 00:44:53 +0200
* gnu/packages/password-utils.scm (passage): New variable.
---
 gnu/packages/password-utils.scm | 39 +++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 8e29bef484..6bc3b99af4 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -37,6 +37,7 @@
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2022 Maxime Devos <maximedevos <at> telenet.be>
 ;;; Copyright © 2022 ( <paren <at> disroot.org>
+;;; Copyright © 2022 Nicolas Graves <ngraves <at> ngraves.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -57,6 +58,7 @@ (define-module (gnu packages password-utils)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix utils)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
   #:use-module (guix build-system python)
@@ -589,6 +591,43 @@ (define-public password-store
 through the pass command.")
     (license license:gpl2+)))
 
+(define-public passage
+  (package
+    (inherit password-store)
+    (name "passage")
+    (version "1.7.4a0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/FiloSottile/passage")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "17899whffnpqqx9x1nx2b8bfxbxlh1pwlglqa0kznl0cn6sb37ql"))))
+    (build-system copy-build-system)
+    (propagated-inputs
+     (list util-linux git qrencode sed tree age))
+    (build-system copy-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'rename-exe
+                    (lambda _
+                      (rename-file "src/password-store.sh"
+                                   "src/passage"))))
+       #:install-plan
+       (list '("src/passage" "/bin/")
+             '("src/completion/pass.bash-completion"
+               "/share/bash-completion/completions/")
+             '("src/completion/pass.zsh-completion"
+               "/share/zsh/site-functions/"))))
+    (home-page "https://github.com/FiloSottile/passage")
+    (synopsis "A fork of the password-store encrypted password manager")
+    (description "This package provides a fork of the @code{password-store}
+encrypted password manager.  It relies on @code{age} instead of
+@code{gnupg}.")
+    (license license:gpl2+)))
+
 (define-public pass-otp
   (package
     (name "pass-otp")
-- 
2.38.0





Information forwarded to guix-patches <at> gnu.org:
bug#58386; Package guix-patches. (Sun, 09 Oct 2022 00:02:02 GMT) Full text and rfc822 format available.

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

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: guix-patches <at> gnu.org, 58386 <at> debbugs.gnu.org
Subject: Re: [bug#58386] [PATCH 2/2] gnu: Add passage.
Date: Sun, 09 Oct 2022 01:05:44 +0200
[Message part 1 (text/plain, inline)]
Heyo,

Nicolas Graves via Guix-patches via 写道:
> +(define-public passage

Thanks!

Most points below can be fixed up by a committer, including the 
description, but those tend to sound better when written by an 
actual user.  If you'd like to give it a try.

> +    (build-system copy-build-system)
> +    (propagated-inputs
> +     (list util-linux git qrencode sed tree age))

Super-nitpick: inputs conventionally hang out a bit lower, under 
the arguments field.

> +    (build-system copy-build-system)

Duped.

> +    (arguments
> +     '(#:phases (modify-phases %standard-phases
> +                  (add-after 'unpack 'rename-exe

s/exe/script/ (or sure, executable).

> +                    (lambda _
> +                      (rename-file "src/password-store.sh"
> +                                   "src/passage"))))
> +       #:install-plan
> +       (list '("src/passage" "/bin/")
> +             '("src/completion/pass.bash-completion"
> +               "/share/bash-completion/completions/")

OK, I've been looking at this for an embarrasingly long time 
trying to figure out what you're trying to communicate with '(… 
(list '(…))).  It seems very deliberate.  Any hints?  :-p

> +    (home-page "https://github.com/FiloSottile/passage")
> +    (synopsis "A fork of the password-store encrypted password 
> manager")

Another nitpic^Wcool tip: @command{} & friends work here just as 
well as in the description.  There's no difference.

The text should describe the package, not its ancestry.

> +    (description "This package provides a fork of the 
> @code{password-store}
> +encrypted password manager.  It relies on @code{age} instead of
> +@code{gnupg}.")

Same here.  I know all of these words but what do they mean?

> +    (license license:gpl2+)))

Checked.

> +
>  (define-public pass-otp
>    (package
>      (name "pass-otp")

> I've made the choice to rename the existing passage game to
> passage-game in a first commit, I hope it's OK. 

No, I don't think it is.  Adding this script need not affect other 
packages.

Kind regards,

T G-R
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#58386; Package guix-patches. (Sun, 09 Oct 2022 00:02:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#58386; Package guix-patches. (Tue, 11 Oct 2022 21:40:01 GMT) Full text and rfc822 format available.

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

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: guix-patches <at> gnu.org, 58386 <at> debbugs.gnu.org
Subject: [PATCH v2] gnu: Add passage.
Date: Tue, 11 Oct 2022 23:39:45 +0200
* gnu/packages/password-utils.scm (passage): New variable.
---
 gnu/packages/password-utils.scm | 38 +++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 8e29bef484..36b0ae7537 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -37,6 +37,7 @@
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2022 Maxime Devos <maximedevos <at> telenet.be>
 ;;; Copyright © 2022 ( <paren <at> disroot.org>
+;;; Copyright © 2022 Nicolas Graves <ngraves <at> ngraves.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -57,6 +58,7 @@ (define-module (gnu packages password-utils)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix utils)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
   #:use-module (guix build-system python)
@@ -589,6 +591,42 @@ (define-public password-store
 through the pass command.")
     (license license:gpl2+)))

+(define-public pass-age
+  (package
+    (inherit password-store)
+    (name "pass-age")
+    (version "1.7.4a0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/FiloSottile/passage")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "17899whffnpqqx9x1nx2b8bfxbxlh1pwlglqa0kznl0cn6sb37ql"))))
+    (build-system copy-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'rename-script
+                    (lambda _
+                      (rename-file "src/password-store.sh"
+                                   "src/passage"))))
+       #:install-plan
+       '(("src/passage" "/bin/")
+         ("src/completion/pass.bash-completion"
+          "/share/bash-completion/completions/")
+         ("src/completion/pass.zsh-completion"
+          "/share/zsh/site-functions/"))))
+    (propagated-inputs
+     (list util-linux git qrencode sed tree age))
+    (home-page "https://github.com/FiloSottile/passage")
+    (synopsis "An encrypted password manager")
+    (description "This package provides an encrypted password manager, forked
+from the @code{password-store} package.  Files are encrypted with the
+@command{age} encryption package with small explicit keys.")
+    (license license:gpl2+)))
+
 (define-public pass-otp
   (package
     (name "pass-otp")
--
2.38.0

Thanks for the review!

> OK, I've been looking at this for an embarrasingly long time
> trying to figure out what you're trying to communicate with '(…
> (list '(…))).  It seems very deliberate.  Any hints?  :-p

Not deliberate, I probably misread the copy-build-system info
manual. Fixed!

> No, I don't think it is.  Adding this script need not affect other
> packages.

I understand, although I would think that choices need to be made and
that this one would not annoy a lot.

Just as a reminder, this patch cannot be merged before 58340.

--
Best regards,
Nicolas Graves




Reply sent to Tobias Geerinckx-Rice <me <at> tobias.gr>:
You have taken responsibility. (Wed, 19 Oct 2022 19:41:02 GMT) Full text and rfc822 format available.

Notification sent to Nicolas Graves <ngraves <at> ngraves.fr>:
bug acknowledged by developer. (Wed, 19 Oct 2022 19:41:02 GMT) Full text and rfc822 format available.

Message #25 received at 58386-done <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: 58386-done <at> debbugs.gnu.org, 58340-done <at> debbugs.gnu.org
Subject: Re: [PATCH v2] gnu: Add passage.
Date: Wed, 19 Oct 2022 19:17:33 +0200
[Message part 1 (text/plain, inline)]
Hi Nicolas,

Nicolas Graves 写道:
> Just as a reminder, this patch cannot be merged before 58340.

Thanks, I realised that after I sent it.  I'll treat (and close) 
them as one bug for this reply.

I've pushed all 3 patches as 
ac553ba68e535810085dd838e48e4fa6ac553e67 et al with the following 
mods:

> * gnu/packages/password-utils.scm (passage): New variable.

I fixed up the commit message to match the name, and addressed the 
following ‘guix lint’ warnings:

 pass-age <at> 1.7.4a0: no article allowed at the beginning of the 
 synopsis
 age <at> 1.0.0: sentences in description should be followed by two 
 spaces

Whilst there, I turned @code{age-encryption.org/v1} into a full 
@url{}, and fixed up upstream's ‘config’ & ‘UNIX’ slang.

> * gnu/packages/golang.scm
>   (age): New variable.
>   (go-filippo-io-cmd-age): New variable.
>   (go-filippo-io-cmd-age-keygen): New variable.
 ^^
Our changelogs are never indented, you'd write:

> * gnu/packages/golang.scm (age, go-filippo-io-cmd-age)
> (go-filippo-io-cmd-age-keygen): New variables.

…but in this case, I was bold and removed the two 
go-filippo-io-cmd-age* packages completely.  I moved ‘age’ to (gnu 
packages password-utils).

The partial recursion in the go-* variants made me nervous (and 
would probably prevent the move, although I didn't try).

If these variants are needed for something, it's not pass-age, and 
we can review them separately if/when needed.  Is that acceptable?

> I would think that choices need to be made

Princip(al)ly: the choice to reuse an existing package name was 
FiloSottile's, for the sake of a pun.  Much as I like bad puns, I 
think that's rather rude.  It's not hard to search for free 
package names, e.g., [0].

> that this one would not annoy a lot.

Technically: it would silently replace users' games with some 
encryption tool.  That's problematic even if those users are few.

Similarly: had the game been added after this ‘passage’, I would 
have grumpily agreed to ‘passage-game’ :-)  But it wasn't.

But: I think your ’pass-age’ solution is perfect.  Thanks! 
FiloSottile should consider it.

Kind regards,

T G-R

[0]: https://repology.org/project/passage/versions

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#58386; Package guix-patches. (Wed, 19 Oct 2022 19:54:02 GMT) Full text and rfc822 format available.

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

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: 58386-done <at> debbugs.gnu.org, Nicolas Graves <ngraves <at> ngraves.fr>,
 guix-patches <at> gnu.org, 58340-done <at> debbugs.gnu.org
Subject: Re: bug#58386: [PATCH v2] gnu: Add passage.
Date: Wed, 19 Oct 2022 21:49:50 +0200
[Message part 1 (text/plain, inline)]
Tobias Geerinckx-Rice via Guix-patches via 写道:
> …but in this case, I was bold and removed the two
> go-filippo-io-cmd-age* packages completely.

Grr.  And of course, whilst migrating pass-age's propagated-inputs 
to regular ones (propagation is evil and should be avoided 
whenever possible), I see I've been looking at the wrong ‘age’.

Y'know.  The one that does have a ‘/bin/age’ in it.

Yep, I'm back,

T G-R
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#58386; Package guix-patches. (Wed, 19 Oct 2022 19:54:03 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#58386; Package guix-patches. (Sat, 22 Oct 2022 07:52:02 GMT) Full text and rfc822 format available.

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

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: 58340 <at> debbugs.gnu.org, 58386 <at> debbugs.gnu.org
Subject: Re: bug#58386: [PATCH v2] gnu: Add passage.
Date: Sat, 22 Oct 2022 09:51:02 +0200
Hey Tobias,

> Y'know.  The one that does have a ‘/bin/age’ in it.

In the current version, it seems that the age-keygen binary is not in
the bin output. Both commands "age" and "age-keygen" are necessary,
hence the way I tried to package that with propagated inputs.

Thanks for your reviews, let me know if I can help.

-- 
Best regards,
Nicolas Graves




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 19 Nov 2022 12:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 215 days ago.

Previous Next


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