diff options
author | Nicolas Vigier <boklm@mageia.org> | 2013-05-23 15:05:59 +0000 |
---|---|---|
committer | Nicolas Vigier <boklm@mageia.org> | 2013-05-23 15:05:59 +0000 |
commit | 03f72e194890b250aa7462ca2b763adc9e4b06ff (patch) | |
tree | cf4fbe7bef673774b1c41a3f36d395bf3805e731 /modules/buildsystem/manifests/distros.rb | |
parent | 255c868d79be6b2725570a70c51ce9e54e9313bd (diff) | |
download | puppet-03f72e194890b250aa7462ca2b763adc9e4b06ff.tar puppet-03f72e194890b250aa7462ca2b763adc9e4b06ff.tar.gz puppet-03f72e194890b250aa7462ca2b763adc9e4b06ff.tar.bz2 puppet-03f72e194890b250aa7462ca2b763adc9e4b06ff.tar.xz puppet-03f72e194890b250aa7462ca2b763adc9e4b06ff.zip |
buildsystem: add option to base a distribution on an other
It is now possible to add the option 'based_on' to a distribution
defined in buildystem::var::distros. This is useful for distributions
like infra_1 or infra_2 which provide a new repository for an existing
distribution. When repositories from an other distribution are defined
in 'based_on', the repositories are linked with a symbolic link, and
defined in media.cfg.
Diffstat (limited to 'modules/buildsystem/manifests/distros.rb')
-rw-r--r-- | modules/buildsystem/manifests/distros.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/modules/buildsystem/manifests/distros.rb b/modules/buildsystem/manifests/distros.rb index 24b394aa..9bb30221 100644 --- a/modules/buildsystem/manifests/distros.rb +++ b/modules/buildsystem/manifests/distros.rb @@ -42,6 +42,26 @@ hostclass "buildsystem::distros" do :group => schedbot_user end } + if distro['based_on'] != nil + distro['based_on'].each{|bdistroname, medias| + file [ mediadir, bdistroname ].join('/'), + :ensure => 'directory', :owner => mirror_user, + :group => mirror_user + medias.each{|medianame, media| + mdir = [ mediadir, bdistroname, medianame ].join('/') + file mdir, :ensure => 'directory', + :owner => mirror_user, :group => mirror_user + for reponame in media + file [ mdir, reponame ].join('/'), + :ensure => 'link', + :target => [ + '../../../../..', bdistroname, arch, + 'media', medianame, reponame ].join('/'), + :owner => mirror_user, :group => mirror_user + end + } + } + end end } end |