doc/readme.md
author Thomas
Tue, 25 Jun 2019 20:26:39 +0200
branchsequoia_windows
changeset 3876 739c8e54b738
parent 2606 6bb1d3db6e36
permissions -rw-r--r--
Merge with ENGINE-581
damiano@2014
     1
<!-- Copyright 2015-2017, pEp foundation, Switzerland
damiano@2014
     2
This file is part of the pEp Engine
damiano@2014
     3
This file may be used under the terms of the Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) License
damiano@2014
     4
See CC_BY-SA.txt -->
damiano@2008
     5
damiano@2014
     6
# Information about the pEp Engine
damiano@2008
     7
damiano@2014
     8
# Dependencies
damiano@2014
     9
The p≡p Engine depends on the following projects:
damiano@2008
    10
damiano@2014
    11
- run-time dependencies
damiano@2014
    12
  - One of the following OpenPGP implementations:
krista@2037
    13
    - GnuPG version 2.1.17 or later with GPGME (at least version 1.7.0) [https://gnupg.org/](https://gnupg.org/)
krista@2037
    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/)
damiano@2606
    15
    - a fork of NetPGP, [https://pep.foundation/dev/repos/netpgp-et/](https://pep.foundation/dev/repos/netpgp-et/)
damiano@2014
    16
  - a fork of libetpan, [https://github.com/fdik/libetpan](https://github.com/fdik/libetpan)
damiano@2018
    17
  - zlib, [http://zlib.net/](http://zlib.net/)
damiano@2018
    18
  - libcurl (Only with NetPGP), [https://curl.haxx.se/libcurl/](https://curl.haxx.se/libcurl/)
damiano@2014
    19
  - libuuid, [https://www.kernel.org/pub/linux/utils/util-linux/](https://www.kernel.org/pub/linux/utils/util-linux/)
damiano@2014
    20
  - SQLite, [https://sqlite.org](https://sqlite.org)
damiano@2040
    21
  - OpenSSL (Only with NetPGP), [https://www.openssl.org](https://www.openssl.org)
damiano@2014
    22
- compile-time dependencies
damiano@2014
    23
  - asn1c (version v0.9.28), [http://lionet.info/asn1c/blog/](http://lionet.info/asn1c/blog/)
damiano@2014
    24
  - yml2, [https://fdik.org/yml//toolchain](https://fdik.org/yml//toolchain)
damiano@2014
    25
  - One of the following build systems:
damiano@2014
    26
    - GNU make (on Linux and macOS)
damiano@2014
    27
    - MSBuild distributed with Microsoft Visual Studio 2015 (on Windows)
damiano@2014
    28
  - One of the following compilers for C and C++:
damiano@2014
    29
    - GNU GCC (on Linux)
damiano@2014
    30
    - Apple "clang" LLVM (on MacOS)
damiano@2014
    31
    - Microsoft MSVC/MSVC++ distributed with Microsoft Visual Studio 2015 (on Windows)
damiano@2040
    32
  - A script for compiling OpenSSL for iOS, [https://github.com/sinofool/build-openssl-ios/](https://github.com/sinofool/build-openssl-ios/)
damiano@2008
    33
damiano@2014
    34
# The pEp Engine's databases
damiano@2014
    35
The p≡p Engine uses two databases:
damiano@2008
    36
damiano@2015
    37
- the management database
damiano@2015
    38
  - `~/.pEp_management` on \*NIX
damiano@2015
    39
  - `%LOCALAPPDATA%\pEp\management.db` on Windows
damiano@2015
    40
- the Trustword database
damiano@2015
    41
  - `/usr/local/share/system.db` on \*NIX
damiano@2015
    42
  - `%ALLUSERSPROFILE%\pEp\system.db` on Windows
damiano@2015
    43
damiano@2015
    44
The management db is created by the first call of `init()` of p≡p Engine.
damiano@2014
    45
It does not need to be created manually.
damiano@2014
    46
`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.
damiano@2014
    47
Dictionary files for different languages are part of the p≡p Engine source distribution.
damiano@2008
    48
damiano@2014
    49
You can test the Trustwords in `system.db` using `db/trustwords.py`.
damiano@2015
    50
Both Python tools have a `--help` switch.