Page MenuHome GnuPG

Cannot run make check without having the gnupg2 already installed in the tree
Closed, ResolvedPublic


The tests call scdaemon from /usr/libexec/scdaemon and there is no way how to override it. Similarly for gpg-agent being run from /usr/bin/gpg-agent.

Event Timeline

t8m created this object in space S1 Public.
justus added a subscriber: justus.

Can you elaborate that?

Where is scdaemon called? (Sadly we do not have a test that explicitly exercises scdaemon...)
Where is gpg-agent from /usr/bin called?

I spent quite a bit of time making sure that the tests do use the artifacts from the built tree. Which version are you using btw?

It is recent regression in 2.1.21 - probably in 2.1.20 scdaemon was not run at all.

From it looks like the scdaemon is being run from the tests.scm which is called from multiple tests.

Interesting. What about gpg-agent? I don't see problems in the log you mentioned.

Sorry for misleading you, gpg-agent seems to be called properly from the build tree.

I just commited 386a7bbb245dd3ab7c4156a554adbe75d82bdf49, that should fix your troubles with the test suite in the short term.

I'm somewhat afraid that we might have broken gpg setups where scdaemon is not installed. Niibe, can you please look into that?

Good to know that - I'll include scdaemon in the base gnupg2 package.

Err... it's my badness. rG97a2394ecafa: g10: For signing, prefer available card key when no -u option. introduced this bug. It checks if a key on card is available by agent_scd_serialno.
Call to start_agent with FOR_CARD=1 may cause an error if there is no scdaemon installed.
I need to fix skipping such errors.

BTW, in the test suite, gpgconf is invoked to kill gpg-agent/scdaemon/dirmngr. But it uses say, /usr/bin/gpg-connect-agent, which might be not yet installed.
I found such errors in Debian build: