From d358821303962f093e734708a59193e09098a09a Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Wed, 3 Jul 2013 19:13:13 +0100 Subject: [PATCH] Add an osmosis cookbook to manage an install of osmosis --- cookbooks/osmosis/README.rdoc | 8 ++++ cookbooks/osmosis/attributes/default.rb | 2 + cookbooks/osmosis/metadata.rb | 7 +++ cookbooks/osmosis/recipes/default.rb | 64 +++++++++++++++++++++++++ 4 files changed, 81 insertions(+) create mode 100644 cookbooks/osmosis/README.rdoc create mode 100644 cookbooks/osmosis/attributes/default.rb create mode 100644 cookbooks/osmosis/metadata.rb create mode 100644 cookbooks/osmosis/recipes/default.rb diff --git a/cookbooks/osmosis/README.rdoc b/cookbooks/osmosis/README.rdoc new file mode 100644 index 000000000..3de2ec7a3 --- /dev/null +++ b/cookbooks/osmosis/README.rdoc @@ -0,0 +1,8 @@ += DESCRIPTION: + += REQUIREMENTS: + += ATTRIBUTES: + += USAGE: + diff --git a/cookbooks/osmosis/attributes/default.rb b/cookbooks/osmosis/attributes/default.rb new file mode 100644 index 000000000..8d4f9a3b6 --- /dev/null +++ b/cookbooks/osmosis/attributes/default.rb @@ -0,0 +1,2 @@ +# Set the default version +default[:osmosis][:version] = "0.43.1" diff --git a/cookbooks/osmosis/metadata.rb b/cookbooks/osmosis/metadata.rb new file mode 100644 index 000000000..6439a5578 --- /dev/null +++ b/cookbooks/osmosis/metadata.rb @@ -0,0 +1,7 @@ +maintainer "OpenStreetMap Administrators" +maintainer_email "admins@openstreetmap.org" +license "Apache 2.0" +description "Installs and configures osmosis" +long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc')) +version "1.0.0" +depends "chef" diff --git a/cookbooks/osmosis/recipes/default.rb b/cookbooks/osmosis/recipes/default.rb new file mode 100644 index 000000000..42679ac3f --- /dev/null +++ b/cookbooks/osmosis/recipes/default.rb @@ -0,0 +1,64 @@ +# +# Cookbook Name:: osmosis +# Recipe:: default +# +# Copyright 2013, OpenStreetMap Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +include_recipe "chef" + +osmosis_package = "osmosis-#{node[:osmosis][:version]}.zip" +osmosis_directory = "/opt/osmosis-#{node[:osmosis][:version]}" + +Dir.glob("/var/cache/chef/osmosis-*.zip").each do |zip| + if zip != "/var/cache/chef/#{osmosis_package}" + file zip do + action :delete + backup false + end + end +end + +directory osmosis_directory do + owner "root" + group "root" + mode 0755 +end + +execute "/var/cache/chef/#{osmosis_package}" do + action :nothing + command "unzip -q /var/cache/chef/#{osmosis_package}" + cwd osmosis_directory + user "root" + group "root" +end + +remote_file "/var/cache/chef/#{osmosis_package}" do + action :create_if_missing + source "http://bretth.dev.openstreetmap.org/osmosis-build/#{osmosis_package}" + owner "root" + group "root" + mode 0644 + backup false + notifies :run, "execute[/var/cache/chef/#{osmosis_package}]" +end + +link "/usr/local/bin/osmosis" do + to "#{osmosis_directory}/bin/osmosis" +end + +link "/usr/local/bin/osmosis-extract-apidb-0.6" do + to "#{osmosis_directory}/bin/osmosis-extract-apidb-0.6" +end -- 2.43.2