1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-10-03 17:50:11 +02:00

buildserver: move apt setup to a shell script

This makes it so there is only a single `apt-get install` command run,
instead of one command per-package like with the chef script.  It also adds
`apt-get upgrade` to make sure that the base box is fully up-to-date.
This commit is contained in:
Hans-Christoph Steiner 2016-07-04 13:52:19 +02:00
parent 2374b12a77
commit aafad6b909
4 changed files with 93 additions and 124 deletions

View File

@ -1,120 +1,5 @@
user = node[:settings][:user]
debian_mirror = node[:settings][:debian_mirror]
execute 'set_debian_mirror' do
command "sed -i 's,http://ftp.uk.debian.org/debian/,#{debian_mirror},g' /etc/apt/sources.list"
end
execute "jessie_backports" do
command "echo 'deb #{debian_mirror} jessie-backports main' > /etc/apt/sources.list.d/backports.list"
only_if "grep jessie /etc/apt/sources.list"
end
if node['kernel']['machine'] == "x86_64"
execute "archi386" do
command "dpkg --add-architecture i386"
end
end
execute "apt-get-update" do
command "apt-get update"
end
%w{
ant
ant-contrib
autoconf
autoconf2.13
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
libglib2.0-dev
liblzma-dev
librsvg2-bin
libsaxonb-java
libssl-dev
libssl1.0.0
libtool
libtool-bin
make
maven
}.each do |pkg|
package pkg do
action :install
end
end
%w{
mercurial
nasm
openjdk-8-jdk-headless
optipng
p7zip
pandoc
perlmagick
pkg-config
python-gnupg
python-magic
python-setuptools
python3-gnupg
python3-requests
python3-yaml
qt5-default
qtbase5-dev
quilt
realpath
scons
subversion
swig
texinfo
transfig
unzip
vorbis-tools
xsltproc
yasm
zip
}.each do |pkg|
package pkg do
action :install
end
end
if node['kernel']['machine'] == "x86_64"
%w{libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386}.each do |pkg|
package pkg do
action :install
end
end
end
easy_install_package "compare-locales" do
options "-U"
action :install
end
if node['kernel']['machine'] == "x86_64"
execute "set-default-java" do
command "update-java-alternatives --set java-1.8.0-openjdk-amd64"
end
else
execute "set-default-java" do
command "update-java-alternatives --set java-1.8.0-openjdk-i386"
end
end

View File

@ -1,6 +1,4 @@
user = node[:settings][:user]
%w{cython python-pygame python-pip python-virtualenv python-opengl python-gst0.10 python-enchant libgl1-mesa-dev libgles2-mesa-dev}.each do |pkg|
package pkg do
action :install

View File

@ -0,0 +1,90 @@
#!/bin/bash
set -e
set -x
debian_mirror=$1
sed -i "s,http://ftp.uk.debian.org/debian/,${debian_mirror},g" /etc/apt/sources.list
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
packages="
ant
ant-contrib
autoconf
autoconf2.13
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
libssl1.0.0
libstdc++6:i386
libtool
libtool-bin
make
maven
mercurial
nasm
openjdk-8-jdk-headless
optipng
p7zip
pandoc
perlmagick
pkg-config
python-gnupg
python-magic
python-setuptools
python3-gnupg
python3-requests
python3-yaml
qt5-default
qtbase5-dev
quilt
realpath
scons
subversion
swig
texinfo
transfig
unzip
vorbis-tools
xsltproc
yasm
zip
zlib1g:i386
"
apt-get install --yes --no-install-recommends $packages
highestjava=`update-java-alternatives --list | sort -n | tail -1 | cut -d ' ' -f 1`
update-java-alternatives --set $highestjava

View File

@ -377,16 +377,12 @@ vagrantfile += """
config.vm.provision "shell", path: "setup-env-vars",
args: ["/home/vagrant/android-sdk"]
config.vm.provision "shell", path: "provision-apt-get-install",
args: ["{0}"]
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "cookbooks"
chef.log_level = :debug
chef.json = {
:settings => {
:debian_mirror => "%s",
:user => "vagrant"
}
}
chef.add_recipe "fdroidbuild-general"
chef.add_recipe "kivy"
end
@ -404,7 +400,7 @@ vagrantfile += """
end
end
""" % config['debian_mirror']
""".format(config['debian_mirror'])
# Check against the existing Vagrantfile, and if they differ, we need to