88 строки
2.9 KiB
Plaintext
88 строки
2.9 KiB
Plaintext
Directory ./rnp contains a copy of rnp which has been obtained from:
|
|
https://github.com/rnpgp/rnp
|
|
|
|
[tag v0.17.0]
|
|
|
|
If MZLA applied patches on top, the version number in file
|
|
third_party/rnp/src/lib/version.h will contain a suffix that lists
|
|
the upstream pull request IDs.
|
|
|
|
For licensing information, please refer to the included documentation.
|
|
|
|
Updates to this copy are managed by "mach vendor". The configuration file
|
|
is at rnp/moz.yaml.
|
|
|
|
> cd comm/third_party/rnp
|
|
|
|
# validate the YAML config file
|
|
> mach vendor -v ./moz.yaml
|
|
./moz.yaml: OK
|
|
|
|
# check for new upstream versions
|
|
> mach vendor --check-for-update ./moz.yaml
|
|
v0.17.0 2023-02-27T16:49:53+02:00
|
|
|
|
# update to a new version
|
|
> mach vendor -r v0.16.3 ./moz.yaml
|
|
|
|
# If there are patches to apply in moz.yaml, the process is a little different
|
|
> mach vendor ./moz.yaml --patch-mode none
|
|
# followed by
|
|
> mach vendor ./moz.yaml --patch-mode only
|
|
|
|
|
|
Build notes:
|
|
|
|
There are several configure options that can be added to mozconfig to control
|
|
how librnp is built.
|
|
|
|
--with-system-librnp
|
|
Use system RNP (librnp) for OpenPGP support.
|
|
This option will not build librnp at all. In order to provide OpenPGP support,
|
|
librnp must be installed as a system package (RPM, DEB) and located where the
|
|
dynamic loader will find it or copied separately into Thunderbird's application
|
|
directory.
|
|
|
|
--with-system-jsonc
|
|
Use system JSON-C for librnp (located with pkgconfig)
|
|
Build librnp from the in-tree sources, but link with a system-installed
|
|
libjson-c. Build flags are determined with Pkg-config/pkgconf.
|
|
|
|
--with-system-bz2[=prefix]
|
|
Use system Bzip2 for librnp (pkgconfig/given prefix)
|
|
Build librnp from in-tree sources, link with a system libbz2.
|
|
This option does accept a prefix path (such as --with-system-bz2=/usr/local).
|
|
(Bzip2 itself does not provide a pkgconfig file. Some Linux distributions
|
|
include their own so the build system will look for one.)
|
|
|
|
--with-system-zlib
|
|
Link librnp to a system zlib. Pkgconfig only.
|
|
|
|
--with-librnp-backend=(botan|openssl) **
|
|
** "openssl" is only supported when targeting Linux.
|
|
|
|
This option allows building librnp with the OpenSSL backend. When not provided,
|
|
it defaults to "botan".
|
|
When set to "openssl", OpenSSL will be located via Pkgconfig.
|
|
|
|
--with-system-botan
|
|
Link librnp to a system libbotan. Pkgconfig only. Note that it is not necessary
|
|
to also set "--with-librnp-backend=botan".
|
|
|
|
--with-openssl=prefix (Linux only)
|
|
Used with "--with-librnp-backend=openssl" to use OpenSSL installed at "prefix"
|
|
instead of one provided by Pkgconfig. Ex: --with-openssl=/usr/openssl-3
|
|
|
|
|
|
OpenSSL notes:
|
|
|
|
Only Linux targets are supported.
|
|
|
|
OpenSSL 1.1.1 and OpenSSL 3.0.x are supported. The version is checked during
|
|
configure as RNP has slightly different code paths for 3.x.
|
|
|
|
The OpenSSL backend has some limitations compared to Botan. The following
|
|
features are disabled:
|
|
TWOFISH, BRAINPOOL
|
|
|