]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/mediawiki/providers/site.rb
Define the update action for mediawiki_site
[chef.git] / cookbooks / mediawiki / providers / site.rb
index 8d003480cfbfe9a367404b8c96d3644430b138b5..1548da5c1fc480cc12e7096bd157328f23ef8ec5 100644 (file)
@@ -422,6 +422,31 @@ action :create do
   end
 end
 
+action :update do
+  mediawiki_directory = "#{site_directory}/w"
+
+  template "#{mediawiki_directory}/LocalSettings.php" do
+    cookbook "mediawiki"
+    source "LocalSettings.php.erb"
+    owner node[:mediawiki][:user]
+    group node[:mediawiki][:group]
+    mode 0664
+    variables :name => new_resource.name,
+              :directory => mediawiki_directory,
+              :database_params => new_resource.database_params,
+              :mediawiki => new_resource.mediawiki_params
+    notifies :run, "execute[#{mediawiki_directory}/maintenance/update.php]"
+  end
+
+  execute "#{mediawiki_directory}/maintenance/update.php" do
+    action :run
+    command "php maintenance/update.php --quick"
+    cwd mediawiki_directory
+    user node[:mediawiki][:user]
+    group node[:mediawiki][:group]
+  end
+end
+
 action :delete do
   apache_site new_resource.name do
     action :delete