-# Move XML dumps into place
-for file in "changesets-${date}.osm.bz2" "planet-${date}.osm.bz2" "history-${date}.osm.bz2"
-do
- md5sum "#{file}" > "#{file}.md5"
- mv "${file}" "${file}.md5" "/store/planet/planet"
-done
-
-# Move PBF dumps into place
-for file in "planet-${date}.osm.pbf" "history-${date}.osm.pbf"
-do
- md5sum "#{file}" > "#{file}.md5"
- mv "${file}" "${file}.md5" "/store/planet/pbf"
-done
+# Function to install a dump in place
+function install_dump {
+ type="$1"
+ format="$2"
+ dir="$3"
+ year="$4"
+ name="${type}-${date}.osm.${format}"
+ latest="${type}-latest.osm.${format}"
+
+ md5sum "${name}" > "${name}.md5"
+ mkdir -p "${dir}/${year}"
+ mv "${name}" "${name}.md5" "${dir}/${year}"
+ ln -sf "${year:-.}/${name}" "${dir}/${latest}"
+ rm -f "${dir}/${latest}.md5"
+ sed -e "s/${name}/${latest}/" "${dir}/${year}/${name}.md5" > "${dir}/${latest}.md5"
+}
+
+# Move dumps into place
+install_dump "changesets" "bz2" "<%= node[:planet][:dump][:xml_directory] %>" "${year}"
+install_dump "discussions" "bz2" "<%= node[:planet][:dump][:xml_directory] %>" "${year}"
+install_dump "planet" "bz2" "<%= node[:planet][:dump][:xml_directory] %>" "${year}"
+install_dump "history" "bz2" "<%= node[:planet][:dump][:xml_history_directory] %>" "${year}"
+install_dump "planet" "pbf" "<%= node[:planet][:dump][:pbf_directory] %>"
+install_dump "history" "pbf" "<%= node[:planet][:dump][:pbf_history_directory] %>"
+
+# Remove pbf dumps older than 90 days
+find "<%= node[:planet][:dump][:pbf_directory] %>" "<%= node[:planet][:dump][:pbf_history_directory] %>" -maxdepth 1 -mindepth 1 -type f -mtime +90 \( -iname 'planet-*.pbf' -o -iname 'history-*.pbf' -o -iname 'planet-*.pbf.md5' -o -iname 'history-*.pbf.md5' \) -delete