Hashar has uploaded a new change for review.
https://gerrit.wikimedia.org/r/56382
Change subject: package-builder learned 'cowbuilder'
......................................................................
package-builder learned 'cowbuilder'
cowbuilder is a wrapper for pbuilder which save us the need to
uncompress a base image. That makes build a bit faster.
I thought about copy pasting the existing pbuilder class, but since both
commands are very similar, I have made the class more generic and
renamed it to 'builder'. Simply pass the 'type' you want and you should
be fine.
Change-Id: Ie0c9e0109b7752ec6059d67675fd1dd56c124bd3
---
M manifests/misc/package-builder.pp
1 file changed, 29 insertions(+), 9 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/82/56382/1
diff --git a/manifests/misc/package-builder.pp
b/manifests/misc/package-builder.pp
index 823e549..2f9a51b 100644
--- a/manifests/misc/package-builder.pp
+++ b/manifests/misc/package-builder.pp
@@ -33,12 +33,28 @@
}
}
- class pbuilder($dists=["hardy", "lucid", "precise"],
$defaultdist="lucid") {
+ class builder($type='pbuilder', $dists=["hardy", "lucid", "precise"],
$defaultdist="lucid") {
+ case $type {
+ cowbuilder: {
+ $base_option = '--basepath'
+ $build_cmd = 'cowbuilder'
+ $file_ext = 'cow'
+ $packages = [ 'cowbuilder' ]
+ }
+ pbuilder: {
+ $base_option = '--basetgz'
+ $build_cmd = 'cowbuilder'
+ $file_ext = 'tgz'
+ $packages = [ 'pbuilder' ]
+ }
+ default: { fail('Only builder types supported are
pbuilder and cowbuilder') }
+ }
+
class packages {
- package { "pbuilder": ensure => latest }
+ package { $packages: ensure => latest }
}
- define image{
+ define image {
require packages
$pbuilder_root = "/var/cache/pbuilder"
@@ -46,9 +62,9 @@
$othermirror = "--othermirror 'deb
http://apt.wikimedia.org/wikimedia ${title}-wikimedia main universe'
--othermirror 'deb-src http://apt.wikimedia.org/wikimedia ${title}-wikimedia
main universe'"
$components = "--components 'main universe'"
- exec { "pbuilder --create --distribution ${title}":
- command => "pbuilder --create --distribution
${title} --basetgz ${pbuilder_root}/${title}.tgz ${components} ${othermirror}",
- creates => "${pbuilder_root}/${title}.tgz",
+ exec { "$build_cmd --create --distribution ${title}":
+ command => "$build_cmd --create --distribution
${title} ${base_option} ${pbuilder_root}/${title}.${file_ext} ${components}
${othermirror}",
+ creates =>
"${pbuilder_root}/${title}.${file_ext}",
path => "/bin:/sbin:/usr/bin:/usr/sbin",
timeout => 600
}
@@ -56,11 +72,15 @@
image { $dists: }
- file { "/var/cache/pbuilder/base.tgz":
+ file { "/var/cache/pbuilder/base.${file_ext}":
require => Image[$defaultdist],
- ensure => "/var/cache/pbuilder/${defaultdist}.tgz"
+ ensure =>
"/var/cache/pbuilder/${defaultdist}.${file_ext}"
}
}
- include packages, defaults, pbuilder
+ include packages, defaults
+
+ class { 'builder': type => 'cowbuilder' }
+ class { 'builder': type => 'pbuilder' }
+
}
--
To view, visit https://gerrit.wikimedia.org/r/56382
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie0c9e0109b7752ec6059d67675fd1dd56c124bd3
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Hashar <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits