diff --git a/tasks/boxes.rake b/tasks/boxes.rake index a2117ee..ab30c42 100644 --- a/tasks/boxes.rake +++ b/tasks/boxes.rake @@ -1,9 +1,21 @@ namespace :boxes do namespace :build do + IMAGE_ROOT = 'https://cloud-images.ubuntu.com/releases/quantal/release-20130206' + IMAGE_NAME = 'ubuntu-12.10-server-cloudimg-amd64-root.tar.gz' + def download(source, destination) + destination = "#{File.dirname __FILE__}/../#{destination}" + if File.exists?(destination) + puts 'Skipping box image download' + else + sh "wget #{source} -O #{destination}" + end + end + desc 'Packages an Ubuntu cloud image as a Vagrant LXC box' task 'ubuntu-cloud' do sh 'mkdir -p boxes/output' - sh 'cp cache/ubuntu-12.10-server-cloudimg-amd64-root.tar.gz boxes/ubuntu-cloud' + download "#{IMAGE_ROOT}/#{IMAGE_NAME}", "boxes/ubuntu-cloud/#{IMAGE_NAME}" + sh 'rm -f output/ubuntu-cloud.box' sh 'cd boxes/ubuntu-cloud && tar -czf ../output/ubuntu-cloud.box ./*' end end