kumquat-buildroot/package/gnupg2/Config.in
Julien Olivain 56b49691ab package/{gnupg, gnupg2}: use gnupg2 by default
This patch reverses the logic to select gnupg2 by default, while still
allowing to select gnupg (v1).

Quoting: https://gnupg.org/download/index.html
"""
GnuPG 1.4 is the old, single binary version which still support the
unsafe PGP-2 keys. This branch has no dependencies on the above listed
libraries or the Pinentry. However, it lacks many modern features and
will receive only important updates.
"""

gnupg 1.4 is kept in Buildroot for now, as the package is still
maintained upstream. It might still be useful is some specific cases:
- it has a smaller footprint (compared to v2),
- it has less dependencies (only zlib),
- it has less build dependencies (can build static, no need for
MMU/threads, ...)

Most Linux distributions are now shipping gnupg2 by default. gnupg v1
is now more for legacy/compatibility/specific cases.

There is currently only two packages selecting gnupg in Buildroot:
gpgme and python-gnupg
This commit also reverses the logic for those packages. However, this
means we also need to propagate the dependencies of gnupg2, and still
select gnupg if those dependencies are not met. To simplify this, add a
blind option BR2_PACKAGE_GNUPG2_DEPENDS. Note that due to the
intricacies of Kconfig dependencies, "depends on !BR2_PACKAGE_GNUPG"
must *not* be part of BR2_PACKAGE_GNUPG2_DEPENDS.

Signed-off-by: Julien Olivain <ju.o@free.fr>
[Arnout: rework dependency handling to make sure gnupg2 dependencies are
properly propagated]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-03-15 22:10:00 +01:00

54 lines
1.8 KiB
Plaintext

comment "gnupg2 needs a toolchain w/ threads and dynamic library support"
depends on BR2_USE_MMU
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
# helper to make it easier to select gnupg2 or gnupg; usage:
# select BR2_PACKAGE_GNUPG2 if BR2_PACKAGE_GNUPG2_DEPENDS && !BR2_PACKAGE_GNUPG
# select BR2_PACKAGE_GNUPG if !BR2_PACKAGE_GNUPG2_DEPENDS
config BR2_PACKAGE_GNUPG2_DEPENDS
bool
default y
depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpg-error
depends on BR2_TOOLCHAIN_HAS_THREADS # libnpth
depends on BR2_USE_MMU # libassuan, libnpth
depends on !BR2_STATIC_LIBS
config BR2_PACKAGE_GNUPG2
bool "gnupg2"
depends on BR2_PACKAGE_GNUPG2_DEPENDS
depends on !BR2_PACKAGE_GNUPG
select BR2_PACKAGE_ZLIB
select BR2_PACKAGE_LIBGPG_ERROR
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_LIBASSUAN
select BR2_PACKAGE_LIBKSBA
select BR2_PACKAGE_LIBNPTH
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
help
GnuPG is the GNU project's complete and free implementation
of the OpenPGP standard as defined by RFC4880. GnuPG allows
to encrypt and sign your data and communication, features a
versatile key management system as well as access modules
for all kinds of public key directories. GnuPG, also known
as GPG, is a command line tool with features for easy
integration with other applications.
http://gnupg.org/
if BR2_PACKAGE_GNUPG2
config BR2_PACKAGE_GNUPG2_GPGV
bool "gpgv"
help
gpgv is an OpenPGP signature verification tool.
This program is actually a stripped-down version of gpg
which is only able to check signatures. It is somewhat
smaller than the fully-blown gpg and uses a different (and
simpler) way to check that the public keys used to make the
signature are valid. There are no configuration files and
only a few options are implemented.
endif