Skip to content
Snippets Groups Projects
README.md 1.62 KiB
Newer Older
Adam Lewenberg's avatar
Adam Lewenberg committed
# The su_debuild Puppet module

## Overview

The `su_debuild` Puppet classes will set up a complete Debian build
systems on your Debian server. This includes chroots to allow for the use
of `pbuilder` and gbp buildpackage`.

Adam Lewenberg's avatar
Adam Lewenberg committed
## Distributions supported

The following Debian distributions are supported:

* wheezy
* jessie
* stretch
* buster

The following Ubuntu distributions are supported:

* trusty
* xenial
* bionic


Adam Lewenberg's avatar
Adam Lewenberg committed
## Installing the necessary packages

If all you need are the packages and not the chroot environments, you do this:

    include su_debian

Note that this will allow you to run most of the Debian packaging commands
including `dpkg-buildpackage` but not any of the commands that require a
chroot.

## Installing chroot environments

To install chroot environments use the `su_debuild::chroots` class. For
example, the following will setup the necessary packages and install
chroot environments for Debian `sid`, `stretch`, `jessie`, and Ubuntu
`bionic`

    include su_debuild
    class { 'su_debuild::chroots':
      chroots => [ 'sid', 'stretch', 'jessie', 'bionic']
    }

The above also installs a daily cron job to update the chroots.

## Using sudo

In order to run `pbuilder` as a non-root user you need to add the
following line to `/etc/sudoers`:

    %root    ALL = NOPASSWD: /usr/sbin/cowbuilder

The `su_debuild` module provides a convenience class to do this,
Adam Lewenberg's avatar
Adam Lewenberg committed
[`su_debuild::sudo`](manifests/sudo.pp). Here is how you can install all
the packages, chroots, and set up sudo:

    include su_debuild
    include su_debuild::sudo
    class { 'su_debuild::chroots':
      chroots => [ 'sid', 'stretch', 'jessie', 'bionic']
    }