gecko-dev/testing/docker/base-build/system-setup.sh

47 строки
1.6 KiB
Bash
Executable File

#!/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";