Add CentOS Dockerfile template
Some comments on the choices made:
- I decided not to support i386 at all, since there is no i386 EPEL for CentOS 7 and a stock CentOS 7 i386 container running on an x86-64 host OS will not even
yum upgradeitself without tweaking
- The template runs
rm -rf /usr/tests /usr/src/...for ATF, Lutok, and Kyua in order to reduce the size of the resulting images. We do not need ATF, Lutok, and Kyua test binaries in our Docker images and these take up literally hundreds of megabytes of disk space.
- The template installs
Net::DNSfrom CPAN because both CentOS 6 and 7 ship with old, buggy versions which prevent a full BIND system test suite from being run.
- The template patches Kyua source code using
sed, because otherwise Kyua would not compile on CentOS 6 due to a compiler bug.
- The Autoconf version supplied by stock CentOS 6 packages (2.63) is too old for running
autoreconf -ifor ATF, Lutok, and Kyua. Thus, that command is not run when these libraries are built.
- SQLite needs to be compiled from source on CentOS 6 because its latest version provided by stock packages is 3.6.20 and that is not recent enough to build Kyua.
- dnspython is installed from source on CentOS 6 because:
- BIND requires Python 2.7+ or 3.4+,
- stock CentOS 6 ships with Python 2.6 and Python 3.4,
- dnspython is available from an EPEL package (
python-dns), but the latter only contains a Python 2.6 module.