/[adm]/puppet/modules/buildsystem/manifests/var/youri.pp
ViewVC logotype

Diff of /puppet/modules/buildsystem/manifests/var/youri.pp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2928 by boklm, Tue Dec 11 18:33:21 2012 UTC revision 3162 by boklm, Thu May 23 15:06:43 2013 UTC
# Line 1  Line 1 
1    # The youri configuration files are created using informations from 3
2    # different hash variables :
3    # - the $youri_conf_default variable defined in this class, containing
4    #   the default configuration for youri. It contais the repository
5    #   configuration, and the definitions of the checks, actions and posts.
6    # - the $youri_conf parameter passed to this class. The values defined
7    #   in this hash override the values defined in the default configuration.
8    # - for each distribution defined in the hash variable $distros from
9    #   var::buildsystem::distros the hash defined in index 'youri' contains
10    #   some distro specific options for youri checks, actions or posts. It
11    #   also contains for each distribution the list of active checks,
12    #   actions and posts.
13    #
14    # Each of those variables contain the configuration for youri submit-todo
15    # (in index 'todo') and youri submit-upload (in index 'upload')
16    #
17    #
18    # Parameters :
19  # $tmpl_youri_upload_conf:  # $tmpl_youri_upload_conf:
20  #   template file for youri submi-upload.conf  #   template file for youri submi-upload.conf
21  # $tmpl_youri_todo_conf:  # $tmpl_youri_todo_conf:
# Line 5  Line 23 
23  # $packages_archivedir:  # $packages_archivedir:
24  #   the directory where youri will archive old packages when they are  #   the directory where youri will archive old packages when they are
25  #   replaced by a new version  #   replaced by a new version
26    # $youri_conf:
27    #   a hash containing the youri configuration
28  class buildsystem::var::youri(  class buildsystem::var::youri(
29      $tmpl_youri_upload_conf = 'buildsystem/youri/submit-upload.conf',      $tmpl_youri_upload_conf = 'buildsystem/youri/submit.conf',
30      $tmpl_youri_todo_conf = 'buildsystem/youri/submit-todo.conf',      $tmpl_youri_todo_conf = 'buildsystem/youri/submit.conf',
31      $packages_archivedir      $packages_archivedir,
32        $youri_conf = {}
33  ) {  ) {
34        include buildsystem::var::repository
35        include buildsystem::var::mgarepo
36        include buildsystem::var::distros
37        include buildsystem::var::signbot
38        include buildsystem::var::scheduler
39    
40        $check_tag = { 'class' => 'Youri::Submit::Check::Tag', }
41        $check_recency = { 'class' => 'Youri::Submit::Check::Recency', }
42        $check_queue_recency = { 'class' => 'Youri::Submit::Check::Queue_recency', }
43        $check_host = {
44            'class' => 'Youri::Submit::Check::Host',
45            'options' => {
46                'host_file' => '/etc/youri/host.conf',
47            },
48        }
49        $check_rpmlint = { 'class' => 'Youri::Submit::Check::Rpmlint', }
50        $check_acl = {
51            'class' => 'Youri::Submit::Check::ACL',
52            'options' => {
53                'acl_file' => '/etc/youri/acl.conf',
54            },
55        }
56        $check_source = { 'class' => 'Youri::Submit::Check::Source', }
57        $check_version = {
58            'class' => 'Youri::Submit::Check::Version',
59            'options' => {},
60        }
61    
62        $youri_conf_default = {
63            'upload' => {
64                'repository' => {
65                    'class' => 'Youri::Repository::Mageia',
66                    'options' => {
67                        'install_root' => $buildsystem::var::repository::bootstrap_reporoot,
68                        'upload_root' => '${home}/uploads/',
69                        'archive_root' => $packages_archivedir,
70                        'upload_state' => 'queue',
71                        'queue' => 'queue',
72                        'noarch' => 'i586',
73                        'svn' => "${buildsystem::var::mgarepo::svn_root_packages_ssh}/${buildsystem::var::distros::default_distro}",
74                    },
75                },
76                'checks' => {
77                    'tag' => $check_tag,
78                    'recency' => $check_recency,
79                    'queue_recency' => $check_queue_recency,
80                    'host' => $check_host,
81                    'section' => {
82                        'class' => 'Youri::Submit::Check::Section',
83                    },
84                    'rpmlint' => $check_rpmlint,
85                    'svn' => {
86                        'class' => 'Youri::Submit::Check::SVN',
87                    },
88                    'acl' => $check_acl,
89                    'history' => {
90                        'class' => 'Youri::Submit::Check::History',
91                    },
92                    'source' => $check_source,
93                    'precedence' => {
94                        'class' => 'Youri::Submit::Check::Precedence',
95                        'options' => {
96                            'target' => $buildsystem::var::distros::default_distro,
97                        },
98                    },
99                    'version' => $check_version,
100                },
101                'actions' => {
102                    'install' => {
103                        'class' => 'Youri::Submit::Action::Install',
104                    },
105                    'markrelease' => {
106                        'class' => 'Youri::Submit::Action::Markrelease',
107                    },
108                    'link' => {
109                        'class' => 'Youri::Submit::Action::Link',
110                    },
111                    'archive' => {
112                        'class' => 'Youri::Submit::Action::Archive',
113                    },
114                    'clean' => {
115                        'class' => 'Youri::Submit::Action::Clean',
116                    },
117                    'sign' => {
118                        'class' => 'Youri::Submit::Action::Sign',
119                        'options' => {
120                            'signuser' => $buildsystem::var::signbot::login,
121                            'path' => $buildsystem::var::signbot::sign_keydir,
122                            'name' => $buildsystem::var::signbot::keyid,
123                            'signscript' => '/usr/local/bin/sign-check-package',
124                        },
125                    },
126                    'unpack_gfxboot_theme' => {
127                        'class' => 'Youri::Submit::Action::Unpack',
128                        'options' => {
129                            'name' => 'mageia-gfxboot-theme',
130                            'source_subdir' => '/usr/share/gfxboot/themes/Mageia/install/',
131                            'dest_directory' => 'isolinux',
132                            'unpack_inside_distribution_root' => '1',
133                        },
134                    },
135                    'unpack_meta_task' => {
136                        'class' => 'Youri::Submit::Action::Unpack',
137                        'options' => {
138                            'name' => 'meta-task',
139                            'source_subdir' => '/usr/share/meta-task',
140                            'dest_directory' => 'media/media_info',
141                            'unpack_inside_distribution_root' => '1',
142                        },
143                    },
144                    'unpack_installer_images' => {
145                        'class' => 'Youri::Submit::Action::Unpack',
146                        'options' => {
147                            'name' => 'drakx-installer-images',
148                            'source_subdir' => '/usr/lib*/drakx-installer-images',
149                            'dest_directory' => '.',
150                            'preclean_directory' => 'install/images/alternatives',
151                            'unpack_inside_distribution_root' => '1',
152                        },
153                    },
154                    'unpack_installer_images_nonfree' => {
155                        'class' => 'Youri::Submit::Action::Unpack',
156                        'options' => {
157                            'name' => 'drakx-installer-images-nonfree',
158                            'source_subdir' => '/usr/lib*/drakx-installer-images',
159                            'dest_directory' => '.',
160                            'unpack_inside_distribution_root' => '1',
161                        },
162                    },
163                    'unpack_installer_stage2' => {
164                        'class' => 'Youri::Submit::Action::Unpack',
165                        'options' => {
166                            'name' => 'drakx-installer-stage2',
167                            'source_subdir' => '/usr/lib*/drakx-installer-stage2',
168                            'dest_directory' => '.',
169                            'unpack_inside_distribution_root' => '1',
170                        },
171                    },
172                    'unpack_installer_advertising' => {
173                        'class' => 'Youri::Submit::Action::Unpack',
174                        'options' => {
175                            'name' => 'drakx-installer-advertising',
176                            'source_subdir' => '/usr/share/drakx-installer-advertising',
177                            'dest_directory' => '.',
178                            'unpack_inside_distribution_root' => '1',
179                        },
180                    },
181                    'unpack_installer_rescue' => {
182                        'class' => 'Youri::Submit::Action::Unpack',
183                        'options' => {
184                            'name' => 'drakx-installer-rescue',
185                            'source_subdir' => '/usr/lib*/drakx-installer-rescue',
186                            'dest_directory' => 'install/stage2',
187                            'unpack_inside_distribution_root' => '1',
188                        },
189                    },
190                    'unpack_release_notes' => {
191                        'class' => 'Youri::Submit::Action::Unpack',
192                        'options' => {
193                            'name' => 'mageia-release-common',
194                            'source_subdir' => '/usr/share/doc/mageia-release-common',
195                            'grep_files' => 'release-notes.*',
196                            'dest_directory' => '.',
197                            'unpack_inside_distribution_root' => '1',
198                        },
199                    },
200                    'unpack_syslinux' => {
201                        'class' => 'Youri::Submit::Action::Unpack',
202                        'options' => {
203                            'name' => 'syslinux',
204                            'source_subdir' => '/usr/lib/syslinux/',
205                            'grep_files' => 'hdt.c32',
206                            'dest_directory' => 'isolinux',
207                            'unpack_inside_distribution_root' => '1',
208                        },
209                    },
210                    'mail' => {
211                        'class' => 'Youri::Submit::Action::Mail',
212                        'options' => {
213                            'mta' => '/usr/sbin/sendmail',
214                        },
215                    },
216                    'maintdb' => {
217                        'class' => 'Youri::Submit::Action::UpdateMaintDb',
218                    },
219                },
220                'posts' => {
221                    'genhdlist2' => {
222                        'class' => 'Youri::Submit::Post::Genhdlist2',
223                        'options' => {
224                            'command' => '/usr/bin/genhdlist2',
225                        },
226                    },
227                    'clean_rpmsrate' => {
228                        'class' => 'Youri::Submit::Post::CleanRpmsrate',
229                    },
230                    'mirror' => {
231                        'class' => 'Youri::Submit::Post::Mirror',
232                        'options' => {
233                            'destination' => $buildsystem::var::repository::mirror_reporoot,
234                        },
235                    },
236                },
237            },
238            'todo' => {
239                'repository' => {
240                    'class' => 'Youri::Repository::Mageia',
241                    'options' => {
242                        'install_root' => $buildsystem::var::repository::bootstrap_reporoot,
243                        'upload_root' => '${home}/uploads/',
244                        'upload_state' => 'todo done queue',
245                        'queue' => 'todo',
246                        'noarch' => 'i586',
247                        'svn' => "${buildsystem::var::mgarepo::svn_root_packages_ssh}/${buildsystem::var::distros::default_distro}",
248                    },
249                },
250                'checks' => {
251                    'tag' => $check_tag,
252                    'recency' => $check_recency,
253                    'queue_recency' => $check_queue_recency,
254                    'host' => $check_host,
255                    'rpmlint' => $check_rpmlint,
256                    'acl' => $check_acl,
257                    'source' => $check_source,
258                    'version' => $check_version,
259                    'deps' => {
260                        'class' => 'Youri::Submit::Check::Deps',
261                    },
262                },
263                'actions' => {
264                    'send' => {
265                        'class' => 'Youri::Submit::Action::Send',
266                        'options' => {
267                            'user' => $buildsystem::var::scheduler::login,
268                            'keep_svn_release' => 'yes',
269                            'uphost' => $buildsystem::var::scheduler::pkg_uphost,
270                            'root' => '${home}/uploads',
271                            'ssh_key' => '${home}/.ssh/id_rsa',
272                        },
273                    },
274                    'rpminfo' => {
275                        'class' => 'Youri::Submit::Action::Rpminfo',
276                        'options' => {
277                            'user' => $buildsystem::var::scheduler::login,
278                            'uphost' => $buildsystem::var::scheduler::pkg_uphost,
279                            'root' => '${home}/uploads',
280                            'ssh_key' => '${home}/.ssh/id_rsa',
281                        },
282                    },
283                    'ulri' => {
284                        'class' => 'Youri::Submit::Action::Ulri',
285                        'options' => {
286                            'user' => $buildsystem::var::scheduler::login,
287                            'uphost' => $buildsystem::var::scheduler::pkg_uphost,
288                            'ssh_key' => '${home}/.ssh/id_rsa',
289                        },
290                    },
291                },
292                'posts' => {
293                },
294            },
295        }
296  }  }

Legend:
Removed from v.2928  
changed lines
  Added in v.3162

  ViewVC Help
Powered by ViewVC 1.1.30