Merge pull request #202 from haus/master

Use the correct dir to cleanup. Lift incoming_dir out into a local varia...
Ship all to both arches in PE shipping
Merge pull request #203 from MosesMendoza/master

Ship all to both arches in PE shipping
Only ship debs to incoming

We used to ship everything to incoming, but with reprepro we're giving up this
practice and just putting the debs in repos. We ship source elsewhere.

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

Only ship debs to incoming
Correct target of shipping of PE debs

Currently we rsync all the debs into the incoming dir without prefixing the
dist. This commit ensures we're shipping to the dist subdirectory of incoming.

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

Correct target of shipping of PE debs
Correct reprepro database directory to be PE specific
Merge pull request #206 from MosesMendoza/master

Correct reprepro database directory to be PE specific
Don't try to chattr an empty list of files
Merge pull request #207 from MosesMendoza/RE-332/master/fix_chattr

Don't try to chattr an empty list of files
Ship known params in jenkins ship

This commit updates the jenkins ship task to write the current build parameters
(e.g., distribution_server, version(s), etc.) to the 'pkg' directory before
shipping, so that they are shipped out to our artifacts directory. This file
will later be used in our promotion workflow.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Add pe:jenkins:retrieve task

So that pe projects don't have to switch over to the 'pl:' namespace to
retrieve. It's confusing.
Merge pull request #210 from MosesMendoza/RE-322/master/ship_params

Ship known params in jenkins ship
Merge pull request #209 from MosesMendoza/RE-273/master/add_pe_retrieve_for_sanity

Add pe:jenkins:retrieve task
Allow externally specified bundle for signing environment

For the internal PE promotion workflow we have a use case for signing external
to the project. This commit updates the packaging repo to create and ship a
tarball containing the git bundle in the jenkins ship. This allows us to pull
that in later, external to the packaging repo, and use it when doing a remote
signing. We update the bundle methods to take optional parameters for name,
so that we can differentiate between the normal tarball that gets created and
the git bundle we ship.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
[RE-293] Remove conditionals - make all builds immutable
Merge pull request #213 from shrug/feature/re-293

[RE-293] Remove conditionals - make all builds immutable
Accept overrides for rpm binary and passphrase input

We may move to using a running gpg-agent for signing of rpms. In order to
facilitate this, we need to be able to specify the rpm command to use, because
we need to call a wrapper rather than rpm itself. This is a special case
though, so we want to default to sane regular rpm. A second requirement for the
gpg-agent rpm signing is that we have to be able to switch the input for the
gpg passphrase in the rpm gpg command definition, i.e. we don't want to pass
'--passphrase-fd3' if we're using the agent. This commit supplies solutions to
both of these issues by accepting environment variables for both, allowing us
to set the expected parameters on demand. It moves the actual signing into a
base sign_rpm method that accepts flags for the specific signing we want to do
instead of having to duplicate this logic. Since the sign_modern method is the
equivalent of just calling the sign_rpm method without the second argument
(which is identical to sign_modern) we just get rid of sign_modern altogehter.
Also, we currently send stdout to dev null for rpm signing, but this isn't very
useful to us. This commit removes this, so we can see more about what's
happening when sign rpms.
Rename sign_el5 to sign_legacy and remove sign_modern

The sign_el5 method really signs legacy rpms, e.g. for sles11 as well as for
el5. This commit renames it, more appropriately to sign_legacy_rpm. The
sign_modern method isn't useful anymore so we finish off removing it as well,
replacing it with sign_rpm.

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