• Home
  • Raw
  • Download

Lines Matching +full:libressl +full:- +full:version

2 """Run Python tests against multiple installations of OpenSSL and LibreSSL
6 (1) downloads OpenSSL / LibreSSL tar bundle
8 (3) compiles OpenSSL / LibreSSL
9 (4) installs OpenSSL / LibreSSL into ../multissl/$LIB/$VERSION/
11 header and library files from ../multissl/$LIB/$VERSION/
23 (c) 2013-2017 Christian Heimes <christian@python.org>
71 "Run CPython tests with multiple OpenSSL and LibreSSL "
76 '--debug',
81 '--disable-ancient',
83 help="Don't test OpenSSL and LibreSSL versions without upstream support",
86 '--openssl',
91 "OpenSSL and LibreSSL versions are given."
95 '--libressl',
99 "LibreSSL versions, defaults to '{}' (ancient: '{}') if no "
100 "OpenSSL and LibreSSL versions are given."
104 '--tests',
110 '--base-directory',
112 help="Base directory for OpenSSL / LibreSSL sources and builds."
115 '--no-network',
121 '--steps',
126 "or LibreSSL. 'module' also compiles Python modules. 'tests' builds "
131 '--system',
136 '--force',
142 '--keep-sources',
167 def __init__(self, version, args): argument
168 self.version = version
172 os.path.join(args.base_directory, self.library.lower()), version
177 self.src_dir, self.src_template.format(version))
180 self.src_dir, self.build_template.format(version))
184 return "<{0.__class__.__name__} for {0.version}>".format(self)
191 and self.version == other.version
195 return hash((self.library, self.version))
199 """Short version for OpenSSL download URL"""
209 """output of 'bin/openssl version'"""
210 cmd = [self.openssl_cli, "version"]
218 '-c', 'import ssl; print(ssl.OPENSSL_VERSION)'
248 return out.strip().decode("utf-8")
257 url = url_template.format(v=self.version, s=self.short_version)
284 name = self.build_template.format(self.version)
303 "shared", "--debug",
304 "--prefix={}".format(self.install_dir)
306 # cmd.extend(["no-deprecated", "--api=1.1.0"])
315 ["make", "-j1", self.depend_target], cwd=cwd, env=env
317 self._subprocess_call(["make", f"-j{self.jobs}"], cwd=cwd, env=env)
321 ["make", "-j1", self.install_target],
344 version = self.openssl_version
345 if self.version not in version:
346 raise ValueError(version)
361 env["CPPFLAGS"] = "-I{}".format(self.include_dir)
362 env["LDFLAGS"] = "-L{}".format(self.lib_dir)
372 cmd = [sys.executable, "-c", "import _ssl; import _hashlib"]
376 version = self.pyssl_version
377 if self.version not in version:
378 raise ValueError(version)
385 '-j0'
388 cmd = [sys.executable, '-m', 'test.regrtest']
390 cmd = [sys.executable, '-m', 'test', '-j0']
392 cmd.extend(['-u', 'network', '-u', 'urlfetch'])
393 cmd.extend(['-w', '-r'])
401 "https://github.com/openssl/openssl/releases/download/openssl-{v}/openssl-{v}.tar.gz",
402 "https://www.openssl.org/source/openssl-{v}.tar.gz",
403 "https://www.openssl.org/source/old/{s}/openssl-{v}.tar.gz"
405 src_template = "openssl-{}.tar.gz"
406 build_template = "openssl-{}"
412 if self.version.startswith("3."):
416 if self.version.startswith("3."):
417 config_args += ("enable-fips",)
424 ["make", "-j1", "install_ssldirs", "install_fips"],
428 # 3.0.0-beta2 uses lib64 on 64 bit platforms
434 """Short version for OpenSSL download URL"""
435 mo = re.search(r"^(\d+)\.(\d+)\.(\d+)", self.version)
440 # OpenSSL 3.0.0 -> /old/3.0/
446 library = "LibreSSL"
448 "https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-{v}.tar.gz",
450 src_template = "libressl-{}.tar.gz"
451 build_template = "libressl-{}"
458 './configure', '--config-cache', '--quiet',
459 '--with-pydebug'
463 subprocess.check_call(['make', '--quiet'])
468 if not args.openssl and not args.libressl:
470 args.libressl = list(LIBRESSL_RECENT_VERSIONS)
473 args.libressl.extend(LIBRESSL_OLD_VERSIONS)
498 for version in args.openssl:
500 version,
506 for version in args.libressl:
508 version,
531 datetime.now() - start
533 print('Python: ', sys.version)
540 print('OpenSSL / LibreSSL versions:')
542 print(" * {0.library} {0.version}".format(build))