Code simplification.

There should be no functional change here, just reducing
the number of lines of code by using a common idiom.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
add kernel parameter options
fix: Make sure there are no leases left behind from when oz was building the image (causing the final image to fail in getting an address).
fix: Disable hardware machine check on FreeBSD since that fails on AMD cpu's, causing them to halt with an interrupt 9-like error.
new: Log all boot messages to the serial console so they can be captured at the hypervisor.

While sed -I should take care of in-place editting, it apparently
doesn't which is why we explicitly remove the .bak file. Else it just
complains about the regex: \1 not defined in the RE.
change: Use the 10.0-RELEASE repository.
fix: Make sure there is only 1 partition so that it's easier to resize (specifically: grow) it once an instance is booted with it.
Skip symlinks when change permissions.

As pointed out by harmw, this can cause failures
while doing installs of FreeBSD, since the links
there are absolute, which ends in permission
failure.  However, the bug is more insidious than
that, especially when running Oz as root.  In the
case where the symlinks are absolute, then Oz will
*succeed* in changing the targets of the symlinks,
which will change permissions on the host OS.  This
is obviously not what was intended.

The fix is pretty simple; skip symlinks when trying
to change permissions.  Since we are walking the
whole tree, we'll hit the target of the symlink
eventually anyway.  While we are at it, combine
two very similar looking pieces of code into a
function.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Modification to MANIFEST.in to fix rpm builds

Include oz/*.rng files in MANIFEST.in, so they are included when
executing make rpm or make srpm
Add in a "precommands" section of XML.

These are commands that get run prior to package
installation.  They have exactly the same syntax
as "commands".

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Make file locking much more correct.

That is, hold the file lock across all operations for
that file, including copying.  This should prevent two
parallel installs from trampling over each other.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Update the copyright notices to mention 2014

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Disable pylint superfluous-parens warning.

It doesn't make any sense, especially when aiming
for Python 3 compatibility.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Delay printf substitution.

As pointed out by pylint, we can just pass the arguments
to our format strings into self.log functions, instead
of doing the substitution inline.  This is more efficient
in the case where we are not going to actually do the
print, and improves our pylint score.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Add documentation to a method.

This improves our pylint score.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Fix various minor whitespace violations.

This improves our pylint score.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Remove an extraneous semicolon.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Changes some tabs to whitespace in FreeBSD.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Fix a missing variable in Mageia.

I didn't actually test this, but it definitely
did not work before.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Fix Mageia override of _do_install.

pylint pointed out that Mageia's overload of
_do_install was missing an argument.  While that
was true, the entire concept of overriding _do_install
isn't exactly what was intended.  All other users
override the install() method, and then call down
into the common _do_install in Guest.py.  Switch
Mageia to doing the same thing.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>