NAME

Tapper::Producer::Builder - produce preconditions from external OSRC builder

SYNOPSIS

Tapper::Producer::Builder is a producer for Tapper (you probably guessed this). This means it substitutes its own precondition with number of new ones, in this case a package precondition.

use Tapper::Producer::Builder;
my $builder = Tapper::Producer::Builder->new();
$builder->produce($job, {type => 'kernel',
                         buildserver => 'hostname',
                         repository => 'linus',
                         version => 'HEAD'});

A typical precondition to trigger this producer in Tapper might look like this:

precondition_type: produce
producer: Builder
type: xen            # required
buildserver: host    # required
repository: xen-3.4  # required
version: HEAD^1      # optional, defaults to HEAD
patches:             # optional
- /path/to/first/patchfile
- /path/to/second/patchfile

FUNCTIONS

produce

Call the given build server to get a new package and return a new package precondition. The following options are recognised in the producer precondition: * type - string - one of xen, kernel (required) * buildserver - string - hostname of the build server (required) * repository - string - the name of a repository as understood by the buildserver (required) * version - string - a version string for the repository as understood by the buildserver (optional) * patches - array of string - filenames of patch files, need to be available to build server (optional)

@param Job object - the job we build a package for @param hash ref - producer precondition

@return success - hash ref containing list of new preconditions

@throws die();

AUTHOR

AMD OSRC Tapper Team <tapper@amd64.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2012 by Advanced Micro Devices, Inc..

This is free software, licensed under:

The (two-clause) FreeBSD License