If an extension section exists the xml data in this section
is validated against the RelaxNG schema which must be part
of the xmlcatalog for the used extension namespace. If the
data validates the method get_extension_xml_data can be used
to access the etree parse result for each of the extension
configurations
This commit includes a validation in Command.run and Command.call
in order to verify the existance of the command before running it.
It case it is not found in the specified environment it raises a
KiwiCommandNotFound Exception.
This commit adds the execution of a jing process if the validation
fails, that way the user has more information about what is
actually failing during the validation process. If jing command
is not found, it just produces an info message to warn the user
and kiwi finalizes as expected.
In python2 bytes is string which is different from the bytes
type in python3. The bytes type from the builtins generalizes
this type to be bytes always. However the redefinition of the
bytes type is marked as Smell in landscape. Thus the code
should at least inform why this is done
An instance of XMLDescription can now optionally become
constructed with a path to an image description this
instance was derived from. This is currently used for
building the kiwi boot image to tell the boot image
XML description instance from which system image instance
it was derived from