README.txt
author Volker Birk <vb@pep-project.org>
Tue, 16 Feb 2016 15:31:24 +0100
changeset 447 6190f1ed4466
parent 37 7928e0e6eee9
child 448 a614a8dcf250
permissions -rw-r--r--
adapting README
vb@447
     1
p≡p Engine
vb@16
     2
==========
vb@16
     3
vb@16
     4
0. What it is and building it
vb@16
     5
-----------------------------
vb@16
     6
vb@447
     7
The p≡p engine is a Free Software library encapsulating implementations of:
vb@447
     8
vb@447
     9
- Key Management
vb@447
    10
vb@447
    11
  Key Management in p≡p engine is based on GnuPG key chains (NetPGP on iOS).
vb@447
    12
  Keys are stored in an OpenPGP compatbile format and can be used for different
vb@447
    13
  crypto implementations.
vb@447
    14
vb@447
    15
- Trust Rating
vb@447
    16
vb@447
    17
  p≡p engine is sporting a two phase trust rating system. In phase one there is
vb@447
    18
  a rating based on channel, crypto and key security named “comm_types”. In
vb@447
    19
  phase 2 these are mapped to user representable values which have attached
vb@447
    20
  colors to present them in traffic light semantics.
vb@447
    21
vb@447
    22
- Abstract Crypto API
vb@447
    23
vb@447
    24
  The Abstract Crypto API is providing functions to encrypt and decrypt data or
vb@447
    25
  full messages without requiring an application programmer to understand the
vb@447
    26
  different formats and standards.
vb@447
    27
vb@447
    28
- Message Transports
vb@447
    29
vb@447
    30
  p≡p engine will sport a growing list of Message Transports to support any
vb@447
    31
  widespread text messaging system including E-Mail, SMS, XMPP and many more.
vb@447
    32
vb@447
    33
p≡p engine is written in C99. It is not meant to be used in application code
vb@447
    34
directly. Instead, p≡p engine is coming together with a list of software
vb@447
    35
adapters for a variety of programming languages and development environments.
vb@447
    36
vb@447
    37
p≡p engine is under Gnu General Public License v3. If you want to use it under
vb@447
    38
a different license, please contact mailto:council@pep.foundation.
vb@447
    39
vb@447
    40
p≡p engine has an old style Makefile for building it.
vb@16
    41
vb@37
    42
The build is configured in Makefile.conf
vb@37
    43
vb@16
    44
It supports the common targets
vb@16
    45
vb@16
    46
$ make all
vb@16
    47
$ make install
vb@16
    48
$ make clean
vb@16
    49
vb@16
    50
and additionally
vb@16
    51
vb@16
    52
$ make package # for building a .tar.bz2 with the source distribution
vb@16
    53
vb@447
    54
On Windows, use Visual Studio.
vb@16
    55
vb@16
    56
1. How to cross-build
vb@16
    57
---------------------
vb@16
    58
vb@16
    59
For cross-building, BUILD_FOR is being used. I.e.:
vb@16
    60
vb@447
    61
$ BUILD_FOR=yourOS make -e windist
vb@16
    62
vb@16
    63
2. How to build the databases
vb@16
    64
-----------------------------
vb@16
    65
vb@447
    66
p≡p Engine uses two databases: ~/.pEp_management (on *NIX) or
vb@16
    67
%LOCALAPPDATA%\pEp\management.db on Windoze respectively, and
vb@16
    68
/usr/local/share/system.db on *NIX or %ALLUSERSPROFILE%\pEp\system.db
vb@447
    69
respectively. The latter contains the Trustwords dbs.
vb@16
    70
vb@447
    71
The managment db is being created by the first call of init() of p≡p Engine. It
vb@16
    72
does not need to be created manually. system.db is being created by using the
vb@16
    73
DDL in db/create_system_db.sql – the content is created by db/dic2csv.py
vb@16
    74
out of hunspell's dictionary packages (or something similar) and then being
vb@16
    75
imported using sqlite3's .import command.
vb@16
    76
vb@447
    77
You can test the Trustwords in system.db using db/trustwords.py
vb@16
    78
Both Python tools have a switch --help
vb@16
    79