Pbuilder module for Puppet
Puppet Ruby Shell HTML
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
manifests
spec
templates
.fixtures.yml
.gitignore
.puppet-lint.rc
.sync.yml
.travis.yml
ChangeLog
Gemfile
LICENSE
README
Rakefile
TODO
metadata.json

README

= Overview

Pbuilder is a building utility for Debian systems based on sbuild.


= Dependencies

This module is only tested on puppet master and client versions 0.24.7,
so it could be that it depends on that version (or higher).


= Reference

To use this module, drop it into your modules path.


= Classes

 - pbuilder::common, included by the pbuilder definition


= Definitions

 - pbuilder

== pbuilder

=== Parameters

The pbuilder type takes the following arguments :
 - ensure: whether the pbuilder should be present
     Possible values: "present", "absent"
     Defaults to "present"
 - release: the Debian/Ubuntu release to be used
     (sarge/etch/lenny/dapper/feisty/gusty/etc.)
     Defaults to $lsbdistcodename
 - arch: the architecture of the pbuilder (i386, amd64, etc.)
     Defaults to $architecture
 - methodurl: the URL used to grab the packages from 
     (e.g. http://http.debian.net/debian)
     Defaults to "" (not functional, only useful for "ensure => absent")
 - site: a hash used to find the right apt.config directory 
     (in puppet://${server}/apt/${release}/${arch}/${site})
     Defaults to "" (not functional, only useful for "ensure => absent")
 - debbuildopts: the options to send to debuild (see `man dpkg-buildpackage`)
     Defaults to "-b"
 - bindmounts: a list of space-separated directories to bind-mount in the chroot
     Defaults to ""
 - bindir: where to put the pbuilder script
     Defaults to "/usr/local/bin"
 - chrootdir: where to put the basetgz tarball
     Defaults to "/var/chroot/pbuilder"
 - confdir: where to store the configuration for the script
     Defaults to "/etc/pbuilder"
 - cachedir: where to create the aptcache, build and result directories
     Defaults to "/var/cache/pbuilder"
 - templaterc: the pbuilderrc ERB template to use
     Defaults to "pbuilder/pbuilderrc.erb"

This module assumes the following directories:

Configuration:
 - ${confdir}/$name : root for the pbuilder conf
 - ${confdir}/$name/pbuilderrc : configuration file for the pbuilder
 - ${confdir}/$name/apt.config : apt config file (including sources.list) for the pbuilder
 - ${confdir}/$name/hooks : hooks for the pbuilder

Cache:
 - ${cachedir}/$name : root for the pbuilder cache
 - ${cachedir}/$name/aptcache : aptcache for the pbuilder
 - ${cachedir}/$name/build : build directory for the pbuilder
 - ${cachedir}/$name/result : result packages for the pbuilder

Chroot:
 - ${chrootdir}/base_$name.tgz : compressed chroot for the pbuilder



=== Examples


==== Set a pbuilder using the release and architecture of the host

pbuilder { "feisty":
   methodurl => "http://archive.ubuntu.com/ubuntu",
}


==== Destroy an old existing pbuilder

pbuilder { "dapper":
   ensure => absent
}


==== Set an am64 pbuilder for the etch release, including sources in the .changes

pbuilder { "etch-amd64":
   release      => etch,
   methodurl    => "http://ftp.debian.org/debian",
   debbuildopts => "-sa"
}



=== Important note

You have to provide a valid apt.config directory for your pbuilder.
You can use the apt class for that, and notify the private pbuilder_update Exec.


= Licence

Copyright © 2007-2009 Raphaël Pinson <raphink@gmail.com>
See the LICENSE file for the full license.