X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/900cc4d0e89348d1396fc3dc38d131e486c2914c..a8c510b750277f3be246b87019185e2cbccf2378:/cookbooks/mediawiki/resources/site.rb diff --git a/cookbooks/mediawiki/resources/site.rb b/cookbooks/mediawiki/resources/site.rb index 5bd0feff0..e24d25353 100644 --- a/cookbooks/mediawiki/resources/site.rb +++ b/cookbooks/mediawiki/resources/site.rb @@ -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,25 +105,33 @@ 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 @@ -187,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 # ~FC005 + site new_resource.site + template "mw-ext-MobileFrontend.inc.php.erb" + end + + # MobileFrontend extension is required by MinervaNeue skin + mediawiki_skin "MinervaNeue" do # ~FC005 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 @@ -217,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 @@ -250,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 @@ -309,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 @@ -355,27 +372,24 @@ 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 mediawiki_extension "AntiSpoof" do site new_resource.site template "mw-ext-AntiSpoof.inc.php.erb" - compose true update_site false end mediawiki_extension "AbuseFilter" do site new_resource.site template "mw-ext-AbuseFilter.inc.php.erb" - compose true update_site false end @@ -392,7 +406,6 @@ action :create do mediawiki_extension "Elastica" do site new_resource.site - compose true update_site false end @@ -444,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] @@ -477,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 @@ -568,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