X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/12ef4c375bea3769624567cf93275f4c09d180a4..398d8db898e976149136d5ca675e3c08dee6ee76:/cookbooks/mediawiki/resources/site.rb?ds=inline diff --git a/cookbooks/mediawiki/resources/site.rb b/cookbooks/mediawiki/resources/site.rb index 7dc08f6f7..f8deb22ab 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. @@ -19,10 +19,10 @@ default_action :create -property :site, :kind_of => String, :name_attribute => true +property :site, :kind_of => String, :name_property => 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,34 @@ 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 + depth 1 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 +196,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 @@ -217,7 +243,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 +276,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 +336,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,13 +373,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 @@ -441,6 +458,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] @@ -474,7 +496,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 @@ -565,7 +587,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