]> code.ossystems Code Review - openembedded-core.git/commitdiff
gnupg: Split gpg and gpg-agent into a minimal gnupg-gpg package
authorHaris Okanovic <haris.okanovic@ni.com>
Thu, 7 Nov 2019 22:04:19 +0000 (16:04 -0600)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 10 Nov 2019 14:04:55 +0000 (14:04 +0000)
Add minimal "gnupg-gpg" package containing just enough binaries to run
gpg and gpg-agent. Add dependency in normal "gnupg" package to preserve
old behavior.

Some applications like opkg don't need all functionality provided by
normal gnupg installations. This minimal package provides just enough
functionality to verify and manage keys in opkg, in order to minimize
disk overhead.

Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-support/gnupg/gnupg_2.2.17.bb

index 689cf8a75e5b293a0c1ec93c58c992468bc37eae..ab19a1ad119fac4376358633e19b8826638c88b0 100644 (file)
@@ -29,6 +29,21 @@ EXTRA_OECONF = "--disable-ldap \
                --with-readline=${STAGING_LIBDIR}/.. \
                --enable-gpg-is-gpg2 \
                "
+
+# A minimal package containing just enough to run gpg+gpgagent (E.g. use gpgme in opkg)
+PACKAGES =+ "${PN}-gpg"
+FILES_${PN}-gpg = " \
+       ${bindir}/gpg \
+       ${bindir}/gpg2 \
+       ${bindir}/gpg-agent \
+"
+
+# Normal package (gnupg) should depend on minimal package (gnupg-gpg)
+# to ensure all tools are included. This is done only in non-native
+# builds. Native builds don't have sub-packages, so appending RDEPENDS
+# in this case breaks recipe parsing.
+RDEPENDS_${PN} += "${@ "" if ("native" in d.getVar("PN")) else (d.getVar("PN") + "-gpg")}"
+
 RRECOMMENDS_${PN} = "pinentry"
 
 do_configure_prepend () {