mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-14 19:10:11 +01:00
1ed4ed61c7
The basebox currently provides sudo, but that may not always be the case. This makes the sudo dependency explicit, so that this provisioning script can also be used in other settings, like GitLab CI.
134 lines
2.7 KiB
Bash
134 lines
2.7 KiB
Bash
#!/bin/bash
|
|
|
|
echo $0
|
|
set -e
|
|
set -x
|
|
|
|
debian_mirror=$1
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
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
|
|
|
|
cat <<EOF > /etc/apt/apt.conf.d/99no-auto-updates
|
|
APT::Periodic::Enable "0";
|
|
APT::Periodic::Update-Package-Lists "0";
|
|
APT::Periodic::Unattended-Upgrade "0";
|
|
EOF
|
|
|
|
printf 'APT::Get::Assume-Yes "true";\n' \
|
|
> /etc/apt/apt.conf.d/99assumeyes
|
|
|
|
cat <<EOF > /etc/apt/apt.conf.d/99quiet
|
|
Dpkg::Use-Pty "0";
|
|
quiet "1";
|
|
EOF
|
|
|
|
if echo $debian_mirror | grep '^https' 2>&1 > /dev/null; then
|
|
apt-get update || apt-get update
|
|
apt-get install apt-transport-https ca-certificates
|
|
fi
|
|
|
|
cat << EOF > /etc/apt/sources.list
|
|
deb ${debian_mirror} stretch main
|
|
deb http://security.debian.org/debian-security stretch/updates main
|
|
deb ${debian_mirror} stretch-updates main
|
|
EOF
|
|
echo "deb ${debian_mirror} stretch-backports main" > /etc/apt/sources.list.d/stretch-backports.list
|
|
echo "deb ${debian_mirror} stretch-backports-sloppy main" > /etc/apt/sources.list.d/stretch-backports-sloppy.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
|
|
|
|
dpkg --add-architecture i386
|
|
|
|
apt-get update || apt-get update
|
|
apt-get upgrade --download-only
|
|
apt-get upgrade
|
|
|
|
packages="
|
|
ant
|
|
asn1c
|
|
ant-contrib
|
|
autoconf
|
|
autoconf2.13
|
|
automake
|
|
automake1.11
|
|
autopoint
|
|
bison
|
|
bzr
|
|
ca-certificates-java
|
|
cmake
|
|
curl
|
|
disorderfs
|
|
expect
|
|
faketime
|
|
flex
|
|
gettext
|
|
gettext-base
|
|
git-core
|
|
git-svn
|
|
gperf
|
|
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-jre-headless
|
|
openjdk-8-jdk-headless
|
|
optipng
|
|
p7zip
|
|
pkg-config
|
|
python-gnupg
|
|
python-lxml
|
|
python-magic
|
|
python-pip
|
|
python-setuptools
|
|
python3-defusedxml
|
|
python3-git
|
|
python3-gitdb
|
|
python3-gnupg
|
|
python3-pip
|
|
python3-pyasn1
|
|
python3-pyasn1-modules
|
|
python3-requests
|
|
python3-setuptools
|
|
python3-smmap
|
|
python3-yaml
|
|
python3-ruamel.yaml
|
|
quilt
|
|
rsync
|
|
scons
|
|
sqlite3
|
|
subversion
|
|
sudo
|
|
swig
|
|
unzip
|
|
xsltproc
|
|
yasm
|
|
zip
|
|
zlib1g:i386
|
|
"
|
|
apt-get install $packages --download-only
|
|
apt-get install $packages
|
|
|
|
highestjava=`update-java-alternatives --list | sort -n | tail -1 | cut -d ' ' -f 1`
|
|
update-java-alternatives --set $highestjava
|
|
|
|
# configure headless openjdk to work without gtk accessability dependencies
|
|
sed -i -e 's@\(assistive_technologies=org.GNOME.Accessibility.AtkWrapper\)@#\1@' /etc/java-8-openjdk/accessibility.properties
|