mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-05 06:50:29 +03: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:
parent
2374b12a77
commit
aafad6b909
4 changed files with 93 additions and 124 deletions
|
|
@ -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
|
easy_install_package "compare-locales" do
|
||||||
options "-U"
|
options "-U"
|
||||||
action :install
|
action :install
|
||||||
end
|
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
|
|
||||||
|
|
|
||||||
|
|
@ -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|
|
%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
|
package pkg do
|
||||||
action :install
|
action :install
|
||||||
|
|
|
||||||
90
buildserver/provision-apt-get-install
Normal file
90
buildserver/provision-apt-get-install
Normal 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
|
||||||
|
|
@ -377,16 +377,12 @@ vagrantfile += """
|
||||||
|
|
||||||
config.vm.provision "shell", path: "setup-env-vars",
|
config.vm.provision "shell", path: "setup-env-vars",
|
||||||
args: ["/home/vagrant/android-sdk"]
|
args: ["/home/vagrant/android-sdk"]
|
||||||
|
config.vm.provision "shell", path: "provision-apt-get-install",
|
||||||
|
args: ["{0}"]
|
||||||
|
|
||||||
config.vm.provision :chef_solo do |chef|
|
config.vm.provision :chef_solo do |chef|
|
||||||
chef.cookbooks_path = "cookbooks"
|
chef.cookbooks_path = "cookbooks"
|
||||||
chef.log_level = :debug
|
chef.log_level = :debug
|
||||||
chef.json = {
|
|
||||||
:settings => {
|
|
||||||
:debian_mirror => "%s",
|
|
||||||
:user => "vagrant"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
chef.add_recipe "fdroidbuild-general"
|
chef.add_recipe "fdroidbuild-general"
|
||||||
chef.add_recipe "kivy"
|
chef.add_recipe "kivy"
|
||||||
end
|
end
|
||||||
|
|
@ -404,7 +400,7 @@ vagrantfile += """
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
""" % config['debian_mirror']
|
""".format(config['debian_mirror'])
|
||||||
|
|
||||||
|
|
||||||
# Check against the existing Vagrantfile, and if they differ, we need to
|
# Check against the existing Vagrantfile, and if they differ, we need to
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue