doc/README.txt
author Damiano Boppart <damiano@pep-security.net>
Mon, 28 Aug 2017 14:32:46 +0200
branchENGINE-237
changeset 2008 f93bf1fac875
permissions -rw-r--r--
Move most documentation to doc/, update README
     1 # this file is under Creative Commons License 3.0 cc-by-sa
     2 
     3 1. Dependencies
     4 ---------------
     5 
     6 p≡p engine is depending on the following FOSS libraries:
     7 
     8 * a fork of libetpan, see https://github.com/fdik/libetpan
     9        git clone https://github.com/fdik/libetpan
    10 
    11 * zlib, see http://zlib.net/
    12 Oh yeah? Where?
    13 
    14 * OpenSSL, see http://openssl.org/
    15 Oh yeah? Where?
    16 
    17 * iconv, see http://www.gnu.org/software/libiconv/
    18 
    19 * Cyrus SASL, see http://cyrusimap.org/
    20 Oh yeah? Where?
    21 
    22 * One of the following OpenPGP implementations:
    23   * GnuPG via GPGME, version 1.6.0 or newer, see https://gnupg.org/
    24   * NetPGP/p≡p, see https://cacert.pep.foundation/dev/repos/netpgp-et/
    25 
    26 * libcurl
    27 Maybe on iOS?
    28 
    29 SQlite3
    30 
    31 
    32 
    33 
    34 compile-time dependencies:
    35 
    36 * Asn1c, download from https://lionet.info/soft/asn1c-0.9.27.tar.gz . Debian 8's v0.9.24 does not work. Debian 9's v0.9.27 generates non-POSIX code, that will cause issues when the engine is compiled with '-std=c99'. Thus, use v0.9.28 for best results.
    37 
    38 * yml2, which needs lxml (where to get?)
    39 
    40 * One of the following build systems
    41   * GNU make
    42   * Visual Studio 2015
    43 
    44 
    45 2. Building p≡p engine
    46 ----------------------
    47 
    48 p≡p engine has an old style Makefile for building it.
    49 
    50 The build is configured in Makefile.conf
    51 
    52 It supports the common targets
    53 
    54 $ make all
    55 $ make install
    56 $ make clean
    57 
    58 and additionally
    59 
    60 $ make package # for building a .tar.bz2 with the source distribution
    61 
    62 On Windows, use Visual Studio.
    63 
    64 
    65 3. How to cross-build
    66 ---------------------
    67 
    68 For cross-building, BUILD_FOR is being used. I.e.:
    69 
    70 $ BUILD_FOR=yourOS make -e
    71 
    72 
    73 4. How to build the databases
    74 -----------------------------
    75 
    76 p≡p Engine uses two databases: ~/.pEp_management (on *NIX) or
    77 %LOCALAPPDATA%\pEp\management.db on Windoze respectively, and
    78 /usr/local/share/system.db on *NIX or %ALLUSERSPROFILE%\pEp\system.db
    79 respectively. The latter contains the Trustwords dbs.
    80 
    81 The managment db is being created by the first call of init() of p≡p Engine. It
    82 does not need to be created manually. system.db is being created by using the
    83 DDL in db/create_system_db.sql – the content is created by db/dic2csv.py
    84 out of hunspell's dictionary packages (or something similar) and then being
    85 imported using sqlite3's .import command. Dictionary files for different
    86 languages are part of p≡p engine source distribution.
    87 
    88 $ make db
    89 $ make -C db install
    90 
    91 You can test the Trustwords in system.db using db/trustwords.py
    92 Both Python tools have a switch --help
    93 
    94 
    95 5. How to run the tests
    96 -----------------------
    97 
    98 You have to import all the test keys into your local gpg instance:
    99 
   100 	cd test
   101 	cat 0x*.asc *_sec.asc| gpg --import
   102