aboutsummaryrefslogtreecommitdiffstats
path: root/modules/buildsystem/manifests
diff options
context:
space:
mode:
Diffstat (limited to 'modules/buildsystem/manifests')
-rw-r--r--modules/buildsystem/manifests/distros.rb20
-rw-r--r--modules/buildsystem/manifests/var/distros.pp8
2 files changed, 28 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
diff --git a/modules/buildsystem/manifests/var/distros.pp b/modules/buildsystem/manifests/var/distros.pp
index ddd8ffc1..ae00810a 100644
--- a/modules/buildsystem/manifests/var/distros.pp
+++ b/modules/buildsystem/manifests/var/distros.pp
@@ -44,6 +44,14 @@
# # repository. If you don't want to filter allowed IPs, don't set
# # this value
# 'repo_allow_from' => [ '127.0.0.1', '10.0.0.1', '.mageia.org' ],
+# Optionally, the distribution can be based on the repos from an other
+# distribution. In this example we're saying that the distribution is
+# based on 2/core/release and 2/core/updates.
+# 'based_on' => {
+# '2' => {
+# 'core' => [ 'release', 'updates' ],
+# },
+# },
# },
# }
class buildsystem::var::distros(