X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/18e12b0e123fc3e5f344682f884feabc12da0f5a..3535055f669970b9991c63487c27b9fe382a8c60:/cookbooks/mediawiki/resources/site.rb diff --git a/cookbooks/mediawiki/resources/site.rb b/cookbooks/mediawiki/resources/site.rb index e972715a7..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 @@ -38,9 +38,8 @@ property :site_notice, :kind_of => [String, TrueClass, FalseClass], :default => property :site_readonly, :kind_of => [String, TrueClass, FalseClass], :default => false property :admin_user, :kind_of => String, :default => "Admin" property :admin_password, :kind_of => String, :required => true -property :ssl_enabled, :kind_of => [TrueClass, FalseClass], :default => false 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 => [] @@ -106,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") @@ -189,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 @@ -219,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 @@ -252,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 @@ -311,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 @@ -357,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 @@ -431,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" @@ -449,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] @@ -475,7 +488,6 @@ action :create do ssl_certificate new_resource.site do domains [new_resource.site] + Array(new_resource.aliases) - only_if { new_resource.ssl_enabled } end apache_site new_resource.site do @@ -483,8 +495,7 @@ action :create do template "apache.erb" directory site_directory variables :aliases => Array(new_resource.aliases), - :private => new_resource.private, - :ssl_enabled => new_resource.ssl_enabled + :private_site => new_resource.private_site reload_apache false end @@ -573,10 +584,9 @@ action_class do :skin => new_resource.skin, :site_notice => new_resource.site_notice, :site_readonly => new_resource.site_readonly, - :ssl_enabled => new_resource.ssl_enabled, :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