X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/57ee30ffe5e6106f3cbd9a91c1599eb5b51e8c36..37d9e1e2f502de4126fb36357a9c261174512af4:/cookbooks/mediawiki/resources/site.rb diff --git a/cookbooks/mediawiki/resources/site.rb b/cookbooks/mediawiki/resources/site.rb index 0781de597..a3862ca52 100644 --- a/cookbooks/mediawiki/resources/site.rb +++ b/cookbooks/mediawiki/resources/site.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: mediawiki +# Cookbook:: mediawiki # Resource:: mediawiki_site # -# Copyright 2015, OpenStreetMap Foundation +# Copyright:: 2015, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -22,7 +22,7 @@ default_action :create property :site, :kind_of => String, :name_attribute => true property :aliases, :kind_of => [String, Array] property :directory, :kind_of => String -property :version, :kind_of => String, :default => "1.29" +property :version, :kind_of => String, :default => "1.33" property :database_name, :kind_of => String, :required => true property :database_user, :kind_of => String, :required => true property :database_password, :kind_of => String, :required => true @@ -39,7 +39,7 @@ property :site_readonly, :kind_of => [String, TrueClass, FalseClass], :default = property :admin_user, :kind_of => String, :default => "Admin" property :admin_password, :kind_of => String, :required => true property :private_accounts, :kind_of => [TrueClass, FalseClass], :default => false -property :private, :kind_of => [TrueClass, FalseClass], :default => false +property :private_site, :kind_of => [TrueClass, FalseClass], :default => false property :recaptcha_public_key, :kind_of => String property :recaptcha_private_key, :kind_of => String property :extra_file_extensions, :kind_of => [String, Array], :default => [] @@ -105,30 +105,37 @@ action :create do mediawiki_reference = "REL#{new_resource.version}".tr(".", "_") - git "#{mediawiki_directory}/vendor" do - action :nothing - repository "https://gerrit.wikimedia.org/r/p/mediawiki/vendor.git" - revision mediawiki_reference - user node[:mediawiki][:user] - group node[:mediawiki][:group] - end - git mediawiki_directory do action :sync repository "https://gerrit.wikimedia.org/r/p/mediawiki/core.git" revision mediawiki_reference user node[:mediawiki][:user] group node[:mediawiki][:group] - notifies :sync, "git[#{mediawiki_directory}/vendor]", :immediately + notifies :run, "execute[#{mediawiki_directory}/composer.json]", :immediately notifies :run, "execute[#{mediawiki_directory}/maintenance/install.php]", :immediately notifies :run, "execute[#{mediawiki_directory}/maintenance/update.php]" end + execute "#{mediawiki_directory}/composer.json" do + action :nothing + command "composer update --no-dev" + cwd mediawiki_directory + user node[:mediawiki][:user] + group node[:mediawiki][:group] + end + + template "#{mediawiki_directory}/composer.local.json" do + cookbook "mediawiki" + source "composer.local.json.erb" + owner node[:mediawiki][:user] + group node[:mediawiki][:group] + mode 0o664 + end + # Safety catch if git doesn't update but install.php hasn't run ruby_block "catch-installer-localsettings-run" do action :run block do - # end not_if do ::File.exist?("#{mediawiki_directory}/LocalSettings-install.php") @@ -188,24 +195,41 @@ action :create do :database_params => database_params end - mediawiki_skin "CologneBlue" do # ~FC005 + # MobileFrontend extension is required by MinervaNeue skin + mediawiki_extension "MobileFrontend" do + site new_resource.site + template "mw-ext-MobileFrontend.inc.php.erb" + end + + # MobileFrontend extension is required by MinervaNeue skin + mediawiki_skin "MinervaNeue" do + site new_resource.site + update_site false + legacy false + end + + mediawiki_skin "CologneBlue" do site new_resource.site update_site false + legacy false end mediawiki_skin "Modern" do site new_resource.site update_site false + legacy false end mediawiki_skin "MonoBook" do site new_resource.site update_site false + legacy false end mediawiki_skin "Vector" do site new_resource.site update_site false + legacy false end mediawiki_extension "Cite" do @@ -218,7 +242,7 @@ action :create do update_site false end - if new_resource.private_accounts || new_resource.private + if new_resource.private_accounts || new_resource.private_site mediawiki_extension "ConfirmEdit" do site new_resource.site update_site false @@ -251,6 +275,7 @@ action :create do mediawiki_extension "Interwiki" do site new_resource.site + template "mw-ext-Interwiki.inc.php.erb" update_site false end @@ -310,36 +335,27 @@ action :create do update_site false end - # MediaWiki Language Extension Bundle - # FIXME: should automatically resolve tag - mw_lang_ext_bundle_tag = "2017.01" - mediawiki_extension "Babel" do site new_resource.site template "mw-ext-Babel.inc.php.erb" - # tag mw_lang_ext_bundle_tag - tag mw_lang_ext_bundle_tag update_site false end mediawiki_extension "cldr" do site new_resource.site template "mw-ext-cldr.inc.php.erb" - tag mw_lang_ext_bundle_tag update_site false end mediawiki_extension "CleanChanges" do site new_resource.site template "mw-ext-CleanChanges.inc.php.erb" - tag mw_lang_ext_bundle_tag update_site false end mediawiki_extension "LocalisationUpdate" do site new_resource.site template "mw-ext-LocalisationUpdate.inc.php.erb" - tag mw_lang_ext_bundle_tag update_site false end @@ -356,13 +372,12 @@ action :create do # mediawiki_extension "Translate" do # site new_resource.site # template "mw-ext-Translate.inc.php.erb" - # tag mw_lang_ext_bundle_tag # update_site false # end mediawiki_extension "UniversalLanguageSelector" do site new_resource.site - tag mw_lang_ext_bundle_tag + template "mw-ext-UniversalLanguageSelector.inc.php.erb" update_site false end @@ -430,12 +445,6 @@ action :create do action :delete end - mediawiki_extension "MobileFrontend" do - site new_resource.site - template "mw-ext-MobileFrontend.inc.php.erb" - update_site false - end - mediawiki_extension "DisableAccount" do site new_resource.site template "mw-ext-DisableAccount.inc.php.erb" @@ -448,6 +457,11 @@ action :create do update_site false end + mediawiki_extension "TemplateData" do + site new_resource.site + update_site false + end + cookbook_file "#{site_directory}/cc-wiki.png" do cookbook "mediawiki" owner node[:mediawiki][:user] @@ -481,7 +495,7 @@ action :create do template "apache.erb" directory site_directory variables :aliases => Array(new_resource.aliases), - :private => new_resource.private + :private_site => new_resource.private_site reload_apache false end @@ -572,7 +586,7 @@ action_class do :site_readonly => new_resource.site_readonly, :extra_file_extensions => new_resource.extra_file_extensions, :private_accounts => new_resource.private_accounts, - :private => new_resource.private + :private_site => new_resource.private_site } end end