]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
gnupg: Extend -native wrapper to fix gpgme-native's gpgconf problems
authorJason Wessel <jason.wessel@windriver.com>
Wed, 11 Sep 2019 18:32:04 +0000 (11:32 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 15 Sep 2019 16:51:59 +0000 (17:51 +0100)
The gpg commit signing in ostree-native doesn't work properly when
running from sstate.  The ostree-native is linked with gpgme-native's
libraries, which have calls into gpg.

Ultimately it turned out the problem was that gpgme calls gpgconf and
some of the other gnupg-native binaries directly.  Not all the
binaries have a wrapper which sets the environment variable GNUPG_BIN.
Without this wrapper these binaries it gets the path assignment from
the original compilation which causes a fault when running from sstate
in a new tmp directory because these paths will not exist.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-support/gnupg/gnupg_2.2.17.bb

index e5456dd9b946fac5461b9ee5fcb42e6fe1cb38f6..689cf8a75e5b293a0c1ec93c58c992468bc37eae 100644 (file)
@@ -46,6 +46,9 @@ do_install_append() {
 
 do_install_append_class-native() {
        create_wrapper ${D}${bindir}/gpg2 GNUPG_BINDIR=${STAGING_BINDIR_NATIVE}
+       create_wrapper ${D}${bindir}/gpgconf GNUPG_BINDIR=${STAGING_BINDIR_NATIVE}
+       create_wrapper ${D}${bindir}/gpg-agent GNUPG_BINDIR=${STAGING_BINDIR_NATIVE}
+       create_wrapper ${D}${bindir}/gpg-connect-agent GNUPG_BINDIR=${STAGING_BINDIR_NATIVE}
 }
 
 PACKAGECONFIG ??= "gnutls"