diff options
Diffstat (limited to 'testing/docker/base-build/system-setup.sh')
-rwxr-xr-x | testing/docker/base-build/system-setup.sh | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/testing/docker/base-build/system-setup.sh b/testing/docker/base-build/system-setup.sh new file mode 100755 index 000000000..c47c59591 --- /dev/null +++ b/testing/docker/base-build/system-setup.sh @@ -0,0 +1,46 @@ +#!/bin/bash -ve + +################################### setup.sh ################################### + +### Check that we are running as root +test `whoami` == 'root'; + +### Add worker user +# Minimize the number of things which the build script can do, security-wise +# it's not a problem to let the build script install things with yum. But it +# really shouldn't do this, so let's forbid root access. +useradd -d /home/worker -s /bin/bash -m worker; + +# Install extra package mirror +yum install -y epel-release + +### Install Useful Packages +# First we update and upgrade to latest versions. +yum update -y + +# Let's install some goodies, ca-certificates is needed for https with hg. +# sudo will be required anyway, but let's make it explicit. It nice to have +# sudo around. We'll also install nano, this is pure bloat I know, but it's +# useful a text editor. +yum install -y \ + ca-certificates \ + sudo \ + nano \ + ; + +# Then let's install all firefox build dependencies, these are extracted from +# mozboot. See python/mozboot/bin/bootstrap.py in mozilla-central. +yum groupinstall -y \ + "Development Tools" \ + "Development Libraries" \ + "GNOME Software Development" + +### Clean up from setup +# Remove cached packages. Cached package takes up a lot of space and +# distributing them to workers is wasteful. +yum clean all + +# Remove the setup.sh setup, we don't really need this script anymore, deleting +# it keeps the image as clean as possible. +rm $0; echo "Deleted $0"; + |