From 12299baacbdd26b32de99370508b1ae79974240d Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Sat, 21 Feb 2026 18:52:35 -0800 Subject: Rename module paths to match classes The refactor in commit e39155d4d changed class names but Puppet 3 seems to require the module path name to match. --- manifests/nodes/duvel.pp | 2 +- manifests/nodes/sucuk.pp | 2 +- modules/bugzilla-dev/manifests/init.pp | 81 ---- modules/bugzilla-dev/templates/localconfig | 121 ----- modules/bugzilla-dev/templates/params.json | 104 ----- modules/bugzilla-dev/templates/robots.txt | 10 - modules/bugzilla-dev/templates/vhost.conf | 2 - .../bugzilla-dev/templates/webapp_bugzilla.conf | 73 --- modules/bugzilla_dev/manifests/init.pp | 81 ++++ modules/bugzilla_dev/templates/localconfig | 121 +++++ modules/bugzilla_dev/templates/params.json | 104 +++++ modules/bugzilla_dev/templates/robots.txt | 10 + modules/bugzilla_dev/templates/vhost.conf | 2 + .../bugzilla_dev/templates/webapp_bugzilla.conf | 73 +++ modules/mga-advisories/manifests/init.pp | 98 ---- modules/mga-advisories/templates/adv-move-pkg | 8 - .../mga-advisories/templates/mga-advisories.conf | 14 - .../mga-advisories/templates/sudoers.adv-move-pkg | 1 - modules/mga-advisories/templates/update_script | 16 - modules/mga-mirrors/files/check_mirrors_status | 271 ----------- modules/mga-mirrors/manifests/init.pp | 54 --- modules/mga-mirrors/templates/cron-mga_mirrors | 2 - modules/mga-mirrors/templates/mga-mirrors.ini | 4 - modules/mga-treasurer/manifests/init.pp | 91 ---- modules/mga-treasurer/templates/mga-treasurer.conf | 2 - modules/mga-treasurer/templates/update_script | 6 - .../templates/vhost_mga-treasurer.conf | 3 - modules/mga_advisories/manifests/init.pp | 98 ++++ modules/mga_advisories/templates/adv-move-pkg | 8 + .../mga_advisories/templates/mga-advisories.conf | 14 + .../mga_advisories/templates/sudoers.adv-move-pkg | 1 + modules/mga_advisories/templates/update_script | 16 + modules/mga_mirrors/files/check_mirrors_status | 271 +++++++++++ modules/mga_mirrors/manifests/init.pp | 54 +++ modules/mga_mirrors/templates/cron-mga_mirrors | 2 + modules/mga_mirrors/templates/mga-mirrors.ini | 4 + modules/mga_treasurer/manifests/init.pp | 91 ++++ modules/mga_treasurer/templates/mga-treasurer.conf | 2 + modules/mga_treasurer/templates/update_script | 6 + .../templates/vhost_mga-treasurer.conf | 3 + modules/spec-tree-reports/manifests/init.pp | 50 -- .../templates/generate-spec-rpm-mismatch-report | 10 - modules/youri-check/manifests/init.pp | 133 ------ modules/youri-check/templates/10.conf | 241 ---------- modules/youri-check/templates/9.conf | 241 ---------- modules/youri-check/templates/cauldron.conf | 504 --------------------- modules/youri-check/templates/vhost_check.conf | 2 - modules/youri_check/manifests/init.pp | 133 ++++++ modules/youri_check/templates/10.conf | 241 ++++++++++ modules/youri_check/templates/9.conf | 241 ++++++++++ modules/youri_check/templates/cauldron.conf | 504 +++++++++++++++++++++ modules/youri_check/templates/vhost_check.conf | 2 + 52 files changed, 2084 insertions(+), 2144 deletions(-) delete mode 100755 modules/bugzilla-dev/manifests/init.pp delete mode 100755 modules/bugzilla-dev/templates/localconfig delete mode 100644 modules/bugzilla-dev/templates/params.json delete mode 100755 modules/bugzilla-dev/templates/robots.txt delete mode 100755 modules/bugzilla-dev/templates/vhost.conf delete mode 100755 modules/bugzilla-dev/templates/webapp_bugzilla.conf create mode 100755 modules/bugzilla_dev/manifests/init.pp create mode 100755 modules/bugzilla_dev/templates/localconfig create mode 100644 modules/bugzilla_dev/templates/params.json create mode 100755 modules/bugzilla_dev/templates/robots.txt create mode 100755 modules/bugzilla_dev/templates/vhost.conf create mode 100755 modules/bugzilla_dev/templates/webapp_bugzilla.conf delete mode 100644 modules/mga-advisories/manifests/init.pp delete mode 100644 modules/mga-advisories/templates/adv-move-pkg delete mode 100644 modules/mga-advisories/templates/mga-advisories.conf delete mode 100644 modules/mga-advisories/templates/sudoers.adv-move-pkg delete mode 100644 modules/mga-advisories/templates/update_script delete mode 100755 modules/mga-mirrors/files/check_mirrors_status delete mode 100644 modules/mga-mirrors/manifests/init.pp delete mode 100644 modules/mga-mirrors/templates/cron-mga_mirrors delete mode 100644 modules/mga-mirrors/templates/mga-mirrors.ini delete mode 100644 modules/mga-treasurer/manifests/init.pp delete mode 100644 modules/mga-treasurer/templates/mga-treasurer.conf delete mode 100644 modules/mga-treasurer/templates/update_script delete mode 100644 modules/mga-treasurer/templates/vhost_mga-treasurer.conf create mode 100644 modules/mga_advisories/manifests/init.pp create mode 100644 modules/mga_advisories/templates/adv-move-pkg create mode 100644 modules/mga_advisories/templates/mga-advisories.conf create mode 100644 modules/mga_advisories/templates/sudoers.adv-move-pkg create mode 100644 modules/mga_advisories/templates/update_script create mode 100755 modules/mga_mirrors/files/check_mirrors_status create mode 100644 modules/mga_mirrors/manifests/init.pp create mode 100644 modules/mga_mirrors/templates/cron-mga_mirrors create mode 100644 modules/mga_mirrors/templates/mga-mirrors.ini create mode 100644 modules/mga_treasurer/manifests/init.pp create mode 100644 modules/mga_treasurer/templates/mga-treasurer.conf create mode 100644 modules/mga_treasurer/templates/update_script create mode 100644 modules/mga_treasurer/templates/vhost_mga-treasurer.conf delete mode 100644 modules/spec-tree-reports/manifests/init.pp delete mode 100644 modules/spec-tree-reports/templates/generate-spec-rpm-mismatch-report delete mode 100644 modules/youri-check/manifests/init.pp delete mode 100644 modules/youri-check/templates/10.conf delete mode 100644 modules/youri-check/templates/9.conf delete mode 100644 modules/youri-check/templates/cauldron.conf delete mode 100644 modules/youri-check/templates/vhost_check.conf create mode 100644 modules/youri_check/manifests/init.pp create mode 100644 modules/youri_check/templates/10.conf create mode 100644 modules/youri_check/templates/9.conf create mode 100644 modules/youri_check/templates/cauldron.conf create mode 100644 modules/youri_check/templates/vhost_check.conf diff --git a/manifests/nodes/duvel.pp b/manifests/nodes/duvel.pp index e7dafa45..6c03038d 100644 --- a/manifests/nodes/duvel.pp +++ b/manifests/nodes/duvel.pp @@ -19,7 +19,7 @@ node duvel { include mga_buildsystem::mainnode include softwarekey include mgasoft - include spec-tree-reports + include spec_tree_reports include access_classes::committers include restrictshell::allow_git diff --git a/manifests/nodes/sucuk.pp b/manifests/nodes/sucuk.pp index 8f634140..251223cc 100644 --- a/manifests/nodes/sucuk.pp +++ b/manifests/nodes/sucuk.pp @@ -23,7 +23,7 @@ node sucuk { include lists include catdap - include mga-mirrors + include mga_mirrors include wikis include websites::perl diff --git a/modules/bugzilla-dev/manifests/init.pp b/modules/bugzilla-dev/manifests/init.pp deleted file mode 100755 index b59cbdb7..00000000 --- a/modules/bugzilla-dev/manifests/init.pp +++ /dev/null @@ -1,81 +0,0 @@ -class bugzilla_dev { - - $bugzilla_dev_location = '/usr/share/bugzilla/' - - package {['graphviz', - 'perl-Template-GD', # needed for graphical_report support - 'perl-Test-Taint', - 'perl-JSON-RPC', - 'perl-Email-MIME', - 'perl-Email-Sender', - 'Math-Random-ISAAC', - 'perl-Chart', - 'perl-PatchReader', - 'perl-ldap', - 'perl-SOAP-Lite', - 'perl-XMLRPC-Lite', - 'perl-CGI']: } - - $pgsql_password = extlookup('bugzilla_pgsql','x') - $ldap_password = extlookup('bugzilla_ldap','x') - - postgresql::remote_db_and_user { 'bugs': - description => 'Bugzilla database', - password => $pgsql_password, - } - - file { '/usr/share/bugzilla/localconfig': - group => 'apache', - mode => '0640', - content => template('bugzilla-dev/localconfig') - } - - - file { '/usr/share/bugzilla/data/params.json': - group => 'apache', - mode => '0640', - content => template('bugzilla-dev/params.json') - } - - apache::webapp_other { 'bugzilla-dev': - webapp_file => 'bugzilla-dev/webapp_bugzilla.conf', - } - - $bugs_vhost = "bugs-dev.${::domain}" - $vhost_root = '/usr/share/bugzilla' - - apache::vhost::redirect_ssl { $bugs_vhost: } - - apache::vhost::base { $bugs_vhost: - content => template('bugzilla-dev/vhost.conf'), - aliases => { '/bugzilla/' => $vhost_root }, - use_ssl => true, - location => $vhost_root, - vhost => $bugs_vhost, - } - - git::snapshot { $bugzilla_dev_location: - source => "git://git.${::domain}/web/bugs" - } - - file { 'Mageia': - ensure => directory, - path => '/usr/share/bugzilla', - group => 'apache', - recurse => true, - require => Git::Snapshot[$bugzilla_dev_location], - } - - file { '/usr/share/bugzilla/robots.txt': - group => 'apache', - mode => '0640', - content => template('bugzilla-dev/robots.txt') - } - - cron { 'collectstats': - command => '/usr/share/bugzilla/bin/collectstats.pl', - user => 'apache', - hour => 2, - minute => 30, - } -} diff --git a/modules/bugzilla-dev/templates/localconfig b/modules/bugzilla-dev/templates/localconfig deleted file mode 100755 index 2b7d6035..00000000 --- a/modules/bugzilla-dev/templates/localconfig +++ /dev/null @@ -1,121 +0,0 @@ -# If you are using Apache as your web server, Bugzilla can create .htaccess -# files for you, which will keep this file (localconfig) and other -# confidential files from being read over the web. -# -# If this is set to 1, checksetup.pl will create .htaccess files if -# they don't exist. -# -# If this is set to 0, checksetup.pl will not create .htaccess files. -$create_htaccess = 0; - -# The name of the group that your web server runs as. On Red Hat -# distributions, this is usually "apache". On Debian/Ubuntu, it is -# usually "www-data". -# -# If you have use_suexec turned on below, then this is instead the name -# of the group that your web server switches to to run cgi files. -# -# If this is a Windows machine, ignore this setting, as it does nothing. -# -# If you do not have access to the group your scripts will run under, -# set this to "". If you do set this to "", then your Bugzilla installation -# will be _VERY_ insecure, because some files will be world readable/writable, -# and so anyone who can get local access to your machine can do whatever they -# want. You should only have this set to "" if this is a testing installation -# and you cannot set this up any other way. YOU HAVE BEEN WARNED! -# -# If you set this to anything other than "", you will need to run checksetup.pl -# as root or as a user who is a member of the specified group. -$webservergroup = 'apache'; - -# Set this to 1 if Bugzilla runs in an Apache SuexecUserGroup environment. -# -# If your web server runs control panel software (cPanel, Plesk or similar), -# or if your Bugzilla is to run in a shared hosting environment, then you are -# almost certainly in an Apache SuexecUserGroup environment. -# -# If this is a Windows box, ignore this setting, as it does nothing. -# -# If set to 0, checksetup.pl will set file permissions appropriately for -# a normal webserver environment. -# -# If set to 1, checksetup.pl will set file permissions so that Bugzilla -# works in a SuexecUserGroup environment. -$use_suexec = 0; - -# What SQL database to use. Default is mysql. List of supported databases -# can be obtained by listing Bugzilla/DB directory - every module corresponds -# to one supported database and the name of the module (before ".pm") -# corresponds to a valid value for this variable. -$db_driver = 'pg'; - -# The DNS name or IP address of the host that the database server runs on. -$db_host = 'pg.mageia.org'; - -# The name of the database. For Oracle, this is the database's SID. For -# SQLite, this is a name (or path) for the DB file. -$db_name = 'bugs'; - -# Who we connect to the database as. -$db_user = 'bugs'; - -# Enter your database password here. It's normally advisable to specify -# a password for your bugzilla database user. -# If you use apostrophe (') or a backslash (\) in your password, you'll -# need to escape it by preceding it with a '\' character. (\') or (\) -# (It is far simpler to just not use those characters.) -$db_pass = '<%= pgsql_password %>'; - -# Sometimes the database server is running on a non-standard port. If that's -# the case for your database server, set this to the port number that your -# database server is running on. Setting this to 0 means "use the default -# port for my database server." -$db_port = 0; - -# MySQL Only: Enter a path to the unix socket for MySQL. If this is -# blank, then MySQL's compiled-in default will be used. You probably -# want that. -$db_sock = ''; - -# Should checksetup.pl try to verify that your database setup is correct? -# With some combinations of database servers/Perl modules/moonphase this -# doesn't work, and so you can try setting this to 0 to make checksetup.pl -# run. -$db_check = 1; - -# Path to a PEM file with a list of trusted SSL CA certificates. -# The file must be readable by web server user. -$db_mysql_ssl_ca_file = ''; - -# Path to a directory containing trusted SSL CA certificates in PEM format. -# Directory and files inside must be readable by the web server user. -$db_mysql_ssl_ca_path = ''; - -# Full path to the client SSL certificate in PEM format we will present to the DB server. -# The file must be readable by web server user. -$db_mysql_ssl_client_cert = ''; - -# Full path to the private key corresponding to the client SSL certificate. -# The file must not be password-protected and must be readable by web server user. -$db_mysql_ssl_client_key = ''; - -# Most web servers will allow you to use index.cgi as a directory -# index, and many come preconfigured that way, but if yours doesn't -# then you'll need an index.html file that provides redirection -# to index.cgi. Setting $index_html to 1 below will allow -# checksetup.pl to create an index.html for you if it doesn't exist. -# NOTE: checksetup.pl will not replace an existing file, so if you -# wish to have checksetup.pl create one for you, you must -# make sure that index.html doesn't already exist. -$index_html = 0; - -# If you want to use the "Difference Between Two Patches" feature of the -# Patch Viewer, please specify the full path to the "interdiff" executable -# here. -$interdiffbin = '/usr/bin/interdiff'; - -# For the "Difference Between Two Patches" feature to work, we need to know -# what directory the "diff" bin is in. (You only need to set this if you -# are using that feature of the Patch Viewer.) -$diffpath = '/usr/bin'; - diff --git a/modules/bugzilla-dev/templates/params.json b/modules/bugzilla-dev/templates/params.json deleted file mode 100644 index b51b4c00..00000000 --- a/modules/bugzilla-dev/templates/params.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "LDAPBaseDN" : "ou=People,<%= dc_suffix %>", - "LDAPbinddn" : "cn=bugzilla-alamut,ou=System Accounts,<%= dc_suffix %>:<%= ldap_password %>", - "LDAPfilter" : "", - "LDAPmailattribute" : "mail", - "LDAPserver" : "ldap.<%= domain %>", - "LDAPstarttls" : "1", - "LDAPuidattribute" : "uid", - "RADIUS_NAS_IP" : "", - "RADIUS_email_suffix" : "", - "RADIUS_secret" : "", - "RADIUS_server" : "", - "ajax_user_autocompletion" : "1", - "allow_attachment_deletion" : "0", - "allow_attachment_display" : "1", - "allowbugdeletion" : "0", - "allowemailchange" : "0", - "allowuserdeletion" : "0", - "announcehtml" : "", - "attachment_base" : "", - "auth_env_email" : "", - "auth_env_id" : "", - "auth_env_realname" : "", - "chartgroup" : "editbugs", - "collapsed_comment_tags" : "obsolete, spam", - "comment_taggers_group" : "editbugs", - "commentonchange_resolution" : "1", - "commentonduplicate" : "0", - "confirmuniqueusermatch" : "1", - "cookiedomain" : "", - "cookiepath" : "/", - "createemailregexp" : ".*", - "debug_group" : "editbugs", - "default_search_limit" : "500", - "defaultopsys" : "Linux", - "defaultplatform" : "All", - "defaultpriority" : "Normal", - "defaultquery" : "bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailqa_contact2=1&order=Importance&long_desc_type=substring", - "defaultseverity" : "normal", - "duplicate_or_move_bug_status" : "RESOLVED", - "emailregexp" : "^[\\w\\.\\+\\-=]+@[\\w\\.\\-]+\\.[\\w\\-]+$", - "emailregexpdesc" : "A legal address must contain exactly one '@', and at least one '.' after the @.", - "emailsuffix" : "", - "font_file" : "", - "globalwatchers" : "bugs-dev@ml.mageia.org", - "inbound_proxies" : "", - "insidergroup" : "secteam", - "last_visit_keep_days" : "10", - "letsubmitterchoosemilestone" : "1", - "letsubmitterchoosepriority" : "1", - "mail_delivery_method" : "SMTP", - "mailfrom" : "bugzilla-daemon@<%= domain %>", - "maintainer" : "sysadmin@group.<%= domain %>", - "makeproductgroups" : "0", - "max_search_results" : "10000", - "maxattachmentsize" : "1000", - "maxlocalattachment" : "0", - "maxusermatches" : "1000", - "memcached_namespace" : "bugzilla:", - "memcached_servers" : "", - "musthavemilestoneonaccept" : "0", - "mybugstemplate" : "buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailreporter1=1&emailtype1=exact&email1=%userid%&field0-0-0=bug_status&type0-0-0=notequals&value0-0-0=UNCONFIRMED&field0-0-1=reporter&type0-0-1=equals&value0-0-1=%userid%", - "noresolveonopenblockers" : "0", - "or_groups" : "0", - "password_check_on_login" : "1", - "password_complexity" : "no_constraints", - "proxy_url" : "", - "querysharegroup" : "editbugs", - "quip_list_entry_control" : "open", - "rememberlogin" : "on", - "requirelogin" : "0", - "search_allow_no_criteria" : "0", - "shadowdb" : "", - "shadowdbhost" : "", - "shadowdbport" : "3306", - "shadowdbsock" : "", - "shutdownhtml" : "", - "smtp_debug" : "0", - "smtp_password" : "", - "smtp_ssl" : "0", - "smtp_username" : "", - "smtpserver" : "localhost", - "ssl_redirect" : "1", - "sslbase" : "https://bugs-dev.<%= domain %>/", - "strict_isolation" : "0", - "strict_transport_security" : "off", - "timetrackinggroup" : "", - "upgrade_notification" : "latest_stable_release", - "urlbase" : "http://bugs-dev.<%= domain %>/", - "use_mailer_queue" : "0", - "use_see_also" : "1", - "useclassification" : "0", - "usemenuforusers" : "0", - "useqacontact" : "1", - "user_info_class" : "CGI", - "user_verify_class" : "LDAP", - "usestatuswhiteboard" : "1", - "usetargetmilestone" : "1", - "usevisibilitygroups" : "0", - "utf8" : "1", - "webdotbase" : "/usr/bin/dot", - "webservice_email_filter" : "0", - "whinedays" : "0" -} diff --git a/modules/bugzilla-dev/templates/robots.txt b/modules/bugzilla-dev/templates/robots.txt deleted file mode 100755 index 63639f02..00000000 --- a/modules/bugzilla-dev/templates/robots.txt +++ /dev/null @@ -1,10 +0,0 @@ -User-agent: * -Disallow: / -Allow: /*index.cgi -Allow: /*page.cgi -Allow: /*show_bug.cgi -Allow: /*describecomponents.cgi -Disallow: /*show_bug.cgi*ctype=* -Disallow: /*show_bug.cgi*format=multiple* -Disallow: /*page.cgi*id=voting* -Sitemap: https://bugs.mageia.org/page.cgi?id=sitemap/sitemap.xml diff --git a/modules/bugzilla-dev/templates/vhost.conf b/modules/bugzilla-dev/templates/vhost.conf deleted file mode 100755 index 79eab9fb..00000000 --- a/modules/bugzilla-dev/templates/vhost.conf +++ /dev/null @@ -1,2 +0,0 @@ -RewriteEngine On -RewriteRule ^/([0-9]+)$ /show_bug.cgi?id=$1 [R=301,L] diff --git a/modules/bugzilla-dev/templates/webapp_bugzilla.conf b/modules/bugzilla-dev/templates/webapp_bugzilla.conf deleted file mode 100755 index a8f37a00..00000000 --- a/modules/bugzilla-dev/templates/webapp_bugzilla.conf +++ /dev/null @@ -1,73 +0,0 @@ -<% -path_data_directory = "/var/lib/bugzilla" -%> - - - AddHandler cgi-script .cgi - Options +ExecCGI +FollowSymLinks - DirectoryIndex index.cgi index.html - AllowOverride All - - -# The duplicates.rdf must be accessible, as it is used by -# duplicates.xul -> - - - # Apache 2.4 - Require all granted - - - # Apache 2.2 - Order allow,deny - Allow from all - - - - -# The png files locally created locally must be accessible -/webdot> - - - # Apache 2.4 - Require all granted - - - # Apache 2.2 - Order allow,deny - Allow from all - - - - -Alias /graphs/ <%= path_data_directory %>/graphs/ -/graphs> - - - # Apache 2.4 - Require all granted - - - # Apache 2.2 - Order allow,deny - Allow from all - - - - -# This should work automatically, but perhaps something -# in our Bugzilla packaging breaks this? -Alias /extensions/Mageia/web/ <%= scope.lookupvar("bugzilla::extension_location") %>/web/ -/web/> - - - # Apache 2.4 - Require all granted - - - # Apache 2.2 - Order allow,deny - Allow from all - - - diff --git a/modules/bugzilla_dev/manifests/init.pp b/modules/bugzilla_dev/manifests/init.pp new file mode 100755 index 00000000..530f9a65 --- /dev/null +++ b/modules/bugzilla_dev/manifests/init.pp @@ -0,0 +1,81 @@ +class bugzilla_dev { + + $bugzilla_dev_location = '/usr/share/bugzilla/' + + package {['graphviz', + 'perl-Template-GD', # needed for graphical_report support + 'perl-Test-Taint', + 'perl-JSON-RPC', + 'perl-Email-MIME', + 'perl-Email-Sender', + 'Math-Random-ISAAC', + 'perl-Chart', + 'perl-PatchReader', + 'perl-ldap', + 'perl-SOAP-Lite', + 'perl-XMLRPC-Lite', + 'perl-CGI']: } + + $pgsql_password = extlookup('bugzilla_pgsql','x') + $ldap_password = extlookup('bugzilla_ldap','x') + + postgresql::remote_db_and_user { 'bugs': + description => 'Bugzilla database', + password => $pgsql_password, + } + + file { '/usr/share/bugzilla/localconfig': + group => 'apache', + mode => '0640', + content => template('bugzilla_dev/localconfig') + } + + + file { '/usr/share/bugzilla/data/params.json': + group => 'apache', + mode => '0640', + content => template('bugzilla_dev/params.json') + } + + apache::webapp_other { 'bugzilla-dev': + webapp_file => 'bugzilla_dev/webapp_bugzilla.conf', + } + + $bugs_vhost = "bugs-dev.${::domain}" + $vhost_root = '/usr/share/bugzilla' + + apache::vhost::redirect_ssl { $bugs_vhost: } + + apache::vhost::base { $bugs_vhost: + content => template('bugzilla_dev/vhost.conf'), + aliases => { '/bugzilla/' => $vhost_root }, + use_ssl => true, + location => $vhost_root, + vhost => $bugs_vhost, + } + + git::snapshot { $bugzilla_dev_location: + source => "git://git.${::domain}/web/bugs" + } + + file { 'Mageia': + ensure => directory, + path => '/usr/share/bugzilla', + group => 'apache', + recurse => true, + require => Git::Snapshot[$bugzilla_dev_location], + } + + file { '/usr/share/bugzilla/robots.txt': + group => 'apache', + mode => '0640', + content => template('bugzilla_dev/robots.txt') + } + + cron { 'collectstats': + command => '/usr/share/bugzilla/bin/collectstats.pl', + user => 'apache', + hour => 2, + minute => 30, + } +} diff --git a/modules/bugzilla_dev/templates/localconfig b/modules/bugzilla_dev/templates/localconfig new file mode 100755 index 00000000..2b7d6035 --- /dev/null +++ b/modules/bugzilla_dev/templates/localconfig @@ -0,0 +1,121 @@ +# If you are using Apache as your web server, Bugzilla can create .htaccess +# files for you, which will keep this file (localconfig) and other +# confidential files from being read over the web. +# +# If this is set to 1, checksetup.pl will create .htaccess files if +# they don't exist. +# +# If this is set to 0, checksetup.pl will not create .htaccess files. +$create_htaccess = 0; + +# The name of the group that your web server runs as. On Red Hat +# distributions, this is usually "apache". On Debian/Ubuntu, it is +# usually "www-data". +# +# If you have use_suexec turned on below, then this is instead the name +# of the group that your web server switches to to run cgi files. +# +# If this is a Windows machine, ignore this setting, as it does nothing. +# +# If you do not have access to the group your scripts will run under, +# set this to "". If you do set this to "", then your Bugzilla installation +# will be _VERY_ insecure, because some files will be world readable/writable, +# and so anyone who can get local access to your machine can do whatever they +# want. You should only have this set to "" if this is a testing installation +# and you cannot set this up any other way. YOU HAVE BEEN WARNED! +# +# If you set this to anything other than "", you will need to run checksetup.pl +# as root or as a user who is a member of the specified group. +$webservergroup = 'apache'; + +# Set this to 1 if Bugzilla runs in an Apache SuexecUserGroup environment. +# +# If your web server runs control panel software (cPanel, Plesk or similar), +# or if your Bugzilla is to run in a shared hosting environment, then you are +# almost certainly in an Apache SuexecUserGroup environment. +# +# If this is a Windows box, ignore this setting, as it does nothing. +# +# If set to 0, checksetup.pl will set file permissions appropriately for +# a normal webserver environment. +# +# If set to 1, checksetup.pl will set file permissions so that Bugzilla +# works in a SuexecUserGroup environment. +$use_suexec = 0; + +# What SQL database to use. Default is mysql. List of supported databases +# can be obtained by listing Bugzilla/DB directory - every module corresponds +# to one supported database and the name of the module (before ".pm") +# corresponds to a valid value for this variable. +$db_driver = 'pg'; + +# The DNS name or IP address of the host that the database server runs on. +$db_host = 'pg.mageia.org'; + +# The name of the database. For Oracle, this is the database's SID. For +# SQLite, this is a name (or path) for the DB file. +$db_name = 'bugs'; + +# Who we connect to the database as. +$db_user = 'bugs'; + +# Enter your database password here. It's normally advisable to specify +# a password for your bugzilla database user. +# If you use apostrophe (') or a backslash (\) in your password, you'll +# need to escape it by preceding it with a '\' character. (\') or (\) +# (It is far simpler to just not use those characters.) +$db_pass = '<%= pgsql_password %>'; + +# Sometimes the database server is running on a non-standard port. If that's +# the case for your database server, set this to the port number that your +# database server is running on. Setting this to 0 means "use the default +# port for my database server." +$db_port = 0; + +# MySQL Only: Enter a path to the unix socket for MySQL. If this is +# blank, then MySQL's compiled-in default will be used. You probably +# want that. +$db_sock = ''; + +# Should checksetup.pl try to verify that your database setup is correct? +# With some combinations of database servers/Perl modules/moonphase this +# doesn't work, and so you can try setting this to 0 to make checksetup.pl +# run. +$db_check = 1; + +# Path to a PEM file with a list of trusted SSL CA certificates. +# The file must be readable by web server user. +$db_mysql_ssl_ca_file = ''; + +# Path to a directory containing trusted SSL CA certificates in PEM format. +# Directory and files inside must be readable by the web server user. +$db_mysql_ssl_ca_path = ''; + +# Full path to the client SSL certificate in PEM format we will present to the DB server. +# The file must be readable by web server user. +$db_mysql_ssl_client_cert = ''; + +# Full path to the private key corresponding to the client SSL certificate. +# The file must not be password-protected and must be readable by web server user. +$db_mysql_ssl_client_key = ''; + +# Most web servers will allow you to use index.cgi as a directory +# index, and many come preconfigured that way, but if yours doesn't +# then you'll need an index.html file that provides redirection +# to index.cgi. Setting $index_html to 1 below will allow +# checksetup.pl to create an index.html for you if it doesn't exist. +# NOTE: checksetup.pl will not replace an existing file, so if you +# wish to have checksetup.pl create one for you, you must +# make sure that index.html doesn't already exist. +$index_html = 0; + +# If you want to use the "Difference Between Two Patches" feature of the +# Patch Viewer, please specify the full path to the "interdiff" executable +# here. +$interdiffbin = '/usr/bin/interdiff'; + +# For the "Difference Between Two Patches" feature to work, we need to know +# what directory the "diff" bin is in. (You only need to set this if you +# are using that feature of the Patch Viewer.) +$diffpath = '/usr/bin'; + diff --git a/modules/bugzilla_dev/templates/params.json b/modules/bugzilla_dev/templates/params.json new file mode 100644 index 00000000..b51b4c00 --- /dev/null +++ b/modules/bugzilla_dev/templates/params.json @@ -0,0 +1,104 @@ +{ + "LDAPBaseDN" : "ou=People,<%= dc_suffix %>", + "LDAPbinddn" : "cn=bugzilla-alamut,ou=System Accounts,<%= dc_suffix %>:<%= ldap_password %>", + "LDAPfilter" : "", + "LDAPmailattribute" : "mail", + "LDAPserver" : "ldap.<%= domain %>", + "LDAPstarttls" : "1", + "LDAPuidattribute" : "uid", + "RADIUS_NAS_IP" : "", + "RADIUS_email_suffix" : "", + "RADIUS_secret" : "", + "RADIUS_server" : "", + "ajax_user_autocompletion" : "1", + "allow_attachment_deletion" : "0", + "allow_attachment_display" : "1", + "allowbugdeletion" : "0", + "allowemailchange" : "0", + "allowuserdeletion" : "0", + "announcehtml" : "", + "attachment_base" : "", + "auth_env_email" : "", + "auth_env_id" : "", + "auth_env_realname" : "", + "chartgroup" : "editbugs", + "collapsed_comment_tags" : "obsolete, spam", + "comment_taggers_group" : "editbugs", + "commentonchange_resolution" : "1", + "commentonduplicate" : "0", + "confirmuniqueusermatch" : "1", + "cookiedomain" : "", + "cookiepath" : "/", + "createemailregexp" : ".*", + "debug_group" : "editbugs", + "default_search_limit" : "500", + "defaultopsys" : "Linux", + "defaultplatform" : "All", + "defaultpriority" : "Normal", + "defaultquery" : "bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailqa_contact2=1&order=Importance&long_desc_type=substring", + "defaultseverity" : "normal", + "duplicate_or_move_bug_status" : "RESOLVED", + "emailregexp" : "^[\\w\\.\\+\\-=]+@[\\w\\.\\-]+\\.[\\w\\-]+$", + "emailregexpdesc" : "A legal address must contain exactly one '@', and at least one '.' after the @.", + "emailsuffix" : "", + "font_file" : "", + "globalwatchers" : "bugs-dev@ml.mageia.org", + "inbound_proxies" : "", + "insidergroup" : "secteam", + "last_visit_keep_days" : "10", + "letsubmitterchoosemilestone" : "1", + "letsubmitterchoosepriority" : "1", + "mail_delivery_method" : "SMTP", + "mailfrom" : "bugzilla-daemon@<%= domain %>", + "maintainer" : "sysadmin@group.<%= domain %>", + "makeproductgroups" : "0", + "max_search_results" : "10000", + "maxattachmentsize" : "1000", + "maxlocalattachment" : "0", + "maxusermatches" : "1000", + "memcached_namespace" : "bugzilla:", + "memcached_servers" : "", + "musthavemilestoneonaccept" : "0", + "mybugstemplate" : "buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailreporter1=1&emailtype1=exact&email1=%userid%&field0-0-0=bug_status&type0-0-0=notequals&value0-0-0=UNCONFIRMED&field0-0-1=reporter&type0-0-1=equals&value0-0-1=%userid%", + "noresolveonopenblockers" : "0", + "or_groups" : "0", + "password_check_on_login" : "1", + "password_complexity" : "no_constraints", + "proxy_url" : "", + "querysharegroup" : "editbugs", + "quip_list_entry_control" : "open", + "rememberlogin" : "on", + "requirelogin" : "0", + "search_allow_no_criteria" : "0", + "shadowdb" : "", + "shadowdbhost" : "", + "shadowdbport" : "3306", + "shadowdbsock" : "", + "shutdownhtml" : "", + "smtp_debug" : "0", + "smtp_password" : "", + "smtp_ssl" : "0", + "smtp_username" : "", + "smtpserver" : "localhost", + "ssl_redirect" : "1", + "sslbase" : "https://bugs-dev.<%= domain %>/", + "strict_isolation" : "0", + "strict_transport_security" : "off", + "timetrackinggroup" : "", + "upgrade_notification" : "latest_stable_release", + "urlbase" : "http://bugs-dev.<%= domain %>/", + "use_mailer_queue" : "0", + "use_see_also" : "1", + "useclassification" : "0", + "usemenuforusers" : "0", + "useqacontact" : "1", + "user_info_class" : "CGI", + "user_verify_class" : "LDAP", + "usestatuswhiteboard" : "1", + "usetargetmilestone" : "1", + "usevisibilitygroups" : "0", + "utf8" : "1", + "webdotbase" : "/usr/bin/dot", + "webservice_email_filter" : "0", + "whinedays" : "0" +} diff --git a/modules/bugzilla_dev/templates/robots.txt b/modules/bugzilla_dev/templates/robots.txt new file mode 100755 index 00000000..63639f02 --- /dev/null +++ b/modules/bugzilla_dev/templates/robots.txt @@ -0,0 +1,10 @@ +User-agent: * +Disallow: / +Allow: /*index.cgi +Allow: /*page.cgi +Allow: /*show_bug.cgi +Allow: /*describecomponents.cgi +Disallow: /*show_bug.cgi*ctype=* +Disallow: /*show_bug.cgi*format=multiple* +Disallow: /*page.cgi*id=voting* +Sitemap: https://bugs.mageia.org/page.cgi?id=sitemap/sitemap.xml diff --git a/modules/bugzilla_dev/templates/vhost.conf b/modules/bugzilla_dev/templates/vhost.conf new file mode 100755 index 00000000..79eab9fb --- /dev/null +++ b/modules/bugzilla_dev/templates/vhost.conf @@ -0,0 +1,2 @@ +RewriteEngine On +RewriteRule ^/([0-9]+)$ /show_bug.cgi?id=$1 [R=301,L] diff --git a/modules/bugzilla_dev/templates/webapp_bugzilla.conf b/modules/bugzilla_dev/templates/webapp_bugzilla.conf new file mode 100755 index 00000000..a8f37a00 --- /dev/null +++ b/modules/bugzilla_dev/templates/webapp_bugzilla.conf @@ -0,0 +1,73 @@ +<% +path_data_directory = "/var/lib/bugzilla" +%> + + + AddHandler cgi-script .cgi + Options +ExecCGI +FollowSymLinks + DirectoryIndex index.cgi index.html + AllowOverride All + + +# The duplicates.rdf must be accessible, as it is used by +# duplicates.xul +> + + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + Order allow,deny + Allow from all + + + + +# The png files locally created locally must be accessible +/webdot> + + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + Order allow,deny + Allow from all + + + + +Alias /graphs/ <%= path_data_directory %>/graphs/ +/graphs> + + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + Order allow,deny + Allow from all + + + + +# This should work automatically, but perhaps something +# in our Bugzilla packaging breaks this? +Alias /extensions/Mageia/web/ <%= scope.lookupvar("bugzilla::extension_location") %>/web/ +/web/> + + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + Order allow,deny + Allow from all + + + diff --git a/modules/mga-advisories/manifests/init.pp b/modules/mga-advisories/manifests/init.pp deleted file mode 100644 index 8e64b516..00000000 --- a/modules/mga-advisories/manifests/init.pp +++ /dev/null @@ -1,98 +0,0 @@ -class mga_advisories( - $advisories_svn = "svn://svn.${::domain}/svn/advisories", - $vhost -){ - $mgaadv_login = 'mga-advisories' - $mgaadv_homedir = "/var/lib/${mgaadv_login}" - $vhostdir = "${mgaadv_homedir}/vhost" - $advisories_dir = "${mgaadv_homedir}/advisories" - $status_dir = "${mgaadv_homedir}/status" - $update_script = '/usr/local/bin/update_mga-advisories' - $move_script = '/root/tmp/mgatools-new/mga-move-pkg' - $move_wrapper_script = '/usr/local/bin/mga-adv-move-pkg' - - group { $mgaadv_login: - ensure => present, - } - - user { $mgaadv_login: - ensure => present, - home => $mgaadv_homedir, - managehome => true, - gid => $mgaadv_login, - } - - package { 'mga-advisories': - ensure => installed, - } - - file {'/etc/mga-advisories.conf': - ensure => present, - owner => root, - group => root, - mode => '0644', - content => template('mga-advisories/mga-advisories.conf'), - require => Package['mga-advisories'], - } - - file { [ $vhostdir, $status_dir ]: - ensure => directory, - owner => $mgaadv_login, - group => $mgaadv_login, - mode => '0755', - } - - $vhost_aliases = { - "/static" => '/usr/share/mga-advisories/static', - } - apache::vhost::base { $vhost: - location => $vhostdir, - aliases => $vhost_aliases, - require => File[$vhostdir], - } - - apache::vhost::base { "ssl_${vhost}": - use_ssl => true, - vhost => $vhost, - aliases => $vhost_aliases, - location => $vhostdir, - require => File[$vhostdir], - } - - subversion::snapshot { $advisories_dir: - source => $advisories_svn, - user => $mgaadv_login, - refresh => '0', - require => User[$mgaadv_login], - } - - file { $update_script: - ensure => present, - owner => root, - group => root, - mode => '0755', - content => template('mga-advisories/update_script'), - } - - file { $move_wrapper_script: - ensure => present, - owner => root, - group => root, - mode => '0755', - content => template('mga-advisories/adv-move-pkg'), - } - - sudo::sudoers_config { 'mga-adv-move-pkg': - content => template('mga-advisories/sudoers.adv-move-pkg') - } - - # Disable for now... we may re-instate once it's been a little more tested. - #cron { $update_script: - # command => $update_script, - # user => $mgaadv_login, - # hour => '*', - # minute => '10', - # require => Subversion::Snapshot[$advisories_dir], - #} -} -# vim: sw=2 diff --git a/modules/mga-advisories/templates/adv-move-pkg b/modules/mga-advisories/templates/adv-move-pkg deleted file mode 100644 index 71e1880e..00000000 --- a/modules/mga-advisories/templates/adv-move-pkg +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -if [ "$USER" != "<%= @mgaadv_login %>" ]; then - echo "This script must be run as the <%= @mgaadv_login %> user." >&2 - exit 1 -fi - -exec sudo <%= @move_script %> "$@" diff --git a/modules/mga-advisories/templates/mga-advisories.conf b/modules/mga-advisories/templates/mga-advisories.conf deleted file mode 100644 index 4dab1543..00000000 --- a/modules/mga-advisories/templates/mga-advisories.conf +++ /dev/null @@ -1,14 +0,0 @@ -mode: site -send_adv_mail: yes -move_pkg_cmd: <%= @move_wrapper_script %> -send_report_mail: yes -out_dir: <%= @vhostdir %> -advisories_dir: <%= @advisories_dir %> -status_dir: <%= @status_dir %> -adv_mail_to: updates-announce@ml.mageia.org -adv_mail_from: Mageia Updates -report_mail_to: qa-reports@ml.mageia.org -report_mail_from: Mageia Advisories -bugzilla_url: https://bugs.mageia.org/ -bugzilla_login: bot -bugzilla_password: file:///var/lib/git/.gitzilla-password diff --git a/modules/mga-advisories/templates/sudoers.adv-move-pkg b/modules/mga-advisories/templates/sudoers.adv-move-pkg deleted file mode 100644 index 5d9618a9..00000000 --- a/modules/mga-advisories/templates/sudoers.adv-move-pkg +++ /dev/null @@ -1 +0,0 @@ -<%= @mgaadv_login %> ALL=(root) NOPASSWD:<%= @move_script %> * diff --git a/modules/mga-advisories/templates/update_script b/modules/mga-advisories/templates/update_script deleted file mode 100644 index 71d8d1d4..00000000 --- a/modules/mga-advisories/templates/update_script +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -set -e - -if [ "$UID" = "0" ]; then - echo "Re-running as '<%= @mgaadv_login %>' user." >&2 - exec /bin/su -c <%= @update_script %> - <%= @mgaadv_login %> -fi - -if [ "$USER" != "<%= @mgaadv_login %>" ]; then - echo "This script must be run as the <%= @mgaadv_login %> user." >&2 - exit 1 -fi - -cd <%= @advisories_dir %> -svn up -exec /usr/bin/mgaadv process diff --git a/modules/mga-mirrors/files/check_mirrors_status b/modules/mga-mirrors/files/check_mirrors_status deleted file mode 100755 index 9c00ac8d..00000000 --- a/modules/mga-mirrors/files/check_mirrors_status +++ /dev/null @@ -1,271 +0,0 @@ -#!/usr/bin/ruby - -require 'date' -require 'net/http' -require 'optparse' -require 'thread' -require 'uri' - -def get_dates(base, archs_per_distro, optional=true) - r = {} - begin - r['base'] = get_timestamp(base) - rescue Net::OpenTimeout, Timeout::Error, ArgumentError, NoMethodError, Errno::EHOSTUNREACH, Errno::ECONNREFUSED, Errno::ECONNRESET, IOError, OpenSSL::SSL::SSLError => e - end - - archs_per_distro.each{|d, archs| - r[d] = {} - archs.each{|a| - begin - r[d][a] = get_date(base, d, a) - rescue Net::OpenTimeout, Timeout::Error, ArgumentError, NoMethodError, Errno::EHOSTUNREACH, Errno::ECONNREFUSED, Errno::ECONNRESET, IOError, OpenSSL::SSL::SSLError => e - if !optional then - STDERR.puts "Failed to fetch #{version_url(base, d, a)}" - raise - end - end - } - } - r -end - -def get_mirrors - # TODO Get it from the DB - mirrors = [] - url = nil - tier1 = false - fetch_url("https://mirrors.mageia.org/").each_line{|l| - if l =~ /rsync.mageia.org/ then - tier1 = true - next - end - if l=~ /<\/tr>/ && !url.nil? then - if tier1 then - mirrors.prepend url - tier1 = false - else - mirrors.append url - end - url = nil - next - end - next unless l =~ /https?:.*>http/ - # No need to check twice mirrors available in http + https - if !url.nil? && url =~ /https:/ && l =~ /https:\/\// - # Skip http:// if https:// already seen for current mirror - # If the are in the other order http one will just be replaced - next - end - url = l.sub(/ 'check_mirrors'}) - case response - when Net::HTTPSuccess then - return response.body - when Net::HTTPRedirection then - location = response['location'] - # Make location absolute if it was not - if location =~ /:\/\// then - fetch_url(location, redirect_limit - 1) - else - uri.path = location - fetch_url(uri.to_s, redirect_limit - 1) - end - end - end -end - -def timestamp_url(url) - "#{url}mageia_timestamp" -end - -def get_timestamp(url) - ti = fetch_url(timestamp_url(url)).to_i - if ti == 0 then - return nil - end - return DateTime.strptime(ti.to_s, '%s') -end - -def parse_version(version) - date = version.sub(/.* (........ ..:..)$/, '\1').rstrip - DateTime.strptime(date, '%Y%m%d %H:%M') -end - -def version_url(url, distrib, arch) - "#{url}distrib/#{distrib}/#{arch}/VERSION" -end - -def get_date(url, distrib, arch) - return parse_version(fetch_url(version_url(url, distrib, arch))) -end - -def format_age(ref_time, time) - return " X" unless ref_time and time - - diff = ref_time - time - cls = 'broken' - if diff == 0 then - cls = 'ok' - elsif diff < 0.5 then - cls = 'almost' - elsif diff < 2 then - cls = 'bad' - end - if cls == 'ok' then - return "  " - else - return " #{time.strftime("%F %R")}" - end -end - -def print_output(archs_per_distro, mirrors, ref_times, times) - puts "Mageia Mirror Status #{Time.now.utc.strftime("%F")} - - - -" - puts "Last checked on #{Time.now.utc.strftime("%F %R %Z")}
" - puts "
Up to dateLess than 12h oldLess than 2 days oldOld or broken
" - puts "" - puts "" - archs_per_distro.each{|d, archs| - nb_arches = archs.size - puts " " - } - puts "" - puts "" - } - } - puts "" - puts "" - puts "" - puts " " - archs_per_distro.each{|d, archs| - puts " " - } - } - puts "" - - mirrors.each{|u| - puts "" - puts " " - } - puts "
" - puts "Base directory#{d}
" - archs_per_distro.each{|d, archs| - puts " " - archs.each{|a| - puts " #{a}
Reference" - puts " #{!ref_times['base'].nil? ? ref_times['base'].strftime("%F %R") : "?"}" - archs.each{|a| - puts " #{ref_times[d][a].strftime("%F %R")}
#{u}" - puts format_age(ref_times['base'], times[u]['base']) - archs_per_distro.each{|d, archs| - puts " " - archs.each{|a| - puts format_age(ref_times[d][a], times[u][d][a]) - } - } - puts "
" - puts "" -end - - - -# Defaults -ref = 'http://repository.mageia.org/' -archs_per_distro = { - 'cauldron' => ['i686', 'x86_64', 'armv7hl', 'aarch64'], - '9' => ['i586', 'x86_64', 'armv7hl', 'aarch64'] -} -parallel = 8 - -OptionParser.new {|opts| - opts.banner = "Usage: #{$0} [options]" - opts.on("--repository URL", - "Reference repository. Default: #{ref}") { - |url| ref = url - } - opts.on("--parallel n", Integer, - "Max number of parallel connections. Default: #{parallel}") { - |n| $parallel = n - } - opts.on("--output file", - "Write output into given file. Default to STDOUT") { - |f| $stdout.reopen(f, "w") - } -}.parse! - -# Get dates from the reference repository, and fail if some requested distros -# or archs are missing -ref_times = get_dates(ref, archs_per_distro, false) - -# Get the list of mirror URLs to check -mirrors = get_mirrors - -workqueue = Queue.new -times = {} - -# Create all the thread and have them loop on the work queue -threads = (1..parallel).map{|n| - Thread.new { - loop do - u = workqueue.pop - break if u == :exit - times[u] = get_dates(u, archs_per_distro) - end - } -} - -# Push all mirrors into the queue -mirrors.each{|u| - workqueue << u -} - -# Get all the threads to exit after all the work is done -parallel.times{|i| - workqueue << :exit -} - -# Wait for the threads to exit -threads.each{|t| - t.join -} - -# Generate output -print_output(archs_per_distro, mirrors, ref_times, times) - diff --git a/modules/mga-mirrors/manifests/init.pp b/modules/mga-mirrors/manifests/init.pp deleted file mode 100644 index b7b27741..00000000 --- a/modules/mga-mirrors/manifests/init.pp +++ /dev/null @@ -1,54 +0,0 @@ -class mga_mirrors { - - $vhost = "mirrors.${::domain}" - $mirrors_dir = '/var/www/mirrors' - - package { 'mga-mirrors': } - - apache::vhost::catalyst_app { $vhost: - script => '/usr/bin/mga_mirrors_fastcgi.pl', - require => Package['mga-mirrors'], - aliases => { - '/status' => '/var/www/mirrors/status.html', - } - } - - apache::vhost::catalyst_app { "ssl_${vhost}": - script => '/usr/bin/mga_mirrors_fastcgi.pl', - require => Package['mga-mirrors'], - vhost => $vhost, - use_ssl => true, - aliases => { - '/status' => '/var/www/mirrors/status.html', - }, - } - - $pgsql_password = extlookup('mga_mirror_pgsql','x') - - postgresql::remote_db_and_user { 'mirrors': - password => $pgsql_password, - description => 'Mirrors database', - } - - file { '/etc/mga-mirrors.ini': - group => 'apache', - mode => '0640', - content => template('mga-mirrors/mga-mirrors.ini'), - require => Package['mga-mirrors'] - } - - file { '/etc/cron.d/check_mga_mirrors': - content => template('mga-mirrors/cron-mga_mirrors'), - require => Package['mga-mirrors'] - } - - file { $mirrors_dir: - ensure => directory, - owner => 'nobody', - } - - file { '/usr/local/bin/check_mirrors_status': - mode => '0755', - source => 'puppet:///modules/mga-mirrors/check_mirrors_status', - } -} diff --git a/modules/mga-mirrors/templates/cron-mga_mirrors b/modules/mga-mirrors/templates/cron-mga_mirrors deleted file mode 100644 index 7236be04..00000000 --- a/modules/mga-mirrors/templates/cron-mga_mirrors +++ /dev/null @@ -1,2 +0,0 @@ -MAILTO=root -*/20 * * * * nobody /usr/local/bin/check_mirrors_status --output /var/www/mirrors/status.html.tmp && mv -f /var/www/mirrors/status.html.tmp /var/www/mirrors/status.html diff --git a/modules/mga-mirrors/templates/mga-mirrors.ini b/modules/mga-mirrors/templates/mga-mirrors.ini deleted file mode 100644 index b438edd1..00000000 --- a/modules/mga-mirrors/templates/mga-mirrors.ini +++ /dev/null @@ -1,4 +0,0 @@ -[db] -pgconn=host=pg.<%= @domain %>;dbname=mirrors -user=mirrors -password=<%= @pgsql_password %> diff --git a/modules/mga-treasurer/manifests/init.pp b/modules/mga-treasurer/manifests/init.pp deleted file mode 100644 index a0a63aa0..00000000 --- a/modules/mga-treasurer/manifests/init.pp +++ /dev/null @@ -1,91 +0,0 @@ -class mga_treasurer( - $grisbi_git = "git://git.${::domain}/org/accounts", - $grisbi_filename = 'mageia-accounts.gsb', - $vhost, - $vhostdir -){ - $mgatres_login = 'mga-treasurer' - $mgatres_homedir = "/var/lib/${mgatres_login}" - $grisbi_dir = "${mgatres_homedir}/grisbi" - $grisbi_path = "${grisbi_dir}/${grisbi_filename}" - - $update_script = '/usr/local/bin/update_mga-treasurer' - - group { $mgatres_login: - ensure => present, - } - - user { $mgatres_login: - ensure => present, - comment => 'mga-treasurer user', - home => $mgatres_homedir, - managehome => true, - gid => $mgatres_login, - } - - package { 'mga-treasurer': - ensure => installed, - } - - file {'/etc/mga-treasurer.conf': - ensure => present, - owner => root, - group => root, - mode => '0644', - content => template('mga-treasurer/mga-treasurer.conf'), - require => Package['mga-treasurer'], - } - - file { $vhostdir: - ensure => directory, - owner => $mgatres_login, - group => $mgatres_login, - mode => '0755', - } - - apache::vhost::base { $vhost: - location => $vhostdir, - aliases => { - "/${grisbi_filename}" => $grisbi_path, - "/static" => '/usr/share/mga-treasurer/static', - }, - content => template('mga-treasurer/vhost_mga-treasurer.conf'), - require => File[$vhostdir], - } - - apache::vhost::base { "ssl_${vhost}": - use_ssl => true, - vhost => $vhost, - location => $vhostdir, - aliases => { - "/${grisbi_filename}" => $grisbi_path, - "/static" => '/usr/share/mga-treasurer/static', - }, - content => template('mga-treasurer/vhost_mga-treasurer.conf'), - require => File[$vhostdir], - } - - file { $update_script: - ensure => present, - owner => root, - group => root, - mode => '0755', - content => template('mga-treasurer/update_script'), - } - - git::snapshot { $grisbi_dir: - source => $grisbi_git, - user => $mgatres_login, - refresh => '0', - require => User[$mgatres_login], - } - - cron { $update_script: - command => $update_script, - user => $mgatres_login, - hour => '*/2', - minute => '10', - require => Git::Snapshot[$grisbi_dir], - } -} -# vim: sw=2 diff --git a/modules/mga-treasurer/templates/mga-treasurer.conf b/modules/mga-treasurer/templates/mga-treasurer.conf deleted file mode 100644 index 75ac180f..00000000 --- a/modules/mga-treasurer/templates/mga-treasurer.conf +++ /dev/null @@ -1,2 +0,0 @@ -grisbi_file: <%= @grisbi_path %> -out_dir: <%= @vhostdir %> diff --git a/modules/mga-treasurer/templates/update_script b/modules/mga-treasurer/templates/update_script deleted file mode 100644 index 30fab72d..00000000 --- a/modules/mga-treasurer/templates/update_script +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -set -e - -cd <%= @grisbi_dir %> -git pull -exec /usr/bin/mktreasurer diff --git a/modules/mga-treasurer/templates/vhost_mga-treasurer.conf b/modules/mga-treasurer/templates/vhost_mga-treasurer.conf deleted file mode 100644 index 763cd87d..00000000 --- a/modules/mga-treasurer/templates/vhost_mga-treasurer.conf +++ /dev/null @@ -1,3 +0,0 @@ - - Header set Access-Control-Allow-Origin "*" - diff --git a/modules/mga_advisories/manifests/init.pp b/modules/mga_advisories/manifests/init.pp new file mode 100644 index 00000000..194e4c7d --- /dev/null +++ b/modules/mga_advisories/manifests/init.pp @@ -0,0 +1,98 @@ +class mga_advisories( + $advisories_svn = "svn://svn.${::domain}/svn/advisories", + $vhost +){ + $mgaadv_login = 'mga-advisories' + $mgaadv_homedir = "/var/lib/${mgaadv_login}" + $vhostdir = "${mgaadv_homedir}/vhost" + $advisories_dir = "${mgaadv_homedir}/advisories" + $status_dir = "${mgaadv_homedir}/status" + $update_script = '/usr/local/bin/update_mga-advisories' + $move_script = '/root/tmp/mgatools-new/mga-move-pkg' + $move_wrapper_script = '/usr/local/bin/mga-adv-move-pkg' + + group { $mgaadv_login: + ensure => present, + } + + user { $mgaadv_login: + ensure => present, + home => $mgaadv_homedir, + managehome => true, + gid => $mgaadv_login, + } + + package { 'mga-advisories': + ensure => installed, + } + + file {'/etc/mga-advisories.conf': + ensure => present, + owner => root, + group => root, + mode => '0644', + content => template('mga_advisories/mga-advisories.conf'), + require => Package['mga-advisories'], + } + + file { [ $vhostdir, $status_dir ]: + ensure => directory, + owner => $mgaadv_login, + group => $mgaadv_login, + mode => '0755', + } + + $vhost_aliases = { + "/static" => '/usr/share/mga-advisories/static', + } + apache::vhost::base { $vhost: + location => $vhostdir, + aliases => $vhost_aliases, + require => File[$vhostdir], + } + + apache::vhost::base { "ssl_${vhost}": + use_ssl => true, + vhost => $vhost, + aliases => $vhost_aliases, + location => $vhostdir, + require => File[$vhostdir], + } + + subversion::snapshot { $advisories_dir: + source => $advisories_svn, + user => $mgaadv_login, + refresh => '0', + require => User[$mgaadv_login], + } + + file { $update_script: + ensure => present, + owner => root, + group => root, + mode => '0755', + content => template('mga_advisories/update_script'), + } + + file { $move_wrapper_script: + ensure => present, + owner => root, + group => root, + mode => '0755', + content => template('mga_advisories/adv-move-pkg'), + } + + sudo::sudoers_config { 'mga-adv-move-pkg': + content => template('mga_advisories/sudoers.adv-move-pkg') + } + + # Disable for now... we may re-instate once it's been a little more tested. + #cron { $update_script: + # command => $update_script, + # user => $mgaadv_login, + # hour => '*', + # minute => '10', + # require => Subversion::Snapshot[$advisories_dir], + #} +} +# vim: sw=2 diff --git a/modules/mga_advisories/templates/adv-move-pkg b/modules/mga_advisories/templates/adv-move-pkg new file mode 100644 index 00000000..71e1880e --- /dev/null +++ b/modules/mga_advisories/templates/adv-move-pkg @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ "$USER" != "<%= @mgaadv_login %>" ]; then + echo "This script must be run as the <%= @mgaadv_login %> user." >&2 + exit 1 +fi + +exec sudo <%= @move_script %> "$@" diff --git a/modules/mga_advisories/templates/mga-advisories.conf b/modules/mga_advisories/templates/mga-advisories.conf new file mode 100644 index 00000000..4dab1543 --- /dev/null +++ b/modules/mga_advisories/templates/mga-advisories.conf @@ -0,0 +1,14 @@ +mode: site +send_adv_mail: yes +move_pkg_cmd: <%= @move_wrapper_script %> +send_report_mail: yes +out_dir: <%= @vhostdir %> +advisories_dir: <%= @advisories_dir %> +status_dir: <%= @status_dir %> +adv_mail_to: updates-announce@ml.mageia.org +adv_mail_from: Mageia Updates +report_mail_to: qa-reports@ml.mageia.org +report_mail_from: Mageia Advisories +bugzilla_url: https://bugs.mageia.org/ +bugzilla_login: bot +bugzilla_password: file:///var/lib/git/.gitzilla-password diff --git a/modules/mga_advisories/templates/sudoers.adv-move-pkg b/modules/mga_advisories/templates/sudoers.adv-move-pkg new file mode 100644 index 00000000..5d9618a9 --- /dev/null +++ b/modules/mga_advisories/templates/sudoers.adv-move-pkg @@ -0,0 +1 @@ +<%= @mgaadv_login %> ALL=(root) NOPASSWD:<%= @move_script %> * diff --git a/modules/mga_advisories/templates/update_script b/modules/mga_advisories/templates/update_script new file mode 100644 index 00000000..71d8d1d4 --- /dev/null +++ b/modules/mga_advisories/templates/update_script @@ -0,0 +1,16 @@ +#!/bin/sh +set -e + +if [ "$UID" = "0" ]; then + echo "Re-running as '<%= @mgaadv_login %>' user." >&2 + exec /bin/su -c <%= @update_script %> - <%= @mgaadv_login %> +fi + +if [ "$USER" != "<%= @mgaadv_login %>" ]; then + echo "This script must be run as the <%= @mgaadv_login %> user." >&2 + exit 1 +fi + +cd <%= @advisories_dir %> +svn up +exec /usr/bin/mgaadv process diff --git a/modules/mga_mirrors/files/check_mirrors_status b/modules/mga_mirrors/files/check_mirrors_status new file mode 100755 index 00000000..9c00ac8d --- /dev/null +++ b/modules/mga_mirrors/files/check_mirrors_status @@ -0,0 +1,271 @@ +#!/usr/bin/ruby + +require 'date' +require 'net/http' +require 'optparse' +require 'thread' +require 'uri' + +def get_dates(base, archs_per_distro, optional=true) + r = {} + begin + r['base'] = get_timestamp(base) + rescue Net::OpenTimeout, Timeout::Error, ArgumentError, NoMethodError, Errno::EHOSTUNREACH, Errno::ECONNREFUSED, Errno::ECONNRESET, IOError, OpenSSL::SSL::SSLError => e + end + + archs_per_distro.each{|d, archs| + r[d] = {} + archs.each{|a| + begin + r[d][a] = get_date(base, d, a) + rescue Net::OpenTimeout, Timeout::Error, ArgumentError, NoMethodError, Errno::EHOSTUNREACH, Errno::ECONNREFUSED, Errno::ECONNRESET, IOError, OpenSSL::SSL::SSLError => e + if !optional then + STDERR.puts "Failed to fetch #{version_url(base, d, a)}" + raise + end + end + } + } + r +end + +def get_mirrors + # TODO Get it from the DB + mirrors = [] + url = nil + tier1 = false + fetch_url("https://mirrors.mageia.org/").each_line{|l| + if l =~ /rsync.mageia.org/ then + tier1 = true + next + end + if l=~ /<\/tr>/ && !url.nil? then + if tier1 then + mirrors.prepend url + tier1 = false + else + mirrors.append url + end + url = nil + next + end + next unless l =~ /https?:.*>http/ + # No need to check twice mirrors available in http + https + if !url.nil? && url =~ /https:/ && l =~ /https:\/\// + # Skip http:// if https:// already seen for current mirror + # If the are in the other order http one will just be replaced + next + end + url = l.sub(/
'check_mirrors'}) + case response + when Net::HTTPSuccess then + return response.body + when Net::HTTPRedirection then + location = response['location'] + # Make location absolute if it was not + if location =~ /:\/\// then + fetch_url(location, redirect_limit - 1) + else + uri.path = location + fetch_url(uri.to_s, redirect_limit - 1) + end + end + end +end + +def timestamp_url(url) + "#{url}mageia_timestamp" +end + +def get_timestamp(url) + ti = fetch_url(timestamp_url(url)).to_i + if ti == 0 then + return nil + end + return DateTime.strptime(ti.to_s, '%s') +end + +def parse_version(version) + date = version.sub(/.* (........ ..:..)$/, '\1').rstrip + DateTime.strptime(date, '%Y%m%d %H:%M') +end + +def version_url(url, distrib, arch) + "#{url}distrib/#{distrib}/#{arch}/VERSION" +end + +def get_date(url, distrib, arch) + return parse_version(fetch_url(version_url(url, distrib, arch))) +end + +def format_age(ref_time, time) + return " X" unless ref_time and time + + diff = ref_time - time + cls = 'broken' + if diff == 0 then + cls = 'ok' + elsif diff < 0.5 then + cls = 'almost' + elsif diff < 2 then + cls = 'bad' + end + if cls == 'ok' then + return "  " + else + return " #{time.strftime("%F %R")}" + end +end + +def print_output(archs_per_distro, mirrors, ref_times, times) + puts "Mageia Mirror Status #{Time.now.utc.strftime("%F")} + + + +" + puts "Last checked on #{Time.now.utc.strftime("%F %R %Z")}
" + puts "
Up to dateLess than 12h oldLess than 2 days oldOld or broken
" + puts "" + puts "" + archs_per_distro.each{|d, archs| + nb_arches = archs.size + puts " " + } + puts "" + puts "" + } + } + puts "" + puts "" + puts "" + puts " " + archs_per_distro.each{|d, archs| + puts " " + } + } + puts "" + + mirrors.each{|u| + puts "" + puts " " + } + puts "
" + puts "Base directory#{d}
" + archs_per_distro.each{|d, archs| + puts " " + archs.each{|a| + puts " #{a}
Reference" + puts " #{!ref_times['base'].nil? ? ref_times['base'].strftime("%F %R") : "?"}" + archs.each{|a| + puts " #{ref_times[d][a].strftime("%F %R")}
#{u}" + puts format_age(ref_times['base'], times[u]['base']) + archs_per_distro.each{|d, archs| + puts " " + archs.each{|a| + puts format_age(ref_times[d][a], times[u][d][a]) + } + } + puts "
" + puts "" +end + + + +# Defaults +ref = 'http://repository.mageia.org/' +archs_per_distro = { + 'cauldron' => ['i686', 'x86_64', 'armv7hl', 'aarch64'], + '9' => ['i586', 'x86_64', 'armv7hl', 'aarch64'] +} +parallel = 8 + +OptionParser.new {|opts| + opts.banner = "Usage: #{$0} [options]" + opts.on("--repository URL", + "Reference repository. Default: #{ref}") { + |url| ref = url + } + opts.on("--parallel n", Integer, + "Max number of parallel connections. Default: #{parallel}") { + |n| $parallel = n + } + opts.on("--output file", + "Write output into given file. Default to STDOUT") { + |f| $stdout.reopen(f, "w") + } +}.parse! + +# Get dates from the reference repository, and fail if some requested distros +# or archs are missing +ref_times = get_dates(ref, archs_per_distro, false) + +# Get the list of mirror URLs to check +mirrors = get_mirrors + +workqueue = Queue.new +times = {} + +# Create all the thread and have them loop on the work queue +threads = (1..parallel).map{|n| + Thread.new { + loop do + u = workqueue.pop + break if u == :exit + times[u] = get_dates(u, archs_per_distro) + end + } +} + +# Push all mirrors into the queue +mirrors.each{|u| + workqueue << u +} + +# Get all the threads to exit after all the work is done +parallel.times{|i| + workqueue << :exit +} + +# Wait for the threads to exit +threads.each{|t| + t.join +} + +# Generate output +print_output(archs_per_distro, mirrors, ref_times, times) + diff --git a/modules/mga_mirrors/manifests/init.pp b/modules/mga_mirrors/manifests/init.pp new file mode 100644 index 00000000..8485f0d5 --- /dev/null +++ b/modules/mga_mirrors/manifests/init.pp @@ -0,0 +1,54 @@ +class mga_mirrors { + + $vhost = "mirrors.${::domain}" + $mirrors_dir = '/var/www/mirrors' + + package { 'mga-mirrors': } + + apache::vhost::catalyst_app { $vhost: + script => '/usr/bin/mga_mirrors_fastcgi.pl', + require => Package['mga-mirrors'], + aliases => { + '/status' => '/var/www/mirrors/status.html', + } + } + + apache::vhost::catalyst_app { "ssl_${vhost}": + script => '/usr/bin/mga_mirrors_fastcgi.pl', + require => Package['mga-mirrors'], + vhost => $vhost, + use_ssl => true, + aliases => { + '/status' => '/var/www/mirrors/status.html', + }, + } + + $pgsql_password = extlookup('mga_mirror_pgsql','x') + + postgresql::remote_db_and_user { 'mirrors': + password => $pgsql_password, + description => 'Mirrors database', + } + + file { '/etc/mga-mirrors.ini': + group => 'apache', + mode => '0640', + content => template('mga_mirrors/mga-mirrors.ini'), + require => Package['mga-mirrors'] + } + + file { '/etc/cron.d/check_mga_mirrors': + content => template('mga_mirrors/cron-mga_mirrors'), + require => Package['mga-mirrors'] + } + + file { $mirrors_dir: + ensure => directory, + owner => 'nobody', + } + + file { '/usr/local/bin/check_mirrors_status': + mode => '0755', + source => 'puppet:///modules/mga_mirrors/check_mirrors_status', + } +} diff --git a/modules/mga_mirrors/templates/cron-mga_mirrors b/modules/mga_mirrors/templates/cron-mga_mirrors new file mode 100644 index 00000000..7236be04 --- /dev/null +++ b/modules/mga_mirrors/templates/cron-mga_mirrors @@ -0,0 +1,2 @@ +MAILTO=root +*/20 * * * * nobody /usr/local/bin/check_mirrors_status --output /var/www/mirrors/status.html.tmp && mv -f /var/www/mirrors/status.html.tmp /var/www/mirrors/status.html diff --git a/modules/mga_mirrors/templates/mga-mirrors.ini b/modules/mga_mirrors/templates/mga-mirrors.ini new file mode 100644 index 00000000..b438edd1 --- /dev/null +++ b/modules/mga_mirrors/templates/mga-mirrors.ini @@ -0,0 +1,4 @@ +[db] +pgconn=host=pg.<%= @domain %>;dbname=mirrors +user=mirrors +password=<%= @pgsql_password %> diff --git a/modules/mga_treasurer/manifests/init.pp b/modules/mga_treasurer/manifests/init.pp new file mode 100644 index 00000000..0902ee7d --- /dev/null +++ b/modules/mga_treasurer/manifests/init.pp @@ -0,0 +1,91 @@ +class mga_treasurer( + $grisbi_git = "git://git.${::domain}/org/accounts", + $grisbi_filename = 'mageia-accounts.gsb', + $vhost, + $vhostdir +){ + $mgatres_login = 'mga-treasurer' + $mgatres_homedir = "/var/lib/${mgatres_login}" + $grisbi_dir = "${mgatres_homedir}/grisbi" + $grisbi_path = "${grisbi_dir}/${grisbi_filename}" + + $update_script = '/usr/local/bin/update_mga-treasurer' + + group { $mgatres_login: + ensure => present, + } + + user { $mgatres_login: + ensure => present, + comment => 'mga-treasurer user', + home => $mgatres_homedir, + managehome => true, + gid => $mgatres_login, + } + + package { 'mga-treasurer': + ensure => installed, + } + + file {'/etc/mga-treasurer.conf': + ensure => present, + owner => root, + group => root, + mode => '0644', + content => template('mga_treasurer/mga-treasurer.conf'), + require => Package['mga-treasurer'], + } + + file { $vhostdir: + ensure => directory, + owner => $mgatres_login, + group => $mgatres_login, + mode => '0755', + } + + apache::vhost::base { $vhost: + location => $vhostdir, + aliases => { + "/${grisbi_filename}" => $grisbi_path, + "/static" => '/usr/share/mga-treasurer/static', + }, + content => template('mga_treasurer/vhost_mga-treasurer.conf'), + require => File[$vhostdir], + } + + apache::vhost::base { "ssl_${vhost}": + use_ssl => true, + vhost => $vhost, + location => $vhostdir, + aliases => { + "/${grisbi_filename}" => $grisbi_path, + "/static" => '/usr/share/mga-treasurer/static', + }, + content => template('mga_treasurer/vhost_mga-treasurer.conf'), + require => File[$vhostdir], + } + + file { $update_script: + ensure => present, + owner => root, + group => root, + mode => '0755', + content => template('mga_treasurer/update_script'), + } + + git::snapshot { $grisbi_dir: + source => $grisbi_git, + user => $mgatres_login, + refresh => '0', + require => User[$mgatres_login], + } + + cron { $update_script: + command => $update_script, + user => $mgatres_login, + hour => '*/2', + minute => '10', + require => Git::Snapshot[$grisbi_dir], + } +} +# vim: sw=2 diff --git a/modules/mga_treasurer/templates/mga-treasurer.conf b/modules/mga_treasurer/templates/mga-treasurer.conf new file mode 100644 index 00000000..75ac180f --- /dev/null +++ b/modules/mga_treasurer/templates/mga-treasurer.conf @@ -0,0 +1,2 @@ +grisbi_file: <%= @grisbi_path %> +out_dir: <%= @vhostdir %> diff --git a/modules/mga_treasurer/templates/update_script b/modules/mga_treasurer/templates/update_script new file mode 100644 index 00000000..30fab72d --- /dev/null +++ b/modules/mga_treasurer/templates/update_script @@ -0,0 +1,6 @@ +#!/bin/sh +set -e + +cd <%= @grisbi_dir %> +git pull +exec /usr/bin/mktreasurer diff --git a/modules/mga_treasurer/templates/vhost_mga-treasurer.conf b/modules/mga_treasurer/templates/vhost_mga-treasurer.conf new file mode 100644 index 00000000..763cd87d --- /dev/null +++ b/modules/mga_treasurer/templates/vhost_mga-treasurer.conf @@ -0,0 +1,3 @@ + + Header set Access-Control-Allow-Origin "*" + diff --git a/modules/spec-tree-reports/manifests/init.pp b/modules/spec-tree-reports/manifests/init.pp deleted file mode 100644 index 6fa409e2..00000000 --- a/modules/spec-tree-reports/manifests/init.pp +++ /dev/null @@ -1,50 +0,0 @@ -# spec-rpm-mismatch is a report that compares the versions of RPMs available -# in the repository versus the versions created by the latest spec files and -# shows those that don't match. - -class spec_tree_reports( - $report = '/var/www/bs/spec-rpm-mismatch.html', - $srpms = 'file:///distrib/bootstrap/distrib/{version}/SRPMS/{media}/{section}/', - $release = "mga${buildsystem::var::distros::distros['cauldron']['version']}", -) { - $user = 'spec-tree-reports' - $home = "/var/lib/${user}" - $hour = 6 - $minute = 39 - - user { $user: - comment => 'spec-tree report generator', - home => $home, - } - - file { $home: - ensure => directory, - owner => $user, - mode => '0755', - } - - package { 'spec-tree': - ensure => installed, - } - - file { "${report}": - ensure => present, - owner => $user, - mode => '0644', - replace => false, - content => '*', - } - - mga_common::local_script { 'generate-spec-rpm-mismatch-report': - content => template('spec-tree-reports/generate-spec-rpm-mismatch-report'), - } - - cron { "rpm_mismatch_report": - command => "/usr/local/bin/generate-spec-rpm-mismatch-report |& systemd-cat -t generate-spec-rpm-mismatch-report", - hour => $hour, - minute => $minute, - user => $user, - environment => "MAILTO=root", - require => User[$user], - } -} diff --git a/modules/spec-tree-reports/templates/generate-spec-rpm-mismatch-report b/modules/spec-tree-reports/templates/generate-spec-rpm-mismatch-report deleted file mode 100644 index 4bc2db65..00000000 --- a/modules/spec-tree-reports/templates/generate-spec-rpm-mismatch-report +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -# GENERATED BY PUPPET--DO NOT EDIT -set -e -trap 'test "$?" -ne 0 && echo Error in script' EXIT - -cd "$HOME" -test -e errors.log && mv -f errors.log errors.log.1 -/usr/share/doc/spec-tree/examples/generate-mismatch-report --srpm_source <%= scope.function_shellquote([scope.lookupvar('srpms')]) -%> --release <%= scope.function_shellquote([scope.lookupvar('release')]) %> -cp report.html <%= scope.function_shellquote([scope.lookupvar('report')]) %> -rm -f report.html diff --git a/modules/youri-check/manifests/init.pp b/modules/youri-check/manifests/init.pp deleted file mode 100644 index 7447b322..00000000 --- a/modules/youri-check/manifests/init.pp +++ /dev/null @@ -1,133 +0,0 @@ -class youri_check { - class base { - $vhost = "check.${::domain}" - $user = 'youri' - $home = '/var/lib/youri' - $home_check = '/var/www/youri-check' - $pgsql_password = extlookup('youri_pgsql','x') - - user { $user: - comment => 'Youri Check', - home => $home, - } - - file { $home: - ensure => directory, - owner => $user, - group => $user, - } - - file { $home_check: - ensure => directory, - owner => $user, - group => $user, - } - - $pgsql_server = "${vhost}" - - package { ['youri-check', 'perl-DBD-Pg', 'perl-Youri-Media']: } - - } - - - define config($version) { - include stdlib - include youri-check::base - - $config = "/etc/youri/${version}.conf" - $outdir = "/var/www/youri-check/${version}" - $pgsql_db = "youri_check_${version}" - $pgsql_server = $base::pgsql_server - $pgsql_user = "youri${version}" - $pgsql_password = extlookup('youri_pgsql','x') - # We want to alert for packages older than the cut-off for latest mass rebuild - # 1745539200 is 2025-04-25 - $max_days = (time() - 1745539200)/(24*3600) - - file { "${config}": - ensure => present, - owner => $base::user, - mode => '0640', - content => template("youri-check/${version}.conf"), - require => User[$base::user], - } - } - - - define createdb_user($version) { - $pgsql_db = "youri_check_${version}" - $pgsql_user = "youri${version}" - $pgsql_password = extlookup('youri_pgsql','x') - - postgresql::remote_user { $pgsql_user: - password => $base::pgsql_password, - } - - postgresql::remote_database { $pgsql_db: - description => "Youri Check results", - user => $pgsql_user, - } - } - - define check($version, $hour = "*", $minute = 0) { - include youri-check::base - $config = "/etc/youri/${version}.conf" - $pgsql_server = $base::pgsql_server - $pgsql_db = "youri_check_${version}" - $pgsql_user = "youri${version}" - $pgsql_password = extlookup('youri_pgsql','x') - - postgresql::remote_user { $pgsql_user: - password => $base::pgsql_password, - } - - postgresql::remote_database { $pgsql_db: - description => "Youri Check results", - user => $pgsql_user, - } - cron { "check_${version}": - command => "youri-check -c ${config} --parallel test", - hour => $hour, - minute => $minute, - user => $base::user, - environment => "MAILTO=root", - require => User[$base::user], - } - } - - define report_www { - include youri-check::base - $outdir = "/var/www/youri-check/" - apache::vhost::base { $base::vhost: - location => $outdir, - content => template('youri-check/vhost_check.conf'), - } - apache::vhost::base { "ssl_${base::vhost}": - vhost => $base::vhost, - use_ssl => true, - location => $outdir, - content => template('youri-check/vhost_check.conf'), - } - } - - define report($version, $hour = "*", $minute = 20) { - include youri-check::base - - $config = "/etc/youri/${version}.conf" - - $outdir = "/var/www/youri-check/${version}" - file { "${outdir}": - ensure => directory, - owner => $base::user, - mode => '0755', - } - - cron { "check_${version}": - command => "youri-check -c ${config} report", - hour => $hour, - minute => $minute, - user => $base::user, - require => User[$base::user], - } - } -} diff --git a/modules/youri-check/templates/10.conf b/modules/youri-check/templates/10.conf deleted file mode 100644 index c37de91d..00000000 --- a/modules/youri-check/templates/10.conf +++ /dev/null @@ -1,241 +0,0 @@ -# vim:ft=yaml:et:sw=4 - -# helper variables -mirror: http://repository.mageia.org/distrib/10 -mirror_i686: ${mirror}/i686/media -mirror_x86_64: ${mirror}/x86_64/media - -# resultset definition -resultset: - class: Youri::Check::Resultset::DBI - options: - driver: Pg - host: <%= pgsql_server %>;sslmode=require - base: <%= pgsql_db %> - user: <%= pgsql_user %> - pass: <%= pgsql_password %> - -resolver: - class: Youri::Check::Maintainer::Resolver::CGI - options: - url: https://pkgsubmit.<%= domain %>/data/maintdb.txt - exceptions: - - nobody - - -# checks definitions -tests: - dependencies: - class: Youri::Check::Test::Dependencies - - missing: - class: Youri::Check::Test::Missing - -# reports definitions -reports: - file: - class: Youri::Check::Report::File - options: - to: <%= outdir %> - global: 1 - individual: 1 - formats: - html: - class: Youri::Check::Report::Format::HTML - text: - class: Youri::Check::Report::Format::Text - rss: - class: Youri::Check::Report::Format::RSS - -# media definitions -medias: - core.i686: - class: Youri::Media::URPM - options: - name: core - type: binary - hdlist: ${mirror_i686}/media_info/hdlist_core.cz - options: - dependencies: - allowed: - - core.i686 - missing: - allowed: - - core.sources - - core_updates.i686: - class: Youri::Media::URPM - options: - name: core_updates - type: binary - hdlist: ${mirror_i686}/media_info/hdlist_core_updates.cz - options: - dependencies: - allowed: - - core.i686 - - core_updates.i686 - missing: - allowed: - - core.sources - - core_updates.sources - - core_updates_testing.i686: - class: Youri::Media::URPM - options: - name: core_updates_testing - type: binary - hdlist: ${mirror_i686}/media_info/hdlist_core_updates_testing.cz - options: - dependencies: - allowed: - - core.i686 - - core_updates.i686 - - core_updates_testing.i686 - missing: - allowed: - - core.sources - - core_updates.sources - - core_updates_testing.sources - - core.x86_64: - class: Youri::Media::URPM - options: - name: core - type: binary - hdlist: ${mirror_x86_64}/media_info/hdlist_core.cz - options: - dependencies: - allowed: - - core.x86_64 - - core.i686 - missing: - allowed: - - core.sources - - core_updates.x86_64: - class: Youri::Media::URPM - options: - name: core_updates - type: binary - hdlist: ${mirror_x86_64}/media_info/hdlist_core_updates.cz - options: - dependencies: - allowed: - - core.i686 - - core_updates.i686 - - core.x86_64 - - core_updates.x86_64 - missing: - allowed: - - core.sources - - core_updates.sources - - core_updates_testing.x86_64: - class: Youri::Media::URPM - options: - name: core_updates_testing - type: binary - hdlist: ${mirror_x86_64}/media_info/hdlist_core_updates_testing.cz - options: - dependencies: - allowed: - - core.x86_64 - - core_updates.x86_64 - - core_updates_testing.x86_64 - - core.i686 - - core_updates.i686 - - core_updates_testing.i686 - missing: - allowed: - - core.sources - - core_updates.sources - - core_updates_testing.sources - - core.sources: - class: Youri::Media::URPM - options: - name: core - type: source - hdlist: ${mirror_i686}/media_info/hdlist_core.src.cz - options: - dependencies: - allowed: - - core.x86_64 - - core.i686 - - core_updates.sources: - class: Youri::Media::URPM - options: - name: core_updates - type: source - hdlist: ${mirror_i686}/media_info/hdlist_core_updates.src.cz - options: - dependencies: - allowed: - - core.x86_64 - - core_updates.x86_64 - - core.i686 - - core_updates.i686 - - core_updates_testing.sources: - class: Youri::Media::URPM - options: - name: core_updates_testing - type: source - hdlist: ${mirror_i686}/media_info/hdlist_core_updates_testing.src.cz - options: - dependencies: - allowed: - - core.x86_64 - - core_updates.x86_64 - - core_updates_testing.x86_64 - - core.i686 - - core_updates.i686 - - core_updates_testing.i686 - - nonfree.i686: - class: Youri::Media::URPM - options: - name: nonfree - type: binary - hdlist: ${mirror_i686}/media_info/hdlist_nonfree_release.cz - options: - dependencies: - allowed: - - core.i686 - - nonfree.i686 - missing: - allowed: - - nonfree.sources - - nonfree.x86_64: - class: Youri::Media::URPM - options: - name: nonfree - type: binary - hdlist: ${mirror_x86_64}/media_info/hdlist_nonfree_release.cz - options: - dependencies: - allowed: - - core.x86_64 - - core.i686 - - nonfree.x86_64 - - nonfree.i686 - missing: - allowed: - - nonfree.sources - - - nonfree.sources: - class: Youri::Media::URPM - options: - name: nonfree - type: source - hdlist: ${mirror_i686}/media_info/hdlist_nonfree_release.src.cz - options: - dependencies: - allowed: - - core.x86_64 - - nonfree.x86_64 - - core.i686 - - nonfree.i686 diff --git a/modules/youri-check/templates/9.conf b/modules/youri-check/templates/9.conf deleted file mode 100644 index 28028080..00000000 --- a/modules/youri-check/templates/9.conf +++ /dev/null @@ -1,241 +0,0 @@ -# vim:ft=yaml:et:sw=4 - -# helper variables -mirror: http://repository.mageia.org/distrib/9 -mirror_i586: ${mirror}/i586/media -mirror_x86_64: ${mirror}/x86_64/media - -# resultset definition -resultset: - class: Youri::Check::Resultset::DBI - options: - driver: Pg - host: <%= pgsql_server %>;sslmode=require - base: <%= pgsql_db %> - user: <%= pgsql_user %> - pass: <%= pgsql_password %> - -resolver: - class: Youri::Check::Maintainer::Resolver::CGI - options: - url: https://pkgsubmit.<%= domain %>/data/maintdb.txt - exceptions: - - nobody - - -# checks definitions -tests: - dependencies: - class: Youri::Check::Test::Dependencies - - missing: - class: Youri::Check::Test::Missing - -# reports definitions -reports: - file: - class: Youri::Check::Report::File - options: - to: <%= outdir %> - global: 1 - individual: 1 - formats: - html: - class: Youri::Check::Report::Format::HTML - text: - class: Youri::Check::Report::Format::Text - rss: - class: Youri::Check::Report::Format::RSS - -# media definitions -medias: - core.i586: - class: Youri::Media::URPM - options: - name: core - type: binary - hdlist: ${mirror_i586}/media_info/hdlist_core.cz - options: - dependencies: - allowed: - - core.i586 - missing: - allowed: - - core.sources - - core_updates.i586: - class: Youri::Media::URPM - options: - name: core_updates - type: binary - hdlist: ${mirror_i586}/media_info/hdlist_core_updates.cz - options: - dependencies: - allowed: - - core.i586 - - core_updates.i586 - missing: - allowed: - - core.sources - - core_updates.sources - - core_updates_testing.i586: - class: Youri::Media::URPM - options: - name: core_updates_testing - type: binary - hdlist: ${mirror_i586}/media_info/hdlist_core_updates_testing.cz - options: - dependencies: - allowed: - - core.i586 - - core_updates.i586 - - core_updates_testing.i586 - missing: - allowed: - - core.sources - - core_updates.sources - - core_updates_testing.sources - - core.x86_64: - class: Youri::Media::URPM - options: - name: core - type: binary - hdlist: ${mirror_x86_64}/media_info/hdlist_core.cz - options: - dependencies: - allowed: - - core.x86_64 - - core.i586 - missing: - allowed: - - core.sources - - core_updates.x86_64: - class: Youri::Media::URPM - options: - name: core_updates - type: binary - hdlist: ${mirror_x86_64}/media_info/hdlist_core_updates.cz - options: - dependencies: - allowed: - - core.i586 - - core_updates.i586 - - core.x86_64 - - core_updates.x86_64 - missing: - allowed: - - core.sources - - core_updates.sources - - core_updates_testing.x86_64: - class: Youri::Media::URPM - options: - name: core_updates_testing - type: binary - hdlist: ${mirror_x86_64}/media_info/hdlist_core_updates_testing.cz - options: - dependencies: - allowed: - - core.x86_64 - - core_updates.x86_64 - - core_updates_testing.x86_64 - - core.i586 - - core_updates.i586 - - core_updates_testing.i586 - missing: - allowed: - - core.sources - - core_updates.sources - - core_updates_testing.sources - - core.sources: - class: Youri::Media::URPM - options: - name: core - type: source - hdlist: ${mirror_i586}/media_info/hdlist_core.src.cz - options: - dependencies: - allowed: - - core.x86_64 - - core.i586 - - core_updates.sources: - class: Youri::Media::URPM - options: - name: core_updates - type: source - hdlist: ${mirror_i586}/media_info/hdlist_core_updates.src.cz - options: - dependencies: - allowed: - - core.x86_64 - - core_updates.x86_64 - - core.i586 - - core_updates.i586 - - core_updates_testing.sources: - class: Youri::Media::URPM - options: - name: core_updates_testing - type: source - hdlist: ${mirror_i586}/media_info/hdlist_core_updates_testing.src.cz - options: - dependencies: - allowed: - - core.x86_64 - - core_updates.x86_64 - - core_updates_testing.x86_64 - - core.i586 - - core_updates.i586 - - core_updates_testing.i586 - - nonfree.i586: - class: Youri::Media::URPM - options: - name: nonfree - type: binary - hdlist: ${mirror_i586}/media_info/hdlist_nonfree_release.cz - options: - dependencies: - allowed: - - core.i586 - - nonfree.i586 - missing: - allowed: - - nonfree.sources - - nonfree.x86_64: - class: Youri::Media::URPM - options: - name: nonfree - type: binary - hdlist: ${mirror_x86_64}/media_info/hdlist_nonfree_release.cz - options: - dependencies: - allowed: - - core.x86_64 - - core.i586 - - nonfree.x86_64 - - nonfree.i586 - missing: - allowed: - - nonfree.sources - - - nonfree.sources: - class: Youri::Media::URPM - options: - name: nonfree - type: source - hdlist: ${mirror_i586}/media_info/hdlist_nonfree_release.src.cz - options: - dependencies: - allowed: - - core.x86_64 - - nonfree.x86_64 - - core.i586 - - nonfree.i586 diff --git a/modules/youri-check/templates/cauldron.conf b/modules/youri-check/templates/cauldron.conf deleted file mode 100644 index aeace447..00000000 --- a/modules/youri-check/templates/cauldron.conf +++ /dev/null @@ -1,504 +0,0 @@ -# vim:ft=yaml:et:sw=4 - -# helper variables -mirror: http://repository.mageia.org/distrib/cauldron -mirror_aarch64: ${mirror}/aarch64/media -mirror_armv7hl: ${mirror}/armv7hl/media -mirror_i686: ${mirror}/i686/media -mirror_x86_64: ${mirror}/x86_64/media - -# resultset definition -resultset: - class: Youri::Check::Resultset::DBI - options: - driver: Pg - host: <%= pgsql_server %>;sslmode=require - base: <%= pgsql_db %> - user: <%= pgsql_user %> - pass: <%= pgsql_password %> - -resolver: - class: Youri::Check::Maintainer::Resolver::CGI - options: - url: https://pkgsubmit.<%= domain %>/data/maintdb.txt - exceptions: - - nobody - - -# checks definitions -tests: - dependencies: - class: Youri::Check::Test::Dependencies - - missing: - class: Youri::Check::Test::Missing - - updates: - class: Youri::Check::Test::Updates - options: - aliases: - basesystem: ~ - drakxtools: ~ - drakx-installer-advertising: ~ - drakx-installer-binaries: ~ - drakx-installer-images: ~ - drakx-installer-rescue: ~ - drakx-installer-stage2: ~ - horde-accounts: accounts - horde-chora: chora - horde-forwards: forwards - horde-imp: imp - horde-ingo: ingo - horde-kronolith: kronolith - horde-mnemo: mnemo - horde-nag: nag - horde-passwd: passwd - horde-turba: turba - horde-vacation: vacation - freetype: freetype2 - gstreamer: ~ - gstreamer0.10: gstreamer - gnupg2: gnupg - gnupg: ~ - gnome-vfs2: gnome-vfs - gnome-vfs: ~ - ldetect: ~ - ldetect-lst: ~ - libutempter: utempter - perl-URPM: ~ - rpm: ~ - rpmdrake: ~ - rpmstats: ~ - rpmtools: ~ - urpmi: ~ - vte: ~ - vte3: vte - xine-lib: xine-lib1.2 - xine-lib-1.2: xine-lib1.2 - sources: - cpan: - order: 0 - class: Youri::Check::Test::Updates::Source::CPAN - options: - aliases: - libnet: ~ - perl-Catalyst-P-S-State-Cookie: Catalyst::Plugin::State::State::Cookie - perl-Catalyst-P-S-Store-FastMmap: Catalyst::Plugin::State::Store::FastMmap - perl-Catalyst-P-S-Store-File: Catalyst::Plugin::State::Store::File - gettext: ~ - pear: - order: 0 - class: Youri::Check::Test::Updates::Source::PEAR -# pypi: -# order: 0 -# class: Youri::Check::Test::Updates::Source::PyPI -# apache: -# order: 0 -# class: Youri::Check::Test::Updates::Source::Apache - debian: - order: 1 - class: Youri::Check::Test::Updates::Source::Debian - options: - aliases: - anjuta2: anjuta - anjuta: ~ - perl-Jcode: libjcode-pm-perl - makepasswd: ~ - sipp: ~ - zsnes: ~ - unclutter: ~ - python-id3: ~ - freetype: ~ - openldap2.3: ~ - git: git-core - nilfs-utils: nilfs-tools - mobile-broadband-provider-info: ~ - cpulimit: ~ - icecream: ~ - colorize: ~ - fedora: - order: 1 - class: Youri::Check::Test::Updates::Source::Fedora - options: - aliases: - authd: ~ - basesystem: ~ - bash: ~ - freetype: ~ - freetype2: freetype - gle: ~ - gtksourceview-sharp: ~ - modemmanager: ModemManager - netcat-openbsd: netcat - networkmanager: NetworkManager - networkmanager-applet: network-manager-applet - networkmanager-fortisslvpn: NetworkManager-fortisslvpn - networkmanager-l2tp: NetworkManager-l2tp - networkmanager-libreswan: NetworkManager-libreswan - networkmanager-openconnect: NetworkManager-openconnect - networkmanager-openvpn: NetworkManager-openvpn - networkmanager-pptp: NetworkManager-pptp - networkmanager-vpnc: NetworkManager-vpnc - ocaml-lablgtk: ~ - ocaml-lablgtk2: ocaml-lablgtk - OpenIPMI: OpenIPMI2 - sqlite: sqlite2 - gentoo: - order: 1 - class: Youri::Check::Test::Updates::Source::Gentoo - options: - aliases: - beagle: ~ - makepasswd: ~ - hibernate: hibernate-script - leif: ~ - sqlite3: sqlite - sqlite: ~ - cfengine3: cfengine - cfengine: ~ - kamikaze: ~ - knob: ~ - vertex: ~ - unclutter: ~ - pam-krb5: pam_krb5 - pam_krb5: ~ - akonadi: akonadi-server - attica: libattica - raptor2: raptor - raptor: ~ - libevent: ~ - wifi-radar: ~ - tuxmathscrabble: ~ - chromium: ~ - cpulimit: ~ - icecream: ~ - nodejs: ~ - gnome: - order: 1 - class: Youri::Check::Test::Updates::Source::GNOME - options: - url: https://download.gnome.org/sources/ - aliases: - acme: ~ - GConf: ~ - GConf2: GConf - gcr: ~ - gcr4: gcr - gdk-pixbuf2.0: gdk-pixbuf - glib: ~ - glib2.0: glib - glibmm2.4: ~ - goocanvas2: ~ - gtkmm-documentation3.0: ~ - gtkmm: ~ - gtkmm2.4: ~ - gtkmm3.0: ~ - gtkmm4.0: gtkmm - gtksourceviewmm3.0: ~ - gtk: ~ - gtk+2.0: ~ - gtk+3.0: ~ - gtk4.0: gtk - modemmanager: ModemManager - networkmanager: NetworkManager - networkmanager-applet: network-manager-applet - networkmanager-fortisslvpn: NetworkManager-fortisslvpn - networkmanager-l2tp: NetworkManager-l2tp - networkmanager-libreswan: NetworkManager-libreswan - networkmanager-openconnect: NetworkManager-openconnect - networkmanager-openvpn: NetworkManager-openvpn - networkmanager-pptp: NetworkManager-pptp - networkmanager-vpnc: NetworkManager-vpnc - notify-sharp: ~ - notify-sharp3: notify-sharp - pango: ~ - pango2.0: pango - netbsd: - order: 1 - class: Youri::Check::Test::Updates::Source::NetBSD -# sourceforge: -# class: Youri::Check::Test::Updates::Source::Sourceforge -# options: -# aliases: -# bigforth: ~ -# gtkmm: ~ -# hydrogen: ~ -# ltp: ~ -# pblogan: ~ -# console-tools: ~ -# maxima: ~ -# clisp: ~ - - updates_fedora: - class: Youri::Check::Test::Updates - options: - sources: - fedora: - order: 1 - class: Youri::Check::Test::Updates::Source::Fedora - options: - aliases: - authd: ~ - basesystem: ~ - bash: ~ - freetype: ~ - freetype2: freetype - gle: ~ - gtksourceview-sharp: ~ - modemmanager: ModemManager - netcat-openbsd: netcat - networkmanager: NetworkManager - networkmanager-applet: network-manager-applet - networkmanager-fortisslvpn: NetworkManager-fortisslvpn - networkmanager-l2tp: NetworkManager-l2tp - networkmanager-libreswan: NetworkManager-libreswan - networkmanager-openconnect: NetworkManager-openconnect - networkmanager-openvpn: NetworkManager-openvpn - networkmanager-pptp: NetworkManager-pptp - networkmanager-vpnc: NetworkManager-vpnc - ocaml-lablgtk: ~ - ocaml-lablgtk2: ocaml-lablgtk - OpenIPMI: OpenIPMI2 - sqlite: sqlite2 - updates_gnome: - class: Youri::Check::Test::Updates - options: - sources: - gnome: - order: 1 - class: Youri::Check::Test::Updates::Source::GNOME - options: - url: https://download.gnome.org/sources/ - aliases: - acme: ~ - GConf: ~ - GConf2: GConf - gcr: ~ - gcr4: gcr - gdk-pixbuf2.0: gdk-pixbuf - glib: ~ - glib2.0: glib - glibmm2.4: ~ - goocanvas2: ~ - gtkmm-documentation3.0: ~ - gtkmm: ~ - gtkmm2.4: ~ - gtkmm3.0: ~ - gtkmm4.0: gtkmm - gtksourceviewmm3.0: ~ - gtk: ~ - gtk+2.0: ~ - gtk+3.0: ~ - gtk4.0: gtk - modemmanager: ModemManager - networkmanager: NetworkManager - networkmanager-applet: network-manager-applet - networkmanager-fortisslvpn: NetworkManager-fortisslvpn - networkmanager-l2tp: NetworkManager-l2tp - networkmanager-libreswan: NetworkManager-libreswan - networkmanager-openconnect: NetworkManager-openconnect - networkmanager-openvpn: NetworkManager-openvpn - networkmanager-pptp: NetworkManager-pptp - networkmanager-vpnc: NetworkManager-vpnc - notify-sharp: ~ - notify-sharp3: notify-sharp - pango: ~ - pango2.0: pango - build: - class: Youri::Check::Test::Build - options: - sources: - iurt: - class: Youri::Check::Test::Build::Source::Iurt - options: - url: https://pkgsubmit.mageia.org/autobuild/cauldron - arches: - - x86_64 - medias: - - core - age: - class: Youri::Check::Test::Age - options: - max: <%= max_days %> days - pattern: "%d days" - -# reports definitions -reports: - file: - class: Youri::Check::Report::File - options: - to: <%= outdir %> - global: 1 - individual: 1 - formats: - html: - class: Youri::Check::Report::Format::HTML - text: - class: Youri::Check::Report::Format::Text - rss: - class: Youri::Check::Report::Format::RSS - -# media definitions -medias: - core.aarch64: - class: Youri::Media::URPM - options: - name: core - type: binary - hdlist: ${mirror_aarch64}/core/release/media_info/hdlist.cz - options: - dependencies: - allowed: - - core.aarch64 - missing: - allowed: - - core.sources - - core.armv7hl: - class: Youri::Media::URPM - options: - name: core - type: binary - hdlist: ${mirror_armv7hl}/core/release/media_info/hdlist.cz - options: - dependencies: - allowed: - - core.armv7hl - missing: - allowed: - - core.sources - - core.i686: - class: Youri::Media::URPM - options: - name: core - type: binary - hdlist: ${mirror_i686}/media_info/hdlist_core.cz - options: - dependencies: - allowed: - - core.i686 - missing: - allowed: - - core.sources - - core.x86_64: - class: Youri::Media::URPM - options: - name: core - type: binary - hdlist: ${mirror_x86_64}/media_info/hdlist_core.cz - options: - dependencies: - allowed: - - core.x86_64 - - core.i686 - missing: - allowed: - - core.sources - - - core.sources: - class: Youri::Media::URPM - options: - name: core - type: source - hdlist: ${mirror_i686}/media_info/hdlist_core.src.cz - options: - dependencies: - allowed: - - core.x86_64 - - core.i686 - - nonfree.i686: - class: Youri::Media::URPM - options: - name: nonfree - type: binary - hdlist: ${mirror_i686}/media_info/hdlist_nonfree_release.cz - options: - dependencies: - allowed: - - core.i686 - - nonfree.i686 - missing: - allowed: - - nonfree.sources - - nonfree.x86_64: - class: Youri::Media::URPM - options: - name: nonfree - type: binary - hdlist: ${mirror_x86_64}/media_info/hdlist_nonfree_release.cz - options: - dependencies: - allowed: - - core.x86_64 - - core.i686 - - nonfree.x86_64 - - nonfree.i686 - missing: - allowed: - - nonfree.sources - - - nonfree.sources: - class: Youri::Media::URPM - options: - name: nonfree - type: source - hdlist: ${mirror_i686}/media_info/hdlist_nonfree_release.src.cz - options: - dependencies: - allowed: - - core.x86_64 - - nonfree.x86_64 - - core.i686 - - nonfree.i686 - - tainted.i686: - class: Youri::Media::URPM - options: - name: nonfree - type: binary - hdlist: ${mirror_i686}/media_info/hdlist_tainted_release.cz - options: - dependencies: - allowed: - - core.i686 - - tainted.i686 - missing: - allowed: - - tainted.sources - - tainted.x86_64: - class: Youri::Media::URPM - options: - name: tainted - type: binary - hdlist: ${mirror_x86_64}/media_info/hdlist_tainted_release.cz - options: - dependencies: - allowed: - - core.x86_64 - - core.i686 - - tainted.x86_64 - - tainted.i686 - missing: - allowed: - - tainted.sources - - tainted.sources: - class: Youri::Media::URPM - options: - name: tainted - type: source - hdlist: ${mirror_i686}/media_info/hdlist_tainted_release.src.cz - options: - dependencies: - allowed: - - core.x86_64 - - tainted.x86_64 - - core.i686 - - tainted.i686 diff --git a/modules/youri-check/templates/vhost_check.conf b/modules/youri-check/templates/vhost_check.conf deleted file mode 100644 index 2cf598b5..00000000 --- a/modules/youri-check/templates/vhost_check.conf +++ /dev/null @@ -1,2 +0,0 @@ -Header set Access-Control-Allow-Origin "http://pkgsubmit.<%= domain %>" -Header set Access-Control-Allow-Origin "https://pkgsubmit.<%= domain %>" env=HTTPS diff --git a/modules/youri_check/manifests/init.pp b/modules/youri_check/manifests/init.pp new file mode 100644 index 00000000..98a0c95e --- /dev/null +++ b/modules/youri_check/manifests/init.pp @@ -0,0 +1,133 @@ +class youri_check { + class base { + $vhost = "check.${::domain}" + $user = 'youri' + $home = '/var/lib/youri' + $home_check = '/var/www/youri-check' + $pgsql_password = extlookup('youri_pgsql','x') + + user { $user: + comment => 'Youri Check', + home => $home, + } + + file { $home: + ensure => directory, + owner => $user, + group => $user, + } + + file { $home_check: + ensure => directory, + owner => $user, + group => $user, + } + + $pgsql_server = "${vhost}" + + package { ['youri-check', 'perl-DBD-Pg', 'perl-Youri-Media']: } + + } + + + define config($version) { + include stdlib + include youri_check::base + + $config = "/etc/youri/${version}.conf" + $outdir = "/var/www/youri-check/${version}" + $pgsql_db = "youri_check_${version}" + $pgsql_server = $base::pgsql_server + $pgsql_user = "youri${version}" + $pgsql_password = extlookup('youri_pgsql','x') + # We want to alert for packages older than the cut-off for latest mass rebuild + # 1745539200 is 2025-04-25 + $max_days = (time() - 1745539200)/(24*3600) + + file { "${config}": + ensure => present, + owner => $base::user, + mode => '0640', + content => template("youri_check/${version}.conf"), + require => User[$base::user], + } + } + + + define createdb_user($version) { + $pgsql_db = "youri_check_${version}" + $pgsql_user = "youri${version}" + $pgsql_password = extlookup('youri_pgsql','x') + + postgresql::remote_user { $pgsql_user: + password => $base::pgsql_password, + } + + postgresql::remote_database { $pgsql_db: + description => "Youri Check results", + user => $pgsql_user, + } + } + + define check($version, $hour = "*", $minute = 0) { + include youri_check::base + $config = "/etc/youri/${version}.conf" + $pgsql_server = $base::pgsql_server + $pgsql_db = "youri_check_${version}" + $pgsql_user = "youri${version}" + $pgsql_password = extlookup('youri_pgsql','x') + + postgresql::remote_user { $pgsql_user: + password => $base::pgsql_password, + } + + postgresql::remote_database { $pgsql_db: + description => "Youri Check results", + user => $pgsql_user, + } + cron { "check_${version}": + command => "youri-check -c ${config} --parallel test", + hour => $hour, + minute => $minute, + user => $base::user, + environment => "MAILTO=root", + require => User[$base::user], + } + } + + define report_www { + include youri_check::base + $outdir = "/var/www/youri-check/" + apache::vhost::base { $base::vhost: + location => $outdir, + content => template('youri_check/vhost_check.conf'), + } + apache::vhost::base { "ssl_${base::vhost}": + vhost => $base::vhost, + use_ssl => true, + location => $outdir, + content => template('youri_check/vhost_check.conf'), + } + } + + define report($version, $hour = "*", $minute = 20) { + include youri_check::base + + $config = "/etc/youri/${version}.conf" + + $outdir = "/var/www/youri-check/${version}" + file { "${outdir}": + ensure => directory, + owner => $base::user, + mode => '0755', + } + + cron { "check_${version}": + command => "youri-check -c ${config} report", + hour => $hour, + minute => $minute, + user => $base::user, + require => User[$base::user], + } + } +} diff --git a/modules/youri_check/templates/10.conf b/modules/youri_check/templates/10.conf new file mode 100644 index 00000000..c37de91d --- /dev/null +++ b/modules/youri_check/templates/10.conf @@ -0,0 +1,241 @@ +# vim:ft=yaml:et:sw=4 + +# helper variables +mirror: http://repository.mageia.org/distrib/10 +mirror_i686: ${mirror}/i686/media +mirror_x86_64: ${mirror}/x86_64/media + +# resultset definition +resultset: + class: Youri::Check::Resultset::DBI + options: + driver: Pg + host: <%= pgsql_server %>;sslmode=require + base: <%= pgsql_db %> + user: <%= pgsql_user %> + pass: <%= pgsql_password %> + +resolver: + class: Youri::Check::Maintainer::Resolver::CGI + options: + url: https://pkgsubmit.<%= domain %>/data/maintdb.txt + exceptions: + - nobody + + +# checks definitions +tests: + dependencies: + class: Youri::Check::Test::Dependencies + + missing: + class: Youri::Check::Test::Missing + +# reports definitions +reports: + file: + class: Youri::Check::Report::File + options: + to: <%= outdir %> + global: 1 + individual: 1 + formats: + html: + class: Youri::Check::Report::Format::HTML + text: + class: Youri::Check::Report::Format::Text + rss: + class: Youri::Check::Report::Format::RSS + +# media definitions +medias: + core.i686: + class: Youri::Media::URPM + options: + name: core + type: binary + hdlist: ${mirror_i686}/media_info/hdlist_core.cz + options: + dependencies: + allowed: + - core.i686 + missing: + allowed: + - core.sources + + core_updates.i686: + class: Youri::Media::URPM + options: + name: core_updates + type: binary + hdlist: ${mirror_i686}/media_info/hdlist_core_updates.cz + options: + dependencies: + allowed: + - core.i686 + - core_updates.i686 + missing: + allowed: + - core.sources + - core_updates.sources + + core_updates_testing.i686: + class: Youri::Media::URPM + options: + name: core_updates_testing + type: binary + hdlist: ${mirror_i686}/media_info/hdlist_core_updates_testing.cz + options: + dependencies: + allowed: + - core.i686 + - core_updates.i686 + - core_updates_testing.i686 + missing: + allowed: + - core.sources + - core_updates.sources + - core_updates_testing.sources + + core.x86_64: + class: Youri::Media::URPM + options: + name: core + type: binary + hdlist: ${mirror_x86_64}/media_info/hdlist_core.cz + options: + dependencies: + allowed: + - core.x86_64 + - core.i686 + missing: + allowed: + - core.sources + + core_updates.x86_64: + class: Youri::Media::URPM + options: + name: core_updates + type: binary + hdlist: ${mirror_x86_64}/media_info/hdlist_core_updates.cz + options: + dependencies: + allowed: + - core.i686 + - core_updates.i686 + - core.x86_64 + - core_updates.x86_64 + missing: + allowed: + - core.sources + - core_updates.sources + + core_updates_testing.x86_64: + class: Youri::Media::URPM + options: + name: core_updates_testing + type: binary + hdlist: ${mirror_x86_64}/media_info/hdlist_core_updates_testing.cz + options: + dependencies: + allowed: + - core.x86_64 + - core_updates.x86_64 + - core_updates_testing.x86_64 + - core.i686 + - core_updates.i686 + - core_updates_testing.i686 + missing: + allowed: + - core.sources + - core_updates.sources + - core_updates_testing.sources + + core.sources: + class: Youri::Media::URPM + options: + name: core + type: source + hdlist: ${mirror_i686}/media_info/hdlist_core.src.cz + options: + dependencies: + allowed: + - core.x86_64 + - core.i686 + + core_updates.sources: + class: Youri::Media::URPM + options: + name: core_updates + type: source + hdlist: ${mirror_i686}/media_info/hdlist_core_updates.src.cz + options: + dependencies: + allowed: + - core.x86_64 + - core_updates.x86_64 + - core.i686 + - core_updates.i686 + + core_updates_testing.sources: + class: Youri::Media::URPM + options: + name: core_updates_testing + type: source + hdlist: ${mirror_i686}/media_info/hdlist_core_updates_testing.src.cz + options: + dependencies: + allowed: + - core.x86_64 + - core_updates.x86_64 + - core_updates_testing.x86_64 + - core.i686 + - core_updates.i686 + - core_updates_testing.i686 + + nonfree.i686: + class: Youri::Media::URPM + options: + name: nonfree + type: binary + hdlist: ${mirror_i686}/media_info/hdlist_nonfree_release.cz + options: + dependencies: + allowed: + - core.i686 + - nonfree.i686 + missing: + allowed: + - nonfree.sources + + nonfree.x86_64: + class: Youri::Media::URPM + options: + name: nonfree + type: binary + hdlist: ${mirror_x86_64}/media_info/hdlist_nonfree_release.cz + options: + dependencies: + allowed: + - core.x86_64 + - core.i686 + - nonfree.x86_64 + - nonfree.i686 + missing: + allowed: + - nonfree.sources + + + nonfree.sources: + class: Youri::Media::URPM + options: + name: nonfree + type: source + hdlist: ${mirror_i686}/media_info/hdlist_nonfree_release.src.cz + options: + dependencies: + allowed: + - core.x86_64 + - nonfree.x86_64 + - core.i686 + - nonfree.i686 diff --git a/modules/youri_check/templates/9.conf b/modules/youri_check/templates/9.conf new file mode 100644 index 00000000..28028080 --- /dev/null +++ b/modules/youri_check/templates/9.conf @@ -0,0 +1,241 @@ +# vim:ft=yaml:et:sw=4 + +# helper variables +mirror: http://repository.mageia.org/distrib/9 +mirror_i586: ${mirror}/i586/media +mirror_x86_64: ${mirror}/x86_64/media + +# resultset definition +resultset: + class: Youri::Check::Resultset::DBI + options: + driver: Pg + host: <%= pgsql_server %>;sslmode=require + base: <%= pgsql_db %> + user: <%= pgsql_user %> + pass: <%= pgsql_password %> + +resolver: + class: Youri::Check::Maintainer::Resolver::CGI + options: + url: https://pkgsubmit.<%= domain %>/data/maintdb.txt + exceptions: + - nobody + + +# checks definitions +tests: + dependencies: + class: Youri::Check::Test::Dependencies + + missing: + class: Youri::Check::Test::Missing + +# reports definitions +reports: + file: + class: Youri::Check::Report::File + options: + to: <%= outdir %> + global: 1 + individual: 1 + formats: + html: + class: Youri::Check::Report::Format::HTML + text: + class: Youri::Check::Report::Format::Text + rss: + class: Youri::Check::Report::Format::RSS + +# media definitions +medias: + core.i586: + class: Youri::Media::URPM + options: + name: core + type: binary + hdlist: ${mirror_i586}/media_info/hdlist_core.cz + options: + dependencies: + allowed: + - core.i586 + missing: + allowed: + - core.sources + + core_updates.i586: + class: Youri::Media::URPM + options: + name: core_updates + type: binary + hdlist: ${mirror_i586}/media_info/hdlist_core_updates.cz + options: + dependencies: + allowed: + - core.i586 + - core_updates.i586 + missing: + allowed: + - core.sources + - core_updates.sources + + core_updates_testing.i586: + class: Youri::Media::URPM + options: + name: core_updates_testing + type: binary + hdlist: ${mirror_i586}/media_info/hdlist_core_updates_testing.cz + options: + dependencies: + allowed: + - core.i586 + - core_updates.i586 + - core_updates_testing.i586 + missing: + allowed: + - core.sources + - core_updates.sources + - core_updates_testing.sources + + core.x86_64: + class: Youri::Media::URPM + options: + name: core + type: binary + hdlist: ${mirror_x86_64}/media_info/hdlist_core.cz + options: + dependencies: + allowed: + - core.x86_64 + - core.i586 + missing: + allowed: + - core.sources + + core_updates.x86_64: + class: Youri::Media::URPM + options: + name: core_updates + type: binary + hdlist: ${mirror_x86_64}/media_info/hdlist_core_updates.cz + options: + dependencies: + allowed: + - core.i586 + - core_updates.i586 + - core.x86_64 + - core_updates.x86_64 + missing: + allowed: + - core.sources + - core_updates.sources + + core_updates_testing.x86_64: + class: Youri::Media::URPM + options: + name: core_updates_testing + type: binary + hdlist: ${mirror_x86_64}/media_info/hdlist_core_updates_testing.cz + options: + dependencies: + allowed: + - core.x86_64 + - core_updates.x86_64 + - core_updates_testing.x86_64 + - core.i586 + - core_updates.i586 + - core_updates_testing.i586 + missing: + allowed: + - core.sources + - core_updates.sources + - core_updates_testing.sources + + core.sources: + class: Youri::Media::URPM + options: + name: core + type: source + hdlist: ${mirror_i586}/media_info/hdlist_core.src.cz + options: + dependencies: + allowed: + - core.x86_64 + - core.i586 + + core_updates.sources: + class: Youri::Media::URPM + options: + name: core_updates + type: source + hdlist: ${mirror_i586}/media_info/hdlist_core_updates.src.cz + options: + dependencies: + allowed: + - core.x86_64 + - core_updates.x86_64 + - core.i586 + - core_updates.i586 + + core_updates_testing.sources: + class: Youri::Media::URPM + options: + name: core_updates_testing + type: source + hdlist: ${mirror_i586}/media_info/hdlist_core_updates_testing.src.cz + options: + dependencies: + allowed: + - core.x86_64 + - core_updates.x86_64 + - core_updates_testing.x86_64 + - core.i586 + - core_updates.i586 + - core_updates_testing.i586 + + nonfree.i586: + class: Youri::Media::URPM + options: + name: nonfree + type: binary + hdlist: ${mirror_i586}/media_info/hdlist_nonfree_release.cz + options: + dependencies: + allowed: + - core.i586 + - nonfree.i586 + missing: + allowed: + - nonfree.sources + + nonfree.x86_64: + class: Youri::Media::URPM + options: + name: nonfree + type: binary + hdlist: ${mirror_x86_64}/media_info/hdlist_nonfree_release.cz + options: + dependencies: + allowed: + - core.x86_64 + - core.i586 + - nonfree.x86_64 + - nonfree.i586 + missing: + allowed: + - nonfree.sources + + + nonfree.sources: + class: Youri::Media::URPM + options: + name: nonfree + type: source + hdlist: ${mirror_i586}/media_info/hdlist_nonfree_release.src.cz + options: + dependencies: + allowed: + - core.x86_64 + - nonfree.x86_64 + - core.i586 + - nonfree.i586 diff --git a/modules/youri_check/templates/cauldron.conf b/modules/youri_check/templates/cauldron.conf new file mode 100644 index 00000000..aeace447 --- /dev/null +++ b/modules/youri_check/templates/cauldron.conf @@ -0,0 +1,504 @@ +# vim:ft=yaml:et:sw=4 + +# helper variables +mirror: http://repository.mageia.org/distrib/cauldron +mirror_aarch64: ${mirror}/aarch64/media +mirror_armv7hl: ${mirror}/armv7hl/media +mirror_i686: ${mirror}/i686/media +mirror_x86_64: ${mirror}/x86_64/media + +# resultset definition +resultset: + class: Youri::Check::Resultset::DBI + options: + driver: Pg + host: <%= pgsql_server %>;sslmode=require + base: <%= pgsql_db %> + user: <%= pgsql_user %> + pass: <%= pgsql_password %> + +resolver: + class: Youri::Check::Maintainer::Resolver::CGI + options: + url: https://pkgsubmit.<%= domain %>/data/maintdb.txt + exceptions: + - nobody + + +# checks definitions +tests: + dependencies: + class: Youri::Check::Test::Dependencies + + missing: + class: Youri::Check::Test::Missing + + updates: + class: Youri::Check::Test::Updates + options: + aliases: + basesystem: ~ + drakxtools: ~ + drakx-installer-advertising: ~ + drakx-installer-binaries: ~ + drakx-installer-images: ~ + drakx-installer-rescue: ~ + drakx-installer-stage2: ~ + horde-accounts: accounts + horde-chora: chora + horde-forwards: forwards + horde-imp: imp + horde-ingo: ingo + horde-kronolith: kronolith + horde-mnemo: mnemo + horde-nag: nag + horde-passwd: passwd + horde-turba: turba + horde-vacation: vacation + freetype: freetype2 + gstreamer: ~ + gstreamer0.10: gstreamer + gnupg2: gnupg + gnupg: ~ + gnome-vfs2: gnome-vfs + gnome-vfs: ~ + ldetect: ~ + ldetect-lst: ~ + libutempter: utempter + perl-URPM: ~ + rpm: ~ + rpmdrake: ~ + rpmstats: ~ + rpmtools: ~ + urpmi: ~ + vte: ~ + vte3: vte + xine-lib: xine-lib1.2 + xine-lib-1.2: xine-lib1.2 + sources: + cpan: + order: 0 + class: Youri::Check::Test::Updates::Source::CPAN + options: + aliases: + libnet: ~ + perl-Catalyst-P-S-State-Cookie: Catalyst::Plugin::State::State::Cookie + perl-Catalyst-P-S-Store-FastMmap: Catalyst::Plugin::State::Store::FastMmap + perl-Catalyst-P-S-Store-File: Catalyst::Plugin::State::Store::File + gettext: ~ + pear: + order: 0 + class: Youri::Check::Test::Updates::Source::PEAR +# pypi: +# order: 0 +# class: Youri::Check::Test::Updates::Source::PyPI +# apache: +# order: 0 +# class: Youri::Check::Test::Updates::Source::Apache + debian: + order: 1 + class: Youri::Check::Test::Updates::Source::Debian + options: + aliases: + anjuta2: anjuta + anjuta: ~ + perl-Jcode: libjcode-pm-perl + makepasswd: ~ + sipp: ~ + zsnes: ~ + unclutter: ~ + python-id3: ~ + freetype: ~ + openldap2.3: ~ + git: git-core + nilfs-utils: nilfs-tools + mobile-broadband-provider-info: ~ + cpulimit: ~ + icecream: ~ + colorize: ~ + fedora: + order: 1 + class: Youri::Check::Test::Updates::Source::Fedora + options: + aliases: + authd: ~ + basesystem: ~ + bash: ~ + freetype: ~ + freetype2: freetype + gle: ~ + gtksourceview-sharp: ~ + modemmanager: ModemManager + netcat-openbsd: netcat + networkmanager: NetworkManager + networkmanager-applet: network-manager-applet + networkmanager-fortisslvpn: NetworkManager-fortisslvpn + networkmanager-l2tp: NetworkManager-l2tp + networkmanager-libreswan: NetworkManager-libreswan + networkmanager-openconnect: NetworkManager-openconnect + networkmanager-openvpn: NetworkManager-openvpn + networkmanager-pptp: NetworkManager-pptp + networkmanager-vpnc: NetworkManager-vpnc + ocaml-lablgtk: ~ + ocaml-lablgtk2: ocaml-lablgtk + OpenIPMI: OpenIPMI2 + sqlite: sqlite2 + gentoo: + order: 1 + class: Youri::Check::Test::Updates::Source::Gentoo + options: + aliases: + beagle: ~ + makepasswd: ~ + hibernate: hibernate-script + leif: ~ + sqlite3: sqlite + sqlite: ~ + cfengine3: cfengine + cfengine: ~ + kamikaze: ~ + knob: ~ + vertex: ~ + unclutter: ~ + pam-krb5: pam_krb5 + pam_krb5: ~ + akonadi: akonadi-server + attica: libattica + raptor2: raptor + raptor: ~ + libevent: ~ + wifi-radar: ~ + tuxmathscrabble: ~ + chromium: ~ + cpulimit: ~ + icecream: ~ + nodejs: ~ + gnome: + order: 1 + class: Youri::Check::Test::Updates::Source::GNOME + options: + url: https://download.gnome.org/sources/ + aliases: + acme: ~ + GConf: ~ + GConf2: GConf + gcr: ~ + gcr4: gcr + gdk-pixbuf2.0: gdk-pixbuf + glib: ~ + glib2.0: glib + glibmm2.4: ~ + goocanvas2: ~ + gtkmm-documentation3.0: ~ + gtkmm: ~ + gtkmm2.4: ~ + gtkmm3.0: ~ + gtkmm4.0: gtkmm + gtksourceviewmm3.0: ~ + gtk: ~ + gtk+2.0: ~ + gtk+3.0: ~ + gtk4.0: gtk + modemmanager: ModemManager + networkmanager: NetworkManager + networkmanager-applet: network-manager-applet + networkmanager-fortisslvpn: NetworkManager-fortisslvpn + networkmanager-l2tp: NetworkManager-l2tp + networkmanager-libreswan: NetworkManager-libreswan + networkmanager-openconnect: NetworkManager-openconnect + networkmanager-openvpn: NetworkManager-openvpn + networkmanager-pptp: NetworkManager-pptp + networkmanager-vpnc: NetworkManager-vpnc + notify-sharp: ~ + notify-sharp3: notify-sharp + pango: ~ + pango2.0: pango + netbsd: + order: 1 + class: Youri::Check::Test::Updates::Source::NetBSD +# sourceforge: +# class: Youri::Check::Test::Updates::Source::Sourceforge +# options: +# aliases: +# bigforth: ~ +# gtkmm: ~ +# hydrogen: ~ +# ltp: ~ +# pblogan: ~ +# console-tools: ~ +# maxima: ~ +# clisp: ~ + + updates_fedora: + class: Youri::Check::Test::Updates + options: + sources: + fedora: + order: 1 + class: Youri::Check::Test::Updates::Source::Fedora + options: + aliases: + authd: ~ + basesystem: ~ + bash: ~ + freetype: ~ + freetype2: freetype + gle: ~ + gtksourceview-sharp: ~ + modemmanager: ModemManager + netcat-openbsd: netcat + networkmanager: NetworkManager + networkmanager-applet: network-manager-applet + networkmanager-fortisslvpn: NetworkManager-fortisslvpn + networkmanager-l2tp: NetworkManager-l2tp + networkmanager-libreswan: NetworkManager-libreswan + networkmanager-openconnect: NetworkManager-openconnect + networkmanager-openvpn: NetworkManager-openvpn + networkmanager-pptp: NetworkManager-pptp + networkmanager-vpnc: NetworkManager-vpnc + ocaml-lablgtk: ~ + ocaml-lablgtk2: ocaml-lablgtk + OpenIPMI: OpenIPMI2 + sqlite: sqlite2 + updates_gnome: + class: Youri::Check::Test::Updates + options: + sources: + gnome: + order: 1 + class: Youri::Check::Test::Updates::Source::GNOME + options: + url: https://download.gnome.org/sources/ + aliases: + acme: ~ + GConf: ~ + GConf2: GConf + gcr: ~ + gcr4: gcr + gdk-pixbuf2.0: gdk-pixbuf + glib: ~ + glib2.0: glib + glibmm2.4: ~ + goocanvas2: ~ + gtkmm-documentation3.0: ~ + gtkmm: ~ + gtkmm2.4: ~ + gtkmm3.0: ~ + gtkmm4.0: gtkmm + gtksourceviewmm3.0: ~ + gtk: ~ + gtk+2.0: ~ + gtk+3.0: ~ + gtk4.0: gtk + modemmanager: ModemManager + networkmanager: NetworkManager + networkmanager-applet: network-manager-applet + networkmanager-fortisslvpn: NetworkManager-fortisslvpn + networkmanager-l2tp: NetworkManager-l2tp + networkmanager-libreswan: NetworkManager-libreswan + networkmanager-openconnect: NetworkManager-openconnect + networkmanager-openvpn: NetworkManager-openvpn + networkmanager-pptp: NetworkManager-pptp + networkmanager-vpnc: NetworkManager-vpnc + notify-sharp: ~ + notify-sharp3: notify-sharp + pango: ~ + pango2.0: pango + build: + class: Youri::Check::Test::Build + options: + sources: + iurt: + class: Youri::Check::Test::Build::Source::Iurt + options: + url: https://pkgsubmit.mageia.org/autobuild/cauldron + arches: + - x86_64 + medias: + - core + age: + class: Youri::Check::Test::Age + options: + max: <%= max_days %> days + pattern: "%d days" + +# reports definitions +reports: + file: + class: Youri::Check::Report::File + options: + to: <%= outdir %> + global: 1 + individual: 1 + formats: + html: + class: Youri::Check::Report::Format::HTML + text: + class: Youri::Check::Report::Format::Text + rss: + class: Youri::Check::Report::Format::RSS + +# media definitions +medias: + core.aarch64: + class: Youri::Media::URPM + options: + name: core + type: binary + hdlist: ${mirror_aarch64}/core/release/media_info/hdlist.cz + options: + dependencies: + allowed: + - core.aarch64 + missing: + allowed: + - core.sources + + core.armv7hl: + class: Youri::Media::URPM + options: + name: core + type: binary + hdlist: ${mirror_armv7hl}/core/release/media_info/hdlist.cz + options: + dependencies: + allowed: + - core.armv7hl + missing: + allowed: + - core.sources + + core.i686: + class: Youri::Media::URPM + options: + name: core + type: binary + hdlist: ${mirror_i686}/media_info/hdlist_core.cz + options: + dependencies: + allowed: + - core.i686 + missing: + allowed: + - core.sources + + core.x86_64: + class: Youri::Media::URPM + options: + name: core + type: binary + hdlist: ${mirror_x86_64}/media_info/hdlist_core.cz + options: + dependencies: + allowed: + - core.x86_64 + - core.i686 + missing: + allowed: + - core.sources + + + core.sources: + class: Youri::Media::URPM + options: + name: core + type: source + hdlist: ${mirror_i686}/media_info/hdlist_core.src.cz + options: + dependencies: + allowed: + - core.x86_64 + - core.i686 + + nonfree.i686: + class: Youri::Media::URPM + options: + name: nonfree + type: binary + hdlist: ${mirror_i686}/media_info/hdlist_nonfree_release.cz + options: + dependencies: + allowed: + - core.i686 + - nonfree.i686 + missing: + allowed: + - nonfree.sources + + nonfree.x86_64: + class: Youri::Media::URPM + options: + name: nonfree + type: binary + hdlist: ${mirror_x86_64}/media_info/hdlist_nonfree_release.cz + options: + dependencies: + allowed: + - core.x86_64 + - core.i686 + - nonfree.x86_64 + - nonfree.i686 + missing: + allowed: + - nonfree.sources + + + nonfree.sources: + class: Youri::Media::URPM + options: + name: nonfree + type: source + hdlist: ${mirror_i686}/media_info/hdlist_nonfree_release.src.cz + options: + dependencies: + allowed: + - core.x86_64 + - nonfree.x86_64 + - core.i686 + - nonfree.i686 + + tainted.i686: + class: Youri::Media::URPM + options: + name: nonfree + type: binary + hdlist: ${mirror_i686}/media_info/hdlist_tainted_release.cz + options: + dependencies: + allowed: + - core.i686 + - tainted.i686 + missing: + allowed: + - tainted.sources + + tainted.x86_64: + class: Youri::Media::URPM + options: + name: tainted + type: binary + hdlist: ${mirror_x86_64}/media_info/hdlist_tainted_release.cz + options: + dependencies: + allowed: + - core.x86_64 + - core.i686 + - tainted.x86_64 + - tainted.i686 + missing: + allowed: + - tainted.sources + + tainted.sources: + class: Youri::Media::URPM + options: + name: tainted + type: source + hdlist: ${mirror_i686}/media_info/hdlist_tainted_release.src.cz + options: + dependencies: + allowed: + - core.x86_64 + - tainted.x86_64 + - core.i686 + - tainted.i686 diff --git a/modules/youri_check/templates/vhost_check.conf b/modules/youri_check/templates/vhost_check.conf new file mode 100644 index 00000000..2cf598b5 --- /dev/null +++ b/modules/youri_check/templates/vhost_check.conf @@ -0,0 +1,2 @@ +Header set Access-Control-Allow-Origin "http://pkgsubmit.<%= domain %>" +Header set Access-Control-Allow-Origin "https://pkgsubmit.<%= domain %>" env=HTTPS -- cgit v1.2.1