This patch fixes an issue where all builds for any given subproject were
appearing in MEAD as builds for the top-level POM. Consequently, trying
to build and tag different subprojects did not work because Brew/Koji
saw the build as redundant since the version was populated from the
parent POM.
The --local flag on a git clone creates hardlinks to the files under
.git/objects. In theory this is nice, but in practice it creates the
potential for errors in environments where hardlinking isn't a
possibility (e.g. across filesystems).
This means that adding a non-Maven generated tarball is of no use to
the release process. Set Tito to fail if Maven isn't configured to
yield a tarball via the assembly plugin.
Maven doesn't have any ability that I can find to run a build against a
specific git ref. Instead, we create a temporary checkout based on the
working directory, switch that checkout to the required ref, and then
build.
These tests began failing after a correction to another test. The
other test had been patching the error_out function without unpatching
it and thus polluted the test environment.
Also reset to a known directory at the beginning of the common tests so
that we don't start in a directory that has since been unlinked.
The Maven-generated tar file deviates from the spec in several places.
Fields are padded out with spaces instead of NUL bytes and the user and
group ID are left empty.
This patch alters the tar module to correct these issues and ensures a
consistent unchanging fingerprint for the archive by setting the mtime
on the files to the modified time of the commit.
Treat Maven options as key-value pairs and add on the necessary '-D' in
code. The maven-build command in rhpkg wants key-value format so for
that we don't have to do anything at all.
The Python 2.4 style of getting an exception object is forbidden by the
test_exceptions_3 test. Something has to give, and Tito is not being
built for RHEL 5 anymore.