summaryrefslogtreecommitdiffstats
path: root/comm/third_party/README.rnp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--comm/third_party/README.rnp87
1 files changed, 87 insertions, 0 deletions
diff --git a/comm/third_party/README.rnp b/comm/third_party/README.rnp
new file mode 100644
index 0000000000..f7b75e6bd1
--- /dev/null
+++ b/comm/third_party/README.rnp
@@ -0,0 +1,87 @@
+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
+