1
# Docker Based Build System
3
## You Need to Have Installed
4
* Everything needed for a dedicated server build, plus python packaging
5
* [docker in rootless mode](https://docs.docker.com/engine/security/rootless/)
6
* Optional: [docker in reglar mode](https://docs.docker.com/engine/install/ubuntu/) for steam SDK creation
7
* Optional: [x11docker](https://github.com/mviereck/x11docker) for Windows build system creation
9
Ubuntu is recommended, as rootless docker supports the overlay2 driver there;
10
pretty much everyone else only gets the vfs driver that always copies the whole
13
For Ubuntu, to be on the safe side:
15
sudo apt install git wine-stable automake \
16
bison g++ make libboost-dev libboost-thread-dev \
17
libprotobuf-dev libzthread-dev python recode curl uidmap python3-packaging
19
Then follow the instructions from the rootless docker and x11docker above.
23
* scripts/ contains helper scripts
24
* images/ contains everything else needed to build images from scratch
25
* build/ contains the actual build stuff
26
* deploy/ contains information about deployments; pre-filled with target definition; each requires certain secrets
30
Assuming the source is in armagetronad, do
36
../armagetronad/configure --disable-glout
42
* *free*: Build everything relevant for free open source systems
43
* *closed*: Build steam and windows binaries
45
* *clean*: Remove build results
48
To update to another branch, you may have to adapt related branch names in scripts/relevant_branches.sh.
50
To make builds use up to date versions of additional git repositories, call scripts/update_gits.sh.
52
All scripts can be invoked from any work directory as long as you invoke them with a relative or absoulte path, they find their relevant data directories and other scripts automatically.