[pkg-gnupg-maint] Bug#788983: Bug#788983: missing translations in pinentry-gnome3
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Mon Jun 29 21:08:08 UTC 2015
On Mon 2015-06-29 13:37:39 -0400, Michael Biebl wrote:
> Am 17.06.2015 um 15:40 schrieb Michael Biebl:
>> Am 17.06.2015 um 15:26 schrieb Werner Koch:
>>> On Wed, 17 Jun 2015 14:31, dkg at fifthhorseman.net said:
>>>
>>>> Michael was running 2.0.28 when he saw this, which is the latest in the
>>>> 2.0.x branch. Does that not have the expected translations (even for
>>>> "OK" and "Cancel")?
>>>
>>> Sure. Those strings are pretty old. Only the "_Save in password
>>> manager" might be missing.
>>
>> As you can see from the screenshot, there weren't any translations at
>> all in the dialog. 2.0.28 seems to have a (complete) po/de.po for German.
>> So somethings seems to be broken passing those translations to
>> pinentry-gnome3.
>
> Any news here? Is there further information I can provide to get this
> solved?
> It's currently my main blocker for switching gnome-keyring over to
> pinentry-gnome3.
Ugh, i'm poking around at all of this, and seeing several ugly issues
here associated with gpg session management. but first, the workaround:
* with gpg-agent 2.1.x installed, you say the dialog is always being
canceled. can you "gpgconf --kill gpg-agent" and then try again? If
so, does the prompt work? if so, is it properly localized? It looks
to me like it is localized in that case.
I've set up ~/.gnupg/debugpinentry that is just:
-----------
#!/bin/sh
exec /usr/bin/pinentry --debug "$@" 2>> ~/.gnupg/pinentry.log
-----------
and then ~/.gnupg/gpg-agent.conf has:
---------
log-file /home/USERNAME/.gnupg/agent.log
debug-level expert
pinentry-program /home/USERNAME/.gnupg/debugpinentry
---------
After several tries and several workarounds, i've seen the following
error messages in pinentry.log:
** (pinentry:12120): WARNING **: couldn't create prompt for gnupg passphrase: Verbindung ist gescheitert:Verbindungsaufbau abgelehnt
** (pinentry:12995): WARNING **: couldn't create prompt for gnupg passphrase: Cannot autolaunch D-Bus without X11 $DISPLAY
issues i'm seeing:
a) the environment of the first running gpg-agent process is different
from a shell running in the gnome session. In particular, i'm
seeing differences in SESSION_MANAGER, WINDOWPATH, XAUTHORITY,
XDG_SESSION_ID, and DBUS_SESSION_ADDRESS. At least one of these env
var differences makes it impossible for gcr to find the right pieces
to do the prompting.
This is likely due to a gpg-agent instance held-over from a previous
login. Assuming there is only one gpg-agent instance running on the
machine, you can compare the environment yourself with:
diff -u <(tr '\0' '\n' /proc/$(pidof gpg-agent)/environ | sort) <(tr '\0' '\n' /proc/self/environ | sort)
b) when there is no gpg-agent instance held-over from a previous login,
/etc/X11/Xsession.d/90gpg-agent launches one automatically before
the session starts. It does this for the sake of co-installed gpg
1.4 installations which need a properly-populated GPG_AGENT_INFO to
find the agent, and do not auto-start one on their own. In this
case, though, the agent is started before the session manager, so
the relevant variables for interacting with gcr are not populated.
Maybe this is also influencing the localization failures?
I'm not sure what the right way to resolve these issues is. We want gpg
1.4 and 2.1 to both work, co-installed, and we want them to work cleanly
under gnome as well as under other session managers.
Some open questions:
0) Are there other env vars we need to pass through from gpg to
gpg-agent to pinentry for pinentry-gnome3 to work sanely (both for
localization and for actual prompting)?
1) should gnome (and other session managers) be terminating gpg-agent
before shutting down? If so, does that just mean a "gpgconf --kill
gpg-agent" somewhere in the shutdown process, or something else?
2) why is "Passwort" localized but the others are not? is it pinentry
doing that localization? If so, how is it finding that language but
gpg-agent (which is invoking it) is not?
3) the gcr prompt itself still says "Passphrase:" at the top and "OK"
in the lower-right, even when the rest of the dialog is in
de_DE.UTF-8. Are these missing localizations?
Any advice would be welcome,
--dkg
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 948 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnupg-maint/attachments/20150629/d0c8a895/attachment.sig>
More information about the pkg-gnupg-maint
mailing list