08ae0a73b2
The .dockerignore symlink in the project root dir is only picked up by the android build. The android build has the project root as its build context for "docker build" -- the other builds have their own subdirectories as build context, e.g. contrib/build-linux/appimage.
Source tarballs
✓ This file should be reproducible, meaning you should be able to generate distributables that match the official releases.
This assumes an Ubuntu (x86_64) host, but it should not be too hard to adapt to another similar system.
We distribute two tarballs, a "normal" one (the default, recommended for users), and a strictly source-only one (for Linux distro packagers). The normal tarball, in addition to including everything from the source-only one, also includes:
- compiled (
.mo) locale files (in addition to source.polocale files) - compiled (
_pb2.py) protobuf files (in addition to source.protofiles) - the
packages/folder containing source-only pure-python runtime dependencies
Build steps
-
Install Docker
See
contrib/docker_notes.md. -
Build tarball
(set envvar
OMIT_UNCLEAN_FILES=1to build the "source-only" tarball)$ ./build.shIf you want reproducibility, try instead e.g.:
$ ELECBUILD_COMMIT=HEAD ELECBUILD_NOCACHE=1 ./build.sh $ ELECBUILD_COMMIT=HEAD ELECBUILD_NOCACHE=1 OMIT_UNCLEAN_FILES=1 ./build.sh -
The generated distributables are in
./dist.