docs: def MakeZip(self, xar_file, output_file):
      """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.
      """
      logging.info("Generating zip template file at %s", output_file)
      with zipfile.ZipFile(output_file, mode="a") as zf:
        # Get the build yaml
        # TODO(hanuszczak): YAML, consider using `StringIO` instead.
        build_yaml = io.BytesIO()
        self.WriteBuildYaml(build_yaml)
        build_yaml.seek(0)
        zf.writestr("build.yaml", build_yaml.read())