X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/2bfb0ef07fb64314f5c4ded641a8c280df9c1d0b..54817d1f97d837a7b740c805661388a03b8ffe22:/cookbooks/nominatim/templates/default/nominatim-update.erb?ds=sidebyside diff --git a/cookbooks/nominatim/templates/default/nominatim-update.erb b/cookbooks/nominatim/templates/default/nominatim-update.erb index 9f122206c..ed5decedf 100644 --- a/cookbooks/nominatim/templates/default/nominatim-update.erb +++ b/cookbooks/nominatim/templates/default/nominatim-update.erb @@ -6,16 +6,35 @@ date "+%c === Starting Nominatim update cycle" starttime=`date +%s` -<% if node[:nominatim][:enable_git_updates] -%> -if /sbin/runuser -u nominatim -- <%= @bindir %>/nominatim-update-source; then - pushd <%= @builddir %> - make install - - if ! /sbin/runuser -u nominatim -- <%= @bindir %>/nominatim-update-refresh-db; then - date "+%c === Database refresh failed. Stopping updates." - exit 1 +<% if node.platform?("debian") -%> + # First update the importer and run the migrations. + if <%= @venvprefix %>pip list --outdated | fgrep -q nominatim-db; then + <%= @venvprefix %>pip install -U nominatim-db + if ! /sbin/runuser -u nominatim -- <%= @bindir %>/nominatim-update-refresh-db; then + date "+%c === Database refresh failed. Stopping updates." + exit 1 + fi fi -fi + # Then only attempt to update the frontend. + if <%= @venvprefix %>pip list --outdated | fgrep -q nominatim-api; then + <%= @venvprefix %>pip install -U nominatim-api + systemctl reload nominatim + fi +<% else -%> + <% if node[:nominatim][:enable_git_updates] -%> + if /sbin/runuser -u nominatim -- <%= @bindir %>/nominatim-update-source; then + + if ! /sbin/runuser -u nominatim -- <%= @bindir %>/nominatim-update-refresh-db; then + date "+%c === Database refresh failed. Stopping updates." + exit 1 + fi + + pushd <%= @builddir %> + make install + + systemctl reload nominatim + fi + <% end -%> <% end -%> if ! /sbin/runuser -u nominatim -- <%= @bindir %>/nominatim-update-data; then