doc/readme.md
author Damiano Boppart <damiano@pep-security.net>
Tue, 29 Aug 2017 00:25:54 +0200
branchENGINE-237
changeset 2014 4b6659d17b61
parent 2008 doc/README.txt@f93bf1fac875
child 2015 eefffcd9f781
permissions -rw-r--r--
Clean up doc/readme.md, Linux- and macOS-specific instructions
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:
damiano@2014
    13
    - GnuPG (version 2.0.30 or 2.1.16 or newer) by way of GPGME (version 1.6.0 or newer) [https://gnupg.org/](https://gnupg.org/)
damiano@2014
    14
    - a fork of NetPGP, [https://cacert.pep.foundation/dev/repos/netpgp-et/](https://cacert.pep.foundation/dev/repos/netpgp-et/)
damiano@2014
    15
  - a fork of libetpan, [https://github.com/fdik/libetpan](https://github.com/fdik/libetpan)
damiano@2014
    16
  - zlib (Oh yeah, where?), [http://zlib.net/](http://zlib.net/)
damiano@2014
    17
  - OpenSSL (Oh yeah, where?), [https://www.openssl.org](https://www.openssl.org)
damiano@2014
    18
  - Cyrus SASL (Oh yeah, where?), [https://www.cyrusimap.org](https://www.cyrusimap.org)
damiano@2014
    19
  - libcurl (Oh yeah, where?), [https://curl.haxx.se/libcurl/](https://curl.haxx.se/libcurl/)
damiano@2014
    20
  - libuuid, [https://www.kernel.org/pub/linux/utils/util-linux/](https://www.kernel.org/pub/linux/utils/util-linux/)
damiano@2014
    21
  - SQLite, [https://sqlite.org](https://sqlite.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@2008
    32
damiano@2014
    33
# The pEp Engine's databases
damiano@2014
    34
The p≡p Engine uses two databases:
damiano@2014
    35
`~/.pEp_management` (on *NIX) or `%LOCALAPPDATA%\pEp\management.db` on Windows, and `/usr/local/share/system.db` (on *NIX) or `%ALLUSERSPROFILE%\pEp\system.db`.
damiano@2014
    36
The latter contains the Trustwords databases.
damiano@2008
    37
damiano@2014
    38
The management db is created by the first call of init() of p≡p Engine.
damiano@2014
    39
It does not need to be created manually.
damiano@2014
    40
`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
    41
Dictionary files for different languages are part of the p≡p Engine source distribution.
damiano@2008
    42
damiano@2014
    43
You can test the Trustwords in `system.db` using `db/trustwords.py`.
damiano@2014
    44
Both Python tools have a `--help` switch.