1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-10-03 17:50:11 +02:00
fdroidserver/buildserver/provision-apt-get-install
Hans-Christoph Steiner 7af7297ca8 buildserver: support installing packages from Debian/testing
Sometimes, a build process requires newer versions of build tools than are
available in Debian/stable.  Oftentimes, using the package straight from
Debian/testing works fine when a package is not available as a backport.
libtool 2.4.6 is needed for building VLC, so it is one example of this.

The preferences file sets up the apt "pinning" so that all updates are not
installed from testing, only the packages that are requested by adding
"/testing" after then package name.

closes #224
2017-01-10 10:56:03 +01:00

106 lines
1.8 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
printf 'APT::Acquire::Retries "20";\n' \
> /etc/apt/apt.conf.d/99acquire-retries
if grep --quiet jessie /etc/apt/sources.list; then
echo "deb $debian_mirror jessie-backports main" > /etc/apt/sources.list.d/backports.list
echo "deb $debian_mirror testing main" > /etc/apt/sources.list.d/testing.list
printf "Package: *\nPin: release o=Debian,a=testing\nPin-Priority: -300\n" > /etc/apt/preferences.d/debian-testing
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/jessie-backports
gettext-base/jessie-backports
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/testing
libtool-bin/testing
make
maven
mercurial
nasm
nodejs
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