def _create_pax_generic_header(cls, pax_headers, type=tarfile.XHDTYPE):
    records = []
    for keyword, value in pax_headers.iteritems():

        try:
            keyword = keyword.encode("utf8")
        except Exception:
            pass

        try:
            value = value.encode("utf8")
        except Exception:
            pass

        l = len(keyword) + len(value) + 3   # ' ' + '=' + '\n'
        n = p = 0
        while True:
            n = l + len(str(p))
            if n == p:
                break
            p = n
        records.append("%d %s=%s\n" % (p, keyword, value))
    records = "".join(records)

    # We use a hardcoded "././@PaxHeader" name like star does
    # instead of the one that POSIX recommends.
    info = {}
    info["name"] = "././@PaxHeader"
    info["type"] = type
    info["size"] = len(records)
    info["magic"] = tarfile.POSIX_MAGIC

    # Create pax header + record blocks.
    return cls._create_header(info, tarfile.USTAR_FORMAT) + \
        cls._create_payload(records)
``BuildOptions`` offers as possible distributions all of the names
dataset/ETHPy150Open goldmann/docker-squash/docker_squash/lib/xtarfile.py/_create_pax_generic_header--crossover with--dataset/ETHPy150Open ClusterHQ/flocker/admin/test/test_packaging.py/BuildOptionsTests.test_possible_distributions