doc/readme.md
author Krista Bennett <krista@pep-project.org>
Wed, 06 Sep 2017 01:48:08 +0200
branch2028_fix
changeset 2035 61b05d325adc
parent 2032 97984c094070
child 2037 148b879873f8
permissions -rw-r--r--
ENGINE-246: A solution that works, but the wrong one
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@2035
    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@2018
    16
  - zlib, [http://zlib.net/](http://zlib.net/)
damiano@2018
    17
  - libcurl (Only with NetPGP), [https://curl.haxx.se/libcurl/](https://curl.haxx.se/libcurl/)
damiano@2014
    18
  - libuuid, [https://www.kernel.org/pub/linux/utils/util-linux/](https://www.kernel.org/pub/linux/utils/util-linux/)
damiano@2014
    19
  - SQLite, [https://sqlite.org](https://sqlite.org)
damiano@2014
    20
- compile-time dependencies
damiano@2014
    21
  - asn1c (version v0.9.28), [http://lionet.info/asn1c/blog/](http://lionet.info/asn1c/blog/)
damiano@2014
    22
  - yml2, [https://fdik.org/yml//toolchain](https://fdik.org/yml//toolchain)
damiano@2014
    23
  - One of the following build systems:
damiano@2014
    24
    - GNU make (on Linux and macOS)
damiano@2014
    25
    - MSBuild distributed with Microsoft Visual Studio 2015 (on Windows)
damiano@2014
    26
  - One of the following compilers for C and C++:
damiano@2014
    27
    - GNU GCC (on Linux)
damiano@2014
    28
    - Apple "clang" LLVM (on MacOS)
damiano@2014
    29
    - Microsoft MSVC/MSVC++ distributed with Microsoft Visual Studio 2015 (on Windows)
damiano@2008
    30
damiano@2014
    31
# The pEp Engine's databases
damiano@2014
    32
The p≡p Engine uses two databases:
damiano@2008
    33
damiano@2015
    34
- the management database
damiano@2015
    35
  - `~/.pEp_management` on \*NIX
damiano@2015
    36
  - `%LOCALAPPDATA%\pEp\management.db` on Windows
damiano@2015
    37
- the Trustword database
damiano@2015
    38
  - `/usr/local/share/system.db` on \*NIX
damiano@2015
    39
  - `%ALLUSERSPROFILE%\pEp\system.db` on Windows
damiano@2015
    40
damiano@2015
    41
The management db is created by the first call of `init()` of p≡p Engine.
damiano@2014
    42
It does not need to be created manually.
damiano@2014
    43
`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
    44
Dictionary files for different languages are part of the p≡p Engine source distribution.
damiano@2008
    45
damiano@2014
    46
You can test the Trustwords in `system.db` using `db/trustwords.py`.
damiano@2015
    47
Both Python tools have a `--help` switch.