chiark / gitweb /
Various changes to get makebuildserver to work with a 64 bit base box
[fdroidserver.git] / buildserver / cookbooks / fdroidbuild-general / recipes / default.rb
index 7eef71e8af3fd8510778facef6fb591820400eee..9ea5f5085a747184537057b4a570eaf23b8ba5ed 100644 (file)
@@ -1,12 +1,96 @@
 
 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 autopoint bison cmake expect libtool libsaxonb-java libssl1.0.0 libssl-dev maven openjdk-7-jdk javacc python python-magic git-core mercurial subversion bzr git-svn make perlmagick pkg-config zip ruby rubygems librmagick-ruby yasm imagemagick gettext realpath transfig texinfo curl
-librsvg2-bin xsltproc}.each do |pkg|
+%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
@@ -20,10 +104,26 @@ if node['kernel']['machine'] == "x86_64"
   end
 end
 
-execute "add-bsenv" do
-  user user
-  command "echo \". ./.bsenv \" >> /home/#{user}/.bashrc"
-  not_if "grep bsenv /home/#{user}/.bashrc"
+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
 
+# Ubuntu trusty 14.04's paramiko does not work with jessie's openssh's default settings
+# https://stackoverflow.com/questions/7286929/paramiko-incompatible-ssh-peer-no-acceptable-kex-algorithm/32691055#32691055
+execute "support-ubuntu-trusty-paramiko" do
+  only_if { node[:settings][:ubuntu_trusty] == 'true' }
+  command "echo Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr >> /etc/ssh/sshd_config"
+  command "echo MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160,hmac-sha1 >> /etc/ssh/sshd_config"
+  command "echo KexAlgorithms diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1 >> /etc/ssh/sshd_config"
+end