code: def zip_clean_metaxml(zip_src, logger=None):
      
      zip_dest = zipfile.ZipFile(io.BytesIO(), "w", zipfile.ZIP_DEFLATED)
      changed = []
      for name in zip_src.namelist():
          content = zip_src.read(name)
          if name.startswith(META_XML_CLEAN_DIRS) and name.endswith("-meta.xml"):
              try:
                  content.decode("utf-8")
              except UnicodeDecodeError:
                  # if we cannot decode the content, it may be binary;
                  # don't try and replace it.
                  pass
              else:
                  clean_content = remove_xml_element_string("packageVersions", content)
                  if clean_content != content:
                      changed.append(name)
                      content = clean_content
          zip_dest.writestr(name, content)
      if changed and logger:
          logger.info(
              "Cleaned package versions from {} meta.xml files".format(len(changed))
          )
      return zip_dest
docs: Given a zipfile, cleans all *-meta.xml files in the zip for
          deployment by stripping all <packageVersions/> elements