You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
2.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# this file is under Creative Commons License 3.0 cc-by-sa
1. Dependencies
p≡p engine is depending on the following FOSS libraries:
* a fork of libetpan, see
git clone
* zlib, see
Oh yeah? Where?
* OpenSSL, see
Oh yeah? Where?
* iconv, see
* Cyrus SASL, see
Oh yeah? Where?
* One of the following OpenPGP implementations:
* GnuPG via GPGME, version 1.6.0 or newer, see
* NetPGP/p≡p, see
* libcurl
Maybe on iOS?
compile-time dependencies:
* Asn1c, download from . 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.
* yml2, which needs lxml (where to get?)
* One of the following build systems
* GNU make
* Visual Studio 2015
2. Building p≡p engine
p≡p engine has an old style Makefile for building it.
The build is configured in Makefile.conf
It supports the common targets
$ make all
$ make install
$ make clean
and additionally
$ make package # for building a .tar.bz2 with the source distribution
On Windows, use Visual Studio.
3. How to cross-build
For cross-building, BUILD_FOR is being used. I.e.:
$ BUILD_FOR=yourOS make -e
4. How to build the databases
p≡p Engine uses two databases: ~/.pEp_management (on *NIX) or
%LOCALAPPDATA%\pEp\management.db on Windoze respectively, and
/usr/local/share/system.db on *NIX or %ALLUSERSPROFILE%\pEp\system.db
respectively. The latter contains the Trustwords dbs.
The managment db is being created by the first call of init() of p≡p Engine. It
does not need to be created manually. system.db is being created by using the
DDL in db/create_system_db.sql the content is created by db/
out of hunspell's dictionary packages (or something similar) and then being
imported using sqlite3's .import command. Dictionary files for different
languages are part of p≡p engine source distribution.
$ make db
$ make -C db install
You can test the Trustwords in system.db using db/
Both Python tools have a switch --help
5. How to run the tests
You have to import all the test keys into your local gpg instance:
cd test
cat 0x*.asc *_sec.asc| gpg --import