From e14cedea84900b8de3e16dcb96abbd27d590085b Mon Sep 17 00:00:00 2001 From: Nicolas Vigier Date: Thu, 23 May 2013 15:05:23 +0000 Subject: buildsystem::var::distros: change $distros structure The $distros variable is hash containing settings about the distributions. It was something like this : $distro = { 'cauldron' => { 'arch' => [ 'i586', 'x86_64' ], 'medias' => { 'core' => [ 'release' ], }, 'base_medias' => [ 'core/release' ], }, } It is now something like this : $distro = { 'cauldron' => { 'arch' => [ 'i586', 'x86_64' ], 'medias' => { 'core' => { 'repos' => { 'release' => {}, }, }, }, 'base_medias' => [ 'core/release' ], }, } This should allow setting more infos about each medias / repos, that can be used in order to generate media.cfg config files. --- modules/buildsystem/manifests/create_upload_dir.rb | 4 ++-- modules/buildsystem/manifests/var/distros.pp | 24 +++++++++++++++++----- 2 files changed, 21 insertions(+), 7 deletions(-) (limited to 'modules/buildsystem/manifests') diff --git a/modules/buildsystem/manifests/create_upload_dir.rb b/modules/buildsystem/manifests/create_upload_dir.rb index f3e16a3e..c95c9b10 100644 --- a/modules/buildsystem/manifests/create_upload_dir.rb +++ b/modules/buildsystem/manifests/create_upload_dir.rb @@ -14,10 +14,10 @@ hostclass "buildsystem::create_upload_dir" do scope.lookupvar('buildsystem::var::distros::distros').each{|rel, distro| file [uploads_dir, st, rel].join('/'), :ensure => 'directory', :owner => owner, :group => group medias = distro['medias'] - medias.each{|media, repos| + medias.each{|media, m| file [uploads_dir, st, rel, media].join('/'), :ensure => 'directory', :owner => owner, :group => group - for repo in repos do + for repo in m['repos'].keys do if st == 'done' file [uploads_dir, st, rel, media, repo].join('/'), :ensure => 'directory', :owner => owner, :group => group, :mode => 0775 else diff --git a/modules/buildsystem/manifests/var/distros.pp b/modules/buildsystem/manifests/var/distros.pp index d815b18a..d06e31c9 100644 --- a/modules/buildsystem/manifests/var/distros.pp +++ b/modules/buildsystem/manifests/var/distros.pp @@ -1,11 +1,25 @@ # $distros: # a hash variable containing distributions informations indexed by # distribution name. Each distribution is itself an hash containing -# the following keys: -# - medias: an hash containing the different medias / repositories -# - base_media: a list of medias that will be used by iurt to build -# the chroots -# - arch: list of arch supported by this distro +# the following infos: +# { +# # the 'cauldron' distribution +# 'cauldron' => { +# # list of arch supported by 'cauldron' +# 'arch' => [ 'i586', 'x86_64' ], +# 'medias' => { +# # the 'core' media +# 'core' => { +# 'repos' => { +# # the 'release' repo in the 'core' media +# 'release' => {}, +# }, +# }, +# }, +# # the list of media used by iurt to build the chroots +# 'base_medias' => [ 'core/release' ], +# }, +# } class buildsystem::var::distros( $distros ) { } -- cgit v1.2.1