ari's enigmail/pEp-on-linux build system this _also_ lives in https://pep.foundation/dev/repos/enigmailpEp/ in linux
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
arian.sanusi@pep.foundation 10e36b1b51
serve.py initial: mock pepmda.zip server to be used with env ENIGMAIL_PEP_DOWNLOAD_URL
pirms 2 gadiem
CAcert enable build on Fedora 27 pirms 2 gadiem
packages @ eba242264b packages submodule (came here by sd, need to change to esca remote) pirms 2 gadiem
.gitignore look for vanilla distribution in vanilla pirms 2 gadiem
.gitmodules packages submodule pirms 2 gadiem
Makefile serve.py initial: mock pepmda.zip server to be used with env ENIGMAIL_PEP_DOWNLOAD_URL pirms 2 gadiem
README.md Makefile: correct dependencies and general cleanup pirms 2 gadiem
dependencies_debian_9.sh on debian-9 change dependencies s.t. it creates a vanilla directory with only libc6 pirms 2 gadiem
dependencies_debuntu_common.sh enable build on debian 9 pirms 2 gadiem
dependencies_fedora_27.sh generate linux-zip by default, and from that the xpi pirms 2 gadiem
dependencies_opensuse_42.3.sh build on openSuse: use gcc-5 (beware: with system-symlinks!), pepjsonserver-issues pirms 2 gadiem
enigmail.genxpi.patch enigmail.genxpi.patch: adapt to current upstream enigmail pirms 2 gadiem
enigmail_pEpAdapter_extensionRelative.patch generate linux-zip by default, and from that the xpi pirms 2 gadiem
local.conf build with errorstack pirms 2 gadiem
pep-json-server-adapter_cstring.patch build on openSuse: use gcc-5 (beware: with system-symlinks!), pepjsonserver-issues pirms 2 gadiem
pepjsonserveradapter.Makefile.conf.patch cleanup, adapt damiano's build infra changes pirms 2 gadiem
prepareEnigmailTree.sh prepareEnigmailTree.sh: fix finding libraries, try to catch dlopens pirms 2 gadiem
serve.py serve.py initial: mock pepmda.zip server to be used with env ENIGMAIL_PEP_DOWNLOAD_URL pirms 2 gadiem
test.py test.py: update auth on every call, output easier to handle, some convenience functions pirms 2 gadiem

README.md

Building enigmail+pEp on Linux

this build system has two stages:

  • dependencies_$ID_$Version_ID.sh # installs dependencies and prepares a vanilla distribution installation
  • Makefile # make all builds

We distinct between “well supported linuxes”, distributions for that we know they ship supported versions of gnupg and we have a dependencies*.sh script for. The version built on debian generates a pep-distribution that should run on all linux installation with a supported gpg version (only if the build- and target architecture match that is)

well-supported Linuxes

  • Debian 9
  • Fedora 27
  • openSuse

preparations

start on one of the well-supported Linuxes - packages for linux with basic support are built on debian-9 run dependencies_${ID}_${VERSION_ID}.sh for your distribution as root - this has to be done only when dependencies change.

building

For each actual build, create a user solely for this purpose. On Debian: adduser --gecos '' pep-enigmail-build

  • clone the this repository to ~pep-enigmail-build/common
  • ln -s common/Makefile .
  • export LD_LIBRARY_PATH=~/build/lib
  • make

Fedora

on fedora the libtool shipped with and used by libetpan is broken, therefore use the system one: cd libetpan; ln -s `which libtool` libtool

testing the pep-json-server

test.py contains a very basic test of the pep-json-server: query its version via json