From f47677ef36e11504150a816f9a56ce57a0ac8789 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 26 Aug 2015 13:26:22 +0200 Subject: [PATCH] makebuildserver: allow setting apt mirror from command line On some setups, using a custom apt mirror is essential, so this adds a command line flag to override the default one: http://ftp.uk.debian.org/debian/ For example, someone who runs a local mirror for offline and low bandwidth situations. This uses a % rather than a .format() to avoid escaping { and }, which have meaning when using .format(). --- .../cookbooks/fdroidbuild-general/recipes/default.rb | 5 +++++ makebuildserver | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/buildserver/cookbooks/fdroidbuild-general/recipes/default.rb b/buildserver/cookbooks/fdroidbuild-general/recipes/default.rb index 0a42dc36..0b98cc59 100644 --- a/buildserver/cookbooks/fdroidbuild-general/recipes/default.rb +++ b/buildserver/cookbooks/fdroidbuild-general/recipes/default.rb @@ -1,5 +1,10 @@ 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 "apt-get-update" do command "apt-get update" diff --git a/makebuildserver b/makebuildserver index cdac06fa..1895c421 100755 --- a/makebuildserver +++ b/makebuildserver @@ -41,6 +41,8 @@ parser.add_option("-v", "--verbose", action="store_true", default=False, help="Spew out even more information than normal") parser.add_option("-c", "--clean", action="store_true", default=False, help="Build from scratch, rather than attempting to update the existing server") +parser.add_option("--debian-mirror", default="http://ftp.uk.debian.org/debian/", + help="Use the specified Debian mirror in the box's /etc/apt/sources.list.") options, args = parser.parse_args() config = {} @@ -199,6 +201,7 @@ if 'aptproxy' in config and config['aptproxy']: vagrantfile += """ config.vm.provision :shell, :inline => 'sudo echo "Acquire::http {{ Proxy \\"{0}\\"; }};" > /etc/apt/apt.conf.d/02proxy && sudo apt-get update' """.format(config['aptproxy']) + vagrantfile += """ config.vm.provision :chef_solo do |chef| chef.cookbooks_path = "cookbooks" @@ -207,6 +210,7 @@ vagrantfile += """ :settings => { :sdk_loc => "/home/vagrant/android-sdk", :ndk_loc => "/home/vagrant/android-ndk", + :debian_mirror => "%s", :user => "vagrant" } } @@ -217,7 +221,7 @@ vagrantfile += """ chef.add_recipe "kivy" end end -""" +""" % (options.debian_mirror) # Check against the existing Vagrantfile, and if they differ, we need to # create a new box: -- 2.30.2