Add a crude 'refresh' task

This commit adds a task that parses the packaging
repo url and does a git pull on it, pulling in any
changes from the specified remote.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Fix missing desc from freight rc task
Break out pe* tasks and add remote pe building

This commit pulls pe build tasks out into their own files,
even though they still rely on the base build tasks. It adds
pe remote build capabilities so devs can just run the build task
on a dev station and have the build happen remotely without having
to ssh in. The remote builds are made the 'default' and the local
builds are renamed with local_*, in anticipation of the remote
building being used more than local.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Add support for a pe branch in build_data
Make remote object clone recursive
Add auto-remote repo update on PE ship and fix path

This removes the hardcoded repo path in pe shipping,
and adds repo updating as a post-task of shipping.
It changes shipping so that pe-dev packages are always
shipped as unified assuming the default cow as the build.
Finally, this commit update pe shipping to use pe-the-
things instead of deb-the-things.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Place pe rpms under an rpm directory
Use monotonically increasing versions for pe dev building

This commit changs the version string when building a pe dev project to using
the commit number as part of version, e.g. what is suppled by the utility
method #get_dot_version. For example, given a git describe of 1.1.7-23-<hash>
this commit forms the version 1.1.7.23. This allows the version to continue to
increase as the commits increase, but it does present the difficulty that final
versions will be 'lower' than the previous build versions, but this can be
solved by tagging 'up', e.g. for builds at 1.1.7.23 just tag as 1.1.8, or by
keeping separate package repos/workflows entirely for enterprise production
and pe devs.
Add support for PE version in the extra yaml data
Add support for team-specific build-data files

This commit adds future-proofing for additional team building
of pe projects by providing the option for a team-specific
build-data extras file.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Add support for excluding files in the tarball task

Many projects specifically exclude files from the tarball.
This adds support for this in the packaging repo.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Fix the macro for %dist detection on rpm platforms.

Prior to this commit, when building an RPM on EL6, the dist tag would
still be tagged with el5.  This commits dynamically detects the dist
tag.

Dist is provided on all EL and Fedora systems except EL5.  The solution
is to query if it's EL and then see what the major version of the RPM is
that provides that file.

Fixes #50 Pull request as well.

Signed-off-by: Michael Stahnke <stahnma@puppetlabs.com>
Rename find_version to find_dist_version

this rename shoudl help prevent very avoidable namespace conflicts

Signed-off-by: Michael Stahnke <stahnma@puppetlabs.com>
Remove ENV['USER'] in rsync/ssh calls

By relying on ENV['USER'] in calling to ssh/rsync, we break anyone who has
different usernames on remote hosts. This removes the user prefixes, instead
relying on users to have an appropriately configured ssh config or identical
local and remote user names.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Dist needs to be an integer when compared to a number

Signed-off-by: Michael Stahnke <stahnma@puppetlabs.com>
Split build extras data out from fetch

This commit breaks the pl:fetch task into two tasks, one
that retrieves the extras file and the other that loads the
variables. By doing so, we can use the load extras task to
override settings in build_defaults without having to fetch
the file every time. This commit also adds support for overriding
the yum and apt repo paths, and for an extra freight conf setting.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Add the freight conf parameter

pe-the-things is updated to take a freight conf parameter
so we can use the same task for both pe dev and release.
This commit updates the call in packaging.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Only load extras variables if they're defined

Otherwise we'll blow away existing settings.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Use build extras data for getting pe version

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Update in light of split out load extras task

Since pl:fetch is now two tasks, we have to call both. This commit
updates as such.