In order to use the container infrastructure we can't use sudo to
install packages. Now Travis has a way to install packages by specifying
them in the .travis.yml. This greatly simplifies how we install the
packages and there's no need for a separate script anymore.
This also removes several outdated packages that aren't needed anymore.
The driver for this is to separate the Copter and TradHeli builds so
Copter and TradHeli do not have to be released at the same time. This
will also work for all frame times but it is anticipated only required
by Heli.
The realpath tool may be missing on a Ubuntu distro and we use it in
sim_vehicle.sh. Make sure it's also installed as part of sitl packages.
On Archlinux it's part of the coreutils package which is part of the
base group. Therefore it's guaranteed to be available.
Fix#2730.
Instead of always trying to fix the entire tree, accept paths in the
command line so it only fixes that paths. This allows to easily rebase a
branch after the header changes, without touching the rest of the tree.
This way we can group together the builds that are fast so we pay the
"setup price" just once. Let the long PX4 build on its own VM because
it's the one that takes most of the time building NuttX.
By grouping the projects by target it's also easier to split the build
in more VMs if we want to speed up the build.
Travis build is timing out because it's taking too much time. Let's
split the build so 1) they can run concurrently and 2) we don't timeout.
We still lose some time due to multiple checkouts, but at least we don't
fail the build due to timeout.
In ArduPlane "make all" is the same as "make sitl" and both sitl and
linux are already covered by the loop below. Don't build the same
configuration multiple times.
We are failing to execute arm-none-eabi-gcc due to missing 32 bits
libraries in travis. Install gcc-multilib so we get all of them.
This commit also calls this version of gcc in the end of
install-travis-env.sh so if it's to fail, force it to fail early on.