'Add a zip to the end of the .xar containing build.yaml.
The build.yaml is already inside the .xar file, but we can\'t easily open
this on linux. To make repacking easier we add a zip to the end of the .xar
and add in the build.yaml. The repack step will then look at the build.yaml
and insert the config.yaml. We end up storing the build.yaml twice but it is
tiny, so this doesn\'t matter.
Args:
xar_file: the name of the xar file.
output_file: the name of the output ZIP archive.'

def MakeZip(self, xar_file, output_file):

    logging.info('Generating    zip    template    file    at    %s', output_file)
    with zipfile.ZipFile(output_file, mode='a') as zf:
        build_yaml = StringIO.StringIO()
        self.WriteBuildYaml(build_yaml)
        build_yaml.seek(0)
        zf.writestr('build.yaml', build_yaml.read())
