Exemplo n.º 1
0
def main(argv=None):
    argv = argv or sys.argv[1:]

    p = argparse.ArgumentParser("Egg repacker.")
    p.add_argument("egg", help="Path to the egg to repack.")
    p.add_argument("-b", "--build", dest="build_number",
                   help="Build number (default is %(default)s)",
                   default=1, type=int)
    p.add_argument("-a", dest="platform_string",
                   help="Legacy epd platform string (e.g. 'rh5-32'). "
                        "Will be guessed if not specified.")
    p.add_argument("--abi", dest="abi_tag",
                   help="PEP425 abi tag. Will be guessed if not specified."
                        "Note: the tag format will not be validated.")
    p.add_argument("-m", "--metadata-version", dest="metadata_version",
                   default=DEFAULT_METADATA_VERSION,
                   help="Metadata version to use when generating the egg "
                        "(default: %(default)s)")
    ns = p.parse_args(argv)

    if isinstance(ns.metadata_version, six.string_types):
        metadata_version = MetadataVersion.from_string(ns.metadata_version)
    else:
        metadata_version = ns.metadata_version

    abi_tag = ns.abi_tag or _UNSPECIFIED
    repack(
        ns.egg, ns.build_number, ns.platform_string, abi_tag=abi_tag,
        metadata_version=metadata_version
    )
    def test_simple_pypy(self):
        # Given
        path = PYTHON_PYPY_2_6_0_RH5_X86_64

        # When
        metadata = PythonRuntimeMetadataV1._from_path(path)

        # Then
        self.assertTrue(is_runtime_path_valid(path))
        self.assertEqual(metadata.filename, os.path.basename(path))

        self.assertEqual(
            metadata.metadata_version,
            MetadataVersion.from_string("1.0")
        )
        self.assertEqual(metadata.implementation, "pypy")
        self.assertEqual(
            metadata.version,
            RuntimeVersion.from_string("2.6.0+1")
        )
        self.assertEqual(
            metadata.language_version,
            RuntimeVersion.from_string("2.7.9")
        )
        self.assertEqual(metadata.build_revision, "")
        self.assertEqual(metadata.executable, "${prefix}/bin/pypy")
        self.assertEqual(metadata.paths, ("${prefix}/bin",))
        self.assertEqual(metadata.post_install, tuple())
        self.assertEqual(metadata.scriptsdir, "${prefix}/bin")
        self.assertEqual(metadata.site_packages, "${prefix}/site-packages")
        self.assertEqual(metadata.python_tag, "pp27")
    def test_simple(self):
        # Given
        path = JULIA_DEFAULT_0_3_11_RH5_X86_64

        # When
        metadata = JuliaRuntimeMetadataV1._from_path(path)

        # Then
        self.assertEqual(
            metadata.metadata_version,
            MetadataVersion.from_string("1.0")
        )
        self.assertEqual(metadata.filename, os.path.basename(path))
        self.assertEqual(metadata.implementation, "julia")
        self.assertEqual(
            metadata.version,
            RuntimeVersion.from_string("0.3.11+1")
        )
        self.assertEqual(
            metadata.language_version,
            RuntimeVersion.from_string("0.3.11")
        )
        self.assertEqual(metadata.build_revision, "483dbf5279")
        self.assertEqual(metadata.executable, "${prefix}/bin/julia")
        self.assertEqual(metadata.paths, ("${prefix}/bin",))
        self.assertEqual(metadata.post_install, tuple())
    def test_simple(self):
        # Given
        path = PYTHON_CPYTHON_2_7_10_RH5_X86_64

        # When
        metadata = PythonRuntimeMetadataV1._from_path(path)

        # Then
        self.assertTrue(is_runtime_path_valid(path))
        self.assertEqual(metadata.filename, os.path.basename(path))

        self.assertEqual(
            metadata.metadata_version,
            MetadataVersion.from_string("1.0")
        )
        self.assertEqual(metadata.implementation, "cpython")
        self.assertEqual(
            metadata.version,
            RuntimeVersion.from_string("2.7.10+1")
        )
        self.assertEqual(
            metadata.language_version,
            RuntimeVersion.from_string("2.7.10")
        )
        self.assertEqual(metadata.build_revision, "2.1.0-dev570")
        self.assertEqual(metadata.executable, "${prefix}/bin/python")
        self.assertEqual(metadata.paths, ("${prefix}/bin",))
        self.assertEqual(
            metadata.post_install,
            ("${executable}",
             "${prefix}/lib/python2.7/custom_tools/fix-scripts.py")
        )
        self.assertEqual(metadata.scriptsdir, "${prefix}/bin")
        self.assertEqual(
            metadata.site_packages,
            "${prefix}/lib/python2.7/site-packages"
        )
        self.assertEqual(metadata.python_tag, "cp27")