--- /dev/null
+#
+# Cookbook Name:: planet
+# Recipe:: tilelog
+#
+# Copyright 2014, 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 "tools"
+
+package "gcc"
+package "make"
+package "autoconf"
+package "automake"
+package "libboost-filesystem-dev"
+package "libboost-system-dev"
+package "libboost-program-options-dev"
+
+tilelog_source_directory = node[:planet][:tilelog_source_directory]
+tilelog_input_directory = node[:planet][:tilelog_input_directory]
+tilelog_output_directory = node[:planet][:tilelog_output_directory]
+
+execute "tilelog-build" do
+ action :nothing
+ command "make"
+ cwd tilelog_source_directory
+ user "www-data"
+ group "www-data"
+end
+
+execute "tilelog-configure" do
+ action :nothing
+ command "./configure --with-boost-libdir=/usr/lib"
+ cwd tilelog_source_directory
+ user "www-data"
+ group "www-data"
+ notifies :run, "execute[tilelog-build]", :immediate
+end
+
+execute "tilelog-autogen" do
+ action :nothing
+ command "./autogen.sh"
+ cwd tilelog_source_directory
+ user "www-data"
+ group "www-data"
+ notifies :run, "execute[tilelog-configure]", :immediate
+end
+
+git tilelog_source_directory do
+ action :sync
+ repository "https://github.com/zerebubuth/openstreetmap-tile-analyze.git"
+ revision "HEAD"
+ user "www-data"
+ group "www-data"
+ notifies :run, "execute[tilelog-autogen]", :immediate
+end
+
+template "/usr/local/bin/tilelog" do
+ source "tilelog.erb"
+ owner "root"
+ group "root"
+ mode 0755
+ variables {
+ :analyze_bin => "#{tilelog_source_directory}/openstreetmap-tile-analyze",
+ :input_dir => tilelog_input_directory,
+ :output_dir => tilelog_output_directory
+ }
+end
+
+template "/etc/cron.d/tilelog" do
+ source "tileog.cron.erb"
+ owner "root"
+ group "root"
+ mode 0644
+end
--- /dev/null
+#!/bin/sh
+
+ANALYZE=<%= @analyze_bin %>
+LOGDIR=<%= @input_dir %>
+OUTDIR=<%= @output_dir %>
+if [ -z "$DATE" ]; then
+ DATE=`date -d "2 days ago" "+%Y-%m-%d"`
+fi
+TMPDIR=`mktemp -d -t tmp.XXXXXXXXX`
+ORIGDIR=`pwd`
+
+clean_up() {
+ cd $ORIGDIR
+ rm -rf $TMPDIR
+}
+
+trap clean_up 0 HUP INT TERM
+cd $TMPDIR
+
+mkdir db
+nice -n 19 $ANALYZE $LOGDIR/*-${DATE}.xz > analyze.log
+if [ -f tiles.txt ]; then
+ nice -n 19 xz -z tiles.txt
+ mv tiles.txt.xz $OUTDIR/tiles-${DATE}.txt.xz
+
+else
+ cat analyze.log
+fi