doc/readme.md
author Damiano Boppart <damiano.boppart@pep.security>
Thu, 23 Jan 2020 12:21:20 +0100
branchsync
changeset 4359 2610c483ac63
parent 2606 6bb1d3db6e36
permissions -rw-r--r--
Add dependencies from dependencies.txt to readme
     1 <!-- Copyright 2015-2017, pEp foundation, Switzerland
     2 This file is part of the pEp Engine
     3 This file may be used under the terms of the Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) License
     4 See CC_BY-SA.txt -->
     5 
     6 # Information about the pEp Engine
     7 
     8 # Dependencies
     9 The p≡p Engine depends on the following projects:
    10 
    11 - run-time dependencies
    12   - One of the following OpenPGP implementations:
    13     - GnuPG version 2.1.17 or later with GPGME (at least version 1.7.0) [https://gnupg.org/](https://gnupg.org/)
    14     - For platforms not supporting pinentry (e.g. Android) - GnuPG version 2.0.30 with GPGME version 1.6.0 (or later) [https://gnupg.org/](https://gnupg.org/)
    15     - a fork of NetPGP, [https://pep.foundation/dev/repos/netpgp-et/](https://pep.foundation/dev/repos/netpgp-et/)
    16     - Sequoia, which in turn requires:
    17       - Rust
    18       - libnettle
    19   - One of the following MIME libraries:
    20     - a fork of libetpan, [https://github.com/fdik/libetpan](https://github.com/fdik/libetpan)
    21     - pEpMIME
    22   - zlib, [http://zlib.net/](http://zlib.net/)
    23   - libcurl (Only with NetPGP), [https://curl.haxx.se/libcurl/](https://curl.haxx.se/libcurl/)
    24   - libuuid, [https://www.kernel.org/pub/linux/utils/util-linux/](https://www.kernel.org/pub/linux/utils/util-linux/)
    25   - SQLite, [https://sqlite.org](https://sqlite.org)
    26   - OpenSSL (Only with NetPGP), [https://www.openssl.org](https://www.openssl.org)
    27 - compile-time dependencies
    28   - asn1c (version v0.9.28), [http://lionet.info/asn1c/blog/](http://lionet.info/asn1c/blog/)
    29   - yml2, [https://fdik.org/yml//toolchain](https://fdik.org/yml//toolchain)
    30     - Python 3
    31     - LXML
    32   - One of the following build systems:
    33     - GNU make (on Linux and macOS)
    34     - MSBuild distributed with Microsoft Visual Studio 2015 (on Windows)
    35   - One of the following compilers for C and C++:
    36     - GNU GCC (on Linux)
    37     - Apple "clang" LLVM (on MacOS)
    38     - Microsoft MSVC/MSVC++ distributed with Microsoft Visual Studio 2015 (on Windows)
    39   - A script for compiling OpenSSL for iOS, [https://github.com/sinofool/build-openssl-ios/](https://github.com/sinofool/build-openssl-ios/)
    40   - binutils
    41 
    42 # The pEp Engine's databases
    43 The p≡p Engine uses two databases:
    44 
    45 - the management database
    46   - `~/.pEp_management` on \*NIX
    47   - `%LOCALAPPDATA%\pEp\management.db` on Windows
    48 - the Trustword database
    49   - `/usr/local/share/system.db` on \*NIX
    50   - `%ALLUSERSPROFILE%\pEp\system.db` on Windows
    51 
    52 The management db is created by the first call of `init()` of p≡p Engine.
    53 It does not need to be created manually.
    54 `system.db` is created by using the DDL in `db/create_system_db.sql`; the database content is created by `db/dic2csv.py` out of hunspell's dictionary packages (or something similar) and then imported using `sqlite3`'s `.import` command.
    55 Dictionary files for different languages are part of the p≡p Engine source distribution.
    56 
    57 You can test the Trustwords in `system.db` using `db/trustwords.py`.
    58 Both Python tools have a `--help` switch.