gnupg 2.1.19, gnupg@2.0 (new formula), gnupg@1.4 (new formula)#11083
gnupg 2.1.19, gnupg@2.0 (new formula), gnupg@1.4 (new formula)#11083ilovezfs wants to merge 13 commits into
Conversation
|
Moving to 2.1 from 2.0 can potentially mess up a user's keychain (as the caveats in 2.1 say). However this ends up working, I don't think it should auto-upgrade someone from 2.0 to 2.1. |
|
To provide some clarity on the keyring issue when upgrading, from https://www.gnupg.org/faq/whats-new-in-2.1.html#nosecring:
EDIT:
|
|
@chdiza as written, this will indeed upgrade |
|
@JCount I was thinking specifically about the new "keybox" format for the public keyring (described later on down in that webpage), not about the secret keyring. The former could really mess people up, especially if they're not expecting their normal
Well, that's bad. If I recall correctly, this keybox thing is pretty much the whole reason why 2.1 was kept out in versions for so long, and then not made the default |
2.0 will be EOL 31 Dec 2017. |
|
Yes, @chdiza is correct. Whilst the move by default to So for example if you have the more portable The big sticking point for me on this was always that Homebrew does not intentionally mess with stuff in people's It's not impossible, to say the least, that someone runs Longer-term this also makes it necessary to rethink Homebrew's (incomplete because I'm a doofus) GPG verification, and Cask's (incomplete because nobody finished it) GPG verification if the plan there is to allow using existing keychains so people can still |
|
@DomT4 Mind reviewing the PR assuming the upgrade is a foregone conclusion ;) |
|
I'll look it over. Just wanted to lay out that this wouldn't be the end of the story if the update was pushed through, assumptions made elsewhere would need to change as well. FWIW my long-term plan here prior to departing was to get to the point where |
|
It would be nice if I could wave a magic wand and undo the years of anti-2.1 propaganda we've been putting out there. |
|
Well, to be fair, there were some pretty gnarly issues towards the start of this branch, not least around the agent on upgrade. It was a legitimate decision to stop casual users going "Ooh new shiny thing, let's try it out!" without understanding the changes around that. |
|
@chdiza I meant to post the part about the public keybox format but lost track of doing it. However, I think that its impacts on the end user are generally less in the event of an upgrade. This is because if there is an existing pubring.gpg file and no prior existing keybox, as would most likely be the case if you had been using the gnupg2 formula, as there is no automatic conversion of pubring.gpg. GnuPG would continue to use the the pubring.gpg file and remain backwards compatible. It would only be an issue if prior use of gpgsm or something similar had generated a keybox. In this case, if the user were unaware it could potentially be a serious issue. |
|
@DomT4 PR refreshed. |
Aye, this is correct, with some caveats. The biggest caveat is that This is only true for formats it actually understands though, if you use ECC (which IMO is half the point of the new branch) and then try to use that with So whilst it's true that the pain for existing users isn't immediately in your face, the longer you actually use the |
You fixed some things I was about to point out. That's very efficient 😄. |
There was a problem hiding this comment.
Can you copy the logic from the existing gnupg2 to install vanilla symlinks to gpg and gpgv.
There was a problem hiding this comment.
Solid chance Mike makes a disapproving face at me here, but if you're going to mass-update people it might be polite to do this automatically in postinstall given how much we both know people bother to read caveats.
There was a problem hiding this comment.
It should be safe to keep the stronger existing test from the original formula here given Homebrew captures $HOME for testing.
|
Filippo is correct on this point FWIW: #11080 (comment). I don't have an especially elaborately-modified GPG configuration, but I still get yelled at every time I run a command under the new Maybe that's not a bad thing, means people might actually read up and adjust their configurations, but it will require user intervention and user knowledge of what needs to change and why, which could be interesting. |
|
It may require some hand holding but I'm sure upstream will help pick up some of the support burden. |
|
@DomT4 Thank you for your constructive explanation of how I was underestimating the potential for issues that the end user faces. I appreciate candor, especially when it comes to things I may have misinterpreted or misunderstood. 😄 |
|
This looks right to me, in general. |
|
Since this doesn't seem to have been mentioned in the thread, I'll point it out: GPG Suite, a well established GnuPG distribution on macOS that provides Mail.app integration and so on, currently uses GPG 2.0.30. I'm afraid that upgrading to 2.1.x (which automatically upgrades the keyring format in place) would destroy interoperability with GPG Suite. I think a caveat should be added to warn users to uninstall brewed gnupg 2.1.x if they use GPG Suite. |
That's not a particularly constructive suggestion. |
What would you suggest? Data loss (okay, maybe not loss, but close) is a serious issue. |
|
I would suggest you contact GPG Suite upstream and recommend that they share their plan for 2.0 EOL with everyone. |
|
All I know about "2.0 EOL" is from https://www.gnupg.org/download/index.html:
"Eventually" can mean anything, hence nothing. Have you heard of a more concrete plan? Or are you suggesting that I torture a plan out of the GPG team first? Nevertheless, I'm not sure how that suggestion conflicts with my practical suggestion of not having both brewed gpg 2.1.x (assuming it will land soon) and GPG Suite installed at the same time. You simply can't use both without messing up, unless you have separate Also note that GPG Suite can be installed via |
|
"2.0.30 is the stable version from an often used branch. This branch will reach end-of-life on 2017-12-31." |
|
Okay, created support ticket https://gpgtools.tenderapp.com/discussions/problems/51244. (Code is at https://github.com/GPGTools/MacGPG2, but issue tracker isn't enabled.) In the meantime, "my practical suggestion of not having both brewed gpg 2.1.x (assuming it will land soon) and GPG Suite installed at the same time" still stands. |
|
@DomT4 Also: Homebrew/brew#2359. |
|
I vaguely recall someone on the team (can't remember who though so maybe not) had intentions to leave migrations permanently available via the old name, but I'll leave that down to y'all to resolve 🙈. |
|
Technically that would still be the case here, since gnupg@1.4 and gnupg@2.0 are new formulae, not migrations from anywhere. |
|
@ilovezfs Just a heads-up that I fly out Wednesday and won't be taking my laptop with me, so I'll likely be off-the-grid or confined to short emailed replies till early April. This may be a relief for you |
9c1f934 to
a687476
Compare
|
JCount is probably right here in terms of most common expected usage.
…Sent from my iPhone
On 25 Mar 2017, at 11:46, ilovezfs ***@***.***> wrote:
@ilovezfs commented on this pull request.
In Formula/dirmngr.rb:
> @@ -13,6 +13,8 @@ class Dirmngr < Formula
sha256 "47fe29be8ca19eeb4d4a3e3434cd35ef7b13e1c1a9e8696f5ebd4434dc8cc062" => :mavericks
end
+ keg_only "GPG2.1.x ships an internal dirmngr which it must use."
Copy-pasted out of the old gnupg21 formula:
conflicts_with "gnupg2",
:because => "GPG2.1.x is incompatible with the 2.0.x branch."
conflicts_with "gpg-agent",
:because => "GPG2.1.x ships an internal gpg-agent which it must use."
conflicts_with "dirmngr",
:because => "GPG2.1.x ships an internal dirmngr which it it must use."
conflicts_with "fwknop",
:because => "fwknop expects to use a `gpgme` with Homebrew/Homebrew's gnupg2."
conflicts_with "gpgme",
:because => "gpgme currently requires 1.x.x or 2.0.x."
CC @DomT4 for orthographical wisdom.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
|
The new tag has shipped, and we're back to 🍏 here. |
|
Shipped. The die is cast! Thanks to everyone who helped here, particularly @JCount, @DomT4, and @MikeMcQuaid. |
brew install --build-from-source <formula>, where<formula>is the name of the formula you're submitting?brew audit --strict <formula>(after doingbrew install <formula>)?CC @DomT4 @JCount @MikeMcQuaid