1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-14 19:10:11 +01:00
fdroidserver/buildserver/provision-apt-get-install
Hans-Christoph Steiner 91c1e8313f buildserver: download apt package first to increase reliability
This does not have the careful result rechecking that chef has, when it
installs each package in the list one at a time.  So to help with failures
caused by a package failing to download, first try downloading all the
package, then run the install.  The install pass will try to download any
missing packages.

Really, this should use ansible or perhaps chef again since those include
lots of tricks around this stuff.
2016-09-12 14:58:08 +02:00

99 lines
1.4 KiB
Bash

#!/bin/bash
echo $0
set -e
set -x
debian_mirror=$1
sed -i "s,http://ftp.uk.debian.org/debian/,${debian_mirror},g" /etc/apt/sources.list
printf 'APT::Install-Recommends "0";\nAPT::Install-Suggests "0";\n' \
> /etc/apt/apt.conf.d/99no-install-recommends
if grep --quiet jessie /etc/apt/sources.list; then
echo "deb $debian_mirror jessie-backports main" > /etc/apt/sources.list.d/backports.list
fi
dpkg --add-architecture i386
apt-get -y update
apt-get -y upgrade --download-only
apt-get -y upgrade
packages="
ant
asn1c
ant-contrib
autoconf
autoconf2.13
automake
automake1.11
autopoint
bison
bzr
cmake
curl
expect
faketime
flex
gettext
git-core
git-svn
gperf
graphviz
imagemagick
inkscape
javacc
libarchive-zip-perl
libexpat1-dev
libgcc1:i386
libglib2.0-dev
liblzma-dev
libncurses5:i386
librsvg2-bin
libsaxonb-java
libssl-dev
libstdc++6:i386
libtool
libtool-bin
make
maven
mercurial
nasm
openjdk-8-jdk-headless
optipng
p7zip
pandoc
perlmagick
pkg-config
python-gnupg
python-lxml
python-magic
python-setuptools
python3-gnupg
python3-requests
python3-yaml
qt5-default
qtbase5-dev
quilt
realpath
scons
sqlite3
subversion
swig
texinfo
transfig
unzip
vorbis-tools
xsltproc
yasm
zip
zlib1g:i386
"
apt-get install --yes $packages --download-only
apt-get install --yes $packages
highestjava=`update-java-alternatives --list | sort -n | tail -1 | cut -d ' ' -f 1`
update-java-alternatives --set $highestjava