cleanup boolean conditionals with a helper method

This commit introduces a helper method, boolean_value
to sanitize input of boolean values from the yaml files
and ENV variables. Various tasks are updated to use it.
This commit also introduces @build_ips, a value we
can use to specify if a product supports building solaris
packages or not.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Merge pull request #31 from MosesMendoza/cleanup_booleans

cleanup boolean conditionals with a helper method
Add a task for tagging a repo
Merge pull request #32 from MosesMendoza/add_tag_task

Add a task for tagging a repo
Make gem package depend on clean
Merge pull request #33 from MosesMendoza/gem_depends_on_clean

Make gem package depend on clean
Load keychain earlier in full release tasks

This commit renames the restart_keychain method
and adds a variable to keep track of if the keychain
has been loaded. This allows us to load the keychain
earlier in the deb building tasks without clobbering
it again later.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Don't show directories, it clutters up the confirmation

Also, specify y,n on ship confirmation
Merge pull request #34 from MosesMendoza/load_keychain_earlier

Load keychain earlier in full release tasks
Merge pull request #35 from MosesMendoza/dont_show_everything_on_file_confirmation

Don't show directories, it clutters up the confirmation
Only use keychain if present
Merge pull request #36 from MosesMendoza/only_use_keychain_if_available

Only use keychain if present
Make sure to pass devel to update_cow.
Merge pull request #37 from haus/fixup_cow_Call

Make sure to pass devel to update_cow.
Make remote ssh commands show output
Add an rsync_from helper method for retrieving files

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Allow yes or no to be overridden with an envvar

Enable the boolean_value helper to assist with 'y' answers

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Add remote ship of code repo with packaging bootstrap

This commit adds a method that generates a bundle in
a temporary location with tags from the current repository
at a specified commit. It also adds a method that ships
this bundle to a temporary location to a remote host,
unpacks/clones it, and bootstraps the packaging repo.
A helper method that generates a small random string
is added for naming the bundles, to reduce risk of
collision on the remote builder host.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Add task to fetch additional build data

This commit adds an additional task that fetches
additional data from a builder_data.yaml file that
augments automation of packaging but is not really
pertinent to the mainline packaging repo. It loads
more variables, and the presence of the builder_data
file is used to conditionally present additional tasks
specific to puppet labs infrastructure.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Remove source files left behind by gem task

The gem package task leaves a directory with everything
it used to build the gem in the ./pkg directory. This
clutters up the view later when determining to ship
the files, so this commit removes it after building the
gem.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>