]> git.openstreetmap.org Git - chef.git/blob - cookbooks/planet/recipes/dump.rb
02f3ae350654ab5222fcba27b80e13f5856084d4
[chef.git] / cookbooks / planet / recipes / dump.rb
1 #
2 # Cookbook Name:: planet
3 # Recipe:: dump
4 #
5 # Copyright 2013, OpenStreetMap Foundation
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #     http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 #
19
20 node.default[:incron][:planetdump] = {
21   :user => "www-data",
22   :path => "/store/backup",
23   :events => [ "IN_CREATE", "IN_MOVED_TO" ],
24   :command => "/usr/local/bin/planetdump $#"
25 }
26
27 include_recipe "git"
28 include_recipe "incron"
29
30 package "gcc"
31 package "make"
32 package "autoconf"
33 package "automake"
34 package "libxml2-dev"
35 package "libboost-dev"
36 package "libboost-program-options-dev"
37 package "libboost-date-time-dev"
38 package "libboost-filesystem-dev"
39 package "libboost-thread-dev"
40 package "libboost-iostreams-dev"
41 package "libosmpbf-dev"
42 package "libleveldb-dev"
43 package "libsnappy-dev"
44 package "libprotobuf-dev"
45 package "osmpbf-bin"
46
47 directory "/opt/planet-dump-ng" do
48   owner "root"
49   group "root"
50   mode 0755
51 end
52
53 git "/opt/planet-dump-ng" do
54   action :sync
55   repository "git://github.com/zerebubuth/planet-dump-ng.git"
56   revision "master"
57   user "root"
58   group "root"
59 end
60
61 execute "/opt/planet-dump-ng/autogen.sh" do
62   action :nothing
63   command "./autogen.sh"
64   cwd "/opt/planet-dump-ng"
65   user "root"
66   group "root"
67   subscribes :run, "git[/opt/planet-dump-ng]"
68 end
69
70 execute "/opt/planet-dump-ng/configure" do
71   action :nothing
72   command "./configure --with-leveldb=/usr"
73   cwd "/opt/planet-dump-ng"
74   user "root"
75   group "root"
76   subscribes :run, "execute[/opt/planet-dump-ng/autogen.sh]"
77 end
78
79 execute "/opt/planet-dump-ng/Makefile" do
80   action :nothing
81   command "make"
82   cwd "/opt/planet-dump-ng"
83   user "root"
84   group "root"
85   subscribes :run, "execute[/opt/planet-dump-ng/configure]"
86 end
87
88 directory "/store/planetdump" do
89   owner "www-data"
90   group "www-data"
91   mode 0755
92 end
93
94 template "/usr/local/bin/planetdump" do
95   source "planetdump.erb"
96   owner "root"
97   group "root"
98   mode 0755
99 end