mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-01 03:45:06 +00:00
Delete the build scripts that were copied from manylinux project (#12358)
1. Delete the build scripts that were copied from manylinux project. Use "git checkout" instead. 2. Update manylinux version to get python 3.11. Related issue: Python 3.11 support #12343 3. Change the cuda version of linux gpu build job of nuget packaging pipeline from cuda 11.4 to cuda 11.6 to match the TRT job within the same pipeline.. (A lot other places need be updated as well, but I'd prefer to put them in another PR) 4. Make dockerfile names static. For example, replace tools/ci_build/github/linux/docker/$(DockerFile) to tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cpu . The former one relies on a runtime variable $(DockerFile), Template Parameters are expanded early in processing a pipeline run when most variables are not available. It like C++ macros vs variables.
This commit is contained in:
parent
d5a1c01b38
commit
7b4ce0c1e1
82 changed files with 1101 additions and 11238 deletions
|
|
@ -28,19 +28,8 @@
|
|||
"Type": "other",
|
||||
"other": {
|
||||
"Name": "libtool",
|
||||
"Version": "2.4.6",
|
||||
"DownloadUrl": "http://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.gz"
|
||||
},
|
||||
"comments": "manylinux dependency"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Component": {
|
||||
"Type": "other",
|
||||
"other": {
|
||||
"Name": "patchelf",
|
||||
"Version": "0.13",
|
||||
"DownloadUrl": "https://github.com/NixOS/patchelf/archive/0.13.tar.gz"
|
||||
"Version": "2.4.7",
|
||||
"DownloadUrl": "http://ftp.gnu.org/gnu/libtool/libtool-2.4.7.tar.gz"
|
||||
},
|
||||
"comments": "manylinux dependency"
|
||||
}
|
||||
|
|
@ -50,8 +39,8 @@
|
|||
"Type": "other",
|
||||
"other": {
|
||||
"Name": "libxcrypt",
|
||||
"Version": "4.4.26",
|
||||
"DownloadUrl": "https://github.com/besser82/libxcrypt/archive/v4.4.26.tar.gz"
|
||||
"Version": "4.4.28",
|
||||
"DownloadUrl": "https://github.com/besser82/libxcrypt/archive/v4.4.28.tar.gz"
|
||||
},
|
||||
"comments": "manylinux dependency"
|
||||
}
|
||||
|
|
@ -61,19 +50,8 @@
|
|||
"Type": "other",
|
||||
"other": {
|
||||
"Name": "git",
|
||||
"Version": "2.33.1",
|
||||
"DownloadUrl": "https://www.kernel.org/pub/software/scm/git/git-2.33.1.tar.gz"
|
||||
},
|
||||
"comments": "manylinux dependency"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Component": {
|
||||
"Type": "other",
|
||||
"other": {
|
||||
"Name": "swig",
|
||||
"Version": "4.0.2",
|
||||
"DownloadUrl": "https://sourceforge.net/projects/swig/files/swig/${SWIG_ROOT}/swig-4.0.2.tar.gz"
|
||||
"Version": "2.36.2",
|
||||
"DownloadUrl": "https://www.kernel.org/pub/software/scm/git/git-2.36.2.tar.gz"
|
||||
},
|
||||
"comments": "manylinux dependency"
|
||||
}
|
||||
|
|
@ -83,8 +61,8 @@
|
|||
"Type": "other",
|
||||
"other": {
|
||||
"Name": "sqlite_autoconf",
|
||||
"Version": "3360000",
|
||||
"DownloadUrl": "https://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz"
|
||||
"Version": "3390200",
|
||||
"DownloadUrl": "https://www.sqlite.org/2022/sqlite-autoconf-3390200.tar.gz"
|
||||
},
|
||||
"comments": "manylinux dependency"
|
||||
}
|
||||
|
|
@ -94,8 +72,8 @@
|
|||
"Type": "other",
|
||||
"other": {
|
||||
"Name": "openssl",
|
||||
"Version": "1.1.1l",
|
||||
"DownloadUrl": "https://www.openssl.org/source/openssl-1.1.1l.tar.gz"
|
||||
"Version": "1.1.1q",
|
||||
"DownloadUrl": "https://www.openssl.org/source/openssl-1.1.1q.tar.gz"
|
||||
},
|
||||
"comments": "manylinux dependency"
|
||||
}
|
||||
|
|
@ -125,7 +103,7 @@
|
|||
"type": "git",
|
||||
"git": {
|
||||
"commitHash": "510b8e0f9af1891588c52bef64248cb72f04c30e",
|
||||
"repositoryUrl": "https://github.com/google/XNNPACK.git"
|
||||
"repositoryUrl": "https://github.com/google/XNNPACK"
|
||||
},
|
||||
"comments": "git submodule at cmake/external/XNNPACK"
|
||||
}
|
||||
|
|
@ -224,8 +202,8 @@
|
|||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"commitHash": "db78ac1d7716f56fc9f1b030b715f872f93964e4",
|
||||
"repositoryUrl": "https://github.com/nlohmann/json"
|
||||
"commitHash": "b5364faf9d732052506cefc933d3f4e4f04513a5",
|
||||
"repositoryUrl": "https://github.com/nlohmann/json.git"
|
||||
},
|
||||
"comments": "git submodule at cmake/external/json"
|
||||
}
|
||||
|
|
@ -265,7 +243,7 @@
|
|||
"type": "git",
|
||||
"git": {
|
||||
"commitHash": "436617053d0f39a1019a371c3a9aa599b3cb2cea",
|
||||
"repositoryUrl": "https://github.com/google/nsync"
|
||||
"repositoryUrl": "https://github.com/google/nsync.git"
|
||||
},
|
||||
"comments": "git submodule at cmake/external/nsync"
|
||||
}
|
||||
|
|
@ -275,7 +253,7 @@
|
|||
"type": "git",
|
||||
"git": {
|
||||
"commitHash": "f7ee1ac60d06abe8e26c9b6bbe1e3db5286b614b",
|
||||
"repositoryUrl": "https://github.com/onnx/onnx"
|
||||
"repositoryUrl": "https://github.com/onnx/onnx.git"
|
||||
},
|
||||
"comments": "git submodule at cmake/external/onnx"
|
||||
}
|
||||
|
|
@ -304,7 +282,7 @@
|
|||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"commitHash": "f42daeee49f2517a954c5601f0f76bef9ed94b62",
|
||||
"commitHash": "87c7a70688fd98fb355b8976f41425b40e4fe52f",
|
||||
"repositoryUrl": "https://github.com/onnx/onnx-tensorrt.git"
|
||||
},
|
||||
"comments": "git submodule at cmake/external/onnx-tensorrt"
|
||||
|
|
@ -314,7 +292,7 @@
|
|||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"commitHash": "994c6181247d7b419b28889fc57d5817e2089419",
|
||||
"commitHash": "553df22c67bee5f0fe6599cff60f1afc6748c635",
|
||||
"repositoryUrl": "https://github.com/onnx/onnx.git"
|
||||
},
|
||||
"comments": "git submodule at cmake/external/onnx-tensorrt/third_party/onnx"
|
||||
|
|
@ -334,12 +312,22 @@
|
|||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"commitHash": "59a2ac2745d8a57ac94c6accced73620d59fb844",
|
||||
"commitHash": "09f082940113661256310e3f4811aa7261a9fa05",
|
||||
"repositoryUrl": "https://github.com/pybind/pybind11.git"
|
||||
},
|
||||
"comments": "git submodule at cmake/external/onnx-tensorrt/third_party/onnx/third_party/pybind11"
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
"git": {
|
||||
"commitHash": "6a00cbc4a9b8e68b71caf7f774b3f9c753ae84d5",
|
||||
"repositoryUrl": "https://github.com/wjakob/clang-cindex-python3"
|
||||
},
|
||||
"comments": "git submodule at cmake/external/onnx-tensorrt/third_party/onnx/third_party/pybind11/tools/clang"
|
||||
}
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
"type": "git",
|
||||
|
|
@ -425,7 +413,7 @@
|
|||
"type": "git",
|
||||
"git": {
|
||||
"commitHash": "e8c599bca6c56c44b6730ad93f6abbc9ecd60fc1",
|
||||
"repositoryUrl": "https://github.com/microsoft/wil"
|
||||
"repositoryUrl": "https://github.com/microsoft/wil.git"
|
||||
},
|
||||
"comments": "git submodule at cmake/external/wil"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,9 @@
|
|||
import argparse
|
||||
import os
|
||||
import shlex
|
||||
import shutil
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
from logger import get_logger
|
||||
|
||||
|
|
@ -41,6 +43,8 @@ def parse_args():
|
|||
|
||||
parser.add_argument("--docker-path", default="docker", help="Path to docker.")
|
||||
|
||||
parser.add_argument("--manylinux-src", default="manylinux", help="Path to manylinux src folder")
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
|
|
@ -66,9 +70,21 @@ def main():
|
|||
|
||||
log.info("Image: {}".format(full_image_name))
|
||||
|
||||
if "manylinux" in args.dockerfile:
|
||||
manylinux_build_scripts_folder = Path(args.manylinux_src) / "docker" / "build_scripts"
|
||||
dest = Path(args.context) / "build_scripts"
|
||||
if dest.exists():
|
||||
log.info("Deleting: {}".format(str(dest)))
|
||||
shutil.rmtree(str(dest))
|
||||
|
||||
shutil.copytree(str(manylinux_build_scripts_folder), str(dest))
|
||||
run("patch", "-p1", "-i", str((Path(args.context) / "manylinux.patch").resolve()), cwd=str(dest))
|
||||
|
||||
if use_container_registry:
|
||||
run(
|
||||
args.docker_path,
|
||||
"--log-level",
|
||||
"error",
|
||||
"buildx",
|
||||
"build",
|
||||
"--push",
|
||||
|
|
|
|||
|
|
@ -8,6 +8,14 @@ parameters:
|
|||
type: boolean
|
||||
default: false
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
jobs:
|
||||
- job: BinarySizeChecks
|
||||
timeoutInMinutes: 30
|
||||
|
|
|
|||
|
|
@ -6,6 +6,14 @@ parameters:
|
|||
type: boolean
|
||||
default: true
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
stages:
|
||||
|
||||
# build binaries for Android
|
||||
|
|
|
|||
|
|
@ -24,7 +24,12 @@ resources:
|
|||
- repository: onnxruntime-inference-examples # The name used to reference this repository in the checkout step
|
||||
type: github
|
||||
endpoint: ort-examples
|
||||
name: microsoft/onnxruntime-inference-examples
|
||||
name: microsoft/onnxruntime-inference-examples
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
jobs:
|
||||
- template: templates/c-api-cpu.yml
|
||||
|
|
@ -44,14 +49,14 @@ jobs:
|
|||
timeoutInMinutes: 120
|
||||
pool: 'Onnxruntime-Linux-GPU'
|
||||
variables:
|
||||
CUDA_VERSION: '11.4'
|
||||
CUDA_VERSION: '11.6'
|
||||
steps:
|
||||
- template: templates/set-version-number-variables-step.yml
|
||||
- template: templates/get-docker-image-steps.yml
|
||||
parameters:
|
||||
Dockerfile: tools/ci_build/github/linux/docker/inference/x64/default/cpu/Dockerfile
|
||||
Context: tools/ci_build/github/linux/docker/inference/x64/default/cpu
|
||||
DockerBuildArgs: "--build-arg BUILD_UID=$( id -u ) --build-arg BASEIMAGE=nvidia/cuda:11.4.3-cudnn8-devel-centos7"
|
||||
DockerBuildArgs: "--build-arg BUILD_UID=$( id -u ) --build-arg BASEIMAGE=nvidia/cuda:11.6.2-cudnn8-devel-centos7"
|
||||
Repository: onnxruntimecuda11centosbuild
|
||||
|
||||
- script: $(Build.SourcesDirectory)/tools/ci_build/github/linux/build_cuda_c_api_package.sh
|
||||
|
|
@ -272,9 +277,32 @@ jobs:
|
|||
condition: succeeded()
|
||||
steps:
|
||||
- checkout: self # due to checkout multiple repos, the root directory is $(Build.SourcesDirectory)/onnxruntime
|
||||
submodules: false
|
||||
- checkout: onnxruntime-inference-examples # due to checkout multiple repos, the root directory is $(Build.SourcesDirectory)/onnxruntime-inference-examples
|
||||
submodules: false
|
||||
- script: dir $(Build.SourcesDirectory)
|
||||
- checkout: manylinux # due to checkout multiple repos, the root directory is $(Build.SourcesDirectory)/manylinux
|
||||
submodules: false
|
||||
|
||||
- script: |
|
||||
set -e -x
|
||||
cd $(Build.SourcesDirectory)
|
||||
mv manylinux onnxruntime
|
||||
ls
|
||||
|
||||
- template: templates/with-container-registry-steps.yml
|
||||
parameters:
|
||||
Steps:
|
||||
- script: |
|
||||
tools/ci_build/get_docker_image.py \
|
||||
--dockerfile tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11_6_tensorrt8_4 \
|
||||
--context onnxruntime/tools/ci_build/github/linux/docker \
|
||||
--docker-build-args "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" \
|
||||
--container-registry onnxruntimebuildcache \
|
||||
--repository onnxruntimecuda116xtrt84build
|
||||
displayName: "Getonnxruntimecuda116xtrt84build image for tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11_6_tensorrt8_4"
|
||||
workingDirectory: $(Build.SourcesDirectory)/onnxruntime
|
||||
ContainerRegistry: onnxruntimebuildcache
|
||||
|
||||
- template: templates/set-version-number-variables-step.yml
|
||||
parameters:
|
||||
versionFileDirectory: '$(Build.SourcesDirectory)/onnxruntime'
|
||||
|
|
@ -317,13 +345,7 @@ jobs:
|
|||
VerifyNugetSigning: false
|
||||
workingDirectory: '$(Build.ArtifactStagingDirectory)'
|
||||
|
||||
- template: templates/get-docker-image-steps.yml
|
||||
parameters:
|
||||
ScriptName: onnxruntime/tools/ci_build/get_docker_image.py
|
||||
Dockerfile: onnxruntime/tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11_6_tensorrt8_4
|
||||
Context: onnxruntime/tools/ci_build/github/linux/docker
|
||||
DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )"
|
||||
Repository: onnxruntimecuda116xtrt84build
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: 'Test C API application for GPU package'
|
||||
inputs:
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
resources:
|
||||
repositories:
|
||||
- repository: manylinux # The name used to reference this repository in the checkout step
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
jobs:
|
||||
- job: Linux_Build
|
||||
timeoutInMinutes: 120
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
jobs:
|
||||
- job: Linux_Build
|
||||
timeoutInMinutes: 120
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
jobs:
|
||||
- job: Linux_Build
|
||||
timeoutInMinutes: 120
|
||||
|
|
|
|||
|
|
@ -21,6 +21,14 @@
|
|||
# 7. Build extended minimal ORT with NNAPI, with exceptions/RTTI/ml_ops disabled, for Android(arm64-v8a),
|
||||
# this safe-guards the extended minimal build with NNAPI EP.
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
jobs:
|
||||
- job: Linux_CPU_Minimal_Build_E2E
|
||||
timeoutInMinutes: 120
|
||||
|
|
@ -36,6 +44,13 @@ jobs:
|
|||
clean: true
|
||||
submodules: recursive
|
||||
|
||||
- template: templates/get-docker-image-steps.yml
|
||||
parameters:
|
||||
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cpu
|
||||
Context: tools/ci_build/github/linux/docker
|
||||
DockerBuildArgs: "--build-arg BUILD_UID=$( id -u )"
|
||||
Repository: onnxruntimecpubuild
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: Create test data directory
|
||||
inputs:
|
||||
|
|
@ -46,13 +61,6 @@ jobs:
|
|||
touch $(test_data_directory)/include_no_operators.config
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
|
||||
- template: templates/get-docker-image-steps.yml
|
||||
parameters:
|
||||
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cpu
|
||||
Context: tools/ci_build/github/linux/docker
|
||||
DockerBuildArgs: "--build-arg BUILD_UID=$( id -u )"
|
||||
Repository: onnxruntimecpubuild
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: 1. Build full onnxruntime and generate ORT format test files
|
||||
inputs:
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
jobs:
|
||||
- job: Linux_py_Wheels
|
||||
timeoutInMinutes: 180
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
jobs:
|
||||
- job: Linux_Build
|
||||
timeoutInMinutes: 120
|
||||
|
|
|
|||
|
|
@ -1,4 +1,13 @@
|
|||
#This file is for CUDA 10.2 and 11.4 even the filename just says 11
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: manylinux # The name used to reference this repository in the checkout step
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
jobs:
|
||||
- job: Linux_Build_CUDA10_NV6
|
||||
timeoutInMinutes: 180
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
jobs:
|
||||
- job: Linux_CI_GPU_TENSORRT_Dev
|
||||
pool: onnxruntime-tensorrt-linuxbuild
|
||||
|
|
|
|||
|
|
@ -25,13 +25,18 @@ jobs:
|
|||
variables:
|
||||
CUDA_VERSION: '11.6'
|
||||
steps:
|
||||
- template: templates/set-version-number-variables-step.yml
|
||||
- checkout: self
|
||||
clean: true
|
||||
submodules: recursive
|
||||
- template: templates/get-docker-image-steps.yml
|
||||
parameters:
|
||||
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11_6_tensorrt8_4
|
||||
Context: tools/ci_build/github/linux/docker
|
||||
DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )"
|
||||
Repository: onnxruntimecuda114xtrt82build
|
||||
- template: templates/set-version-number-variables-step.yml
|
||||
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: |
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
resources:
|
||||
repositories:
|
||||
- repository: manylinux # The name used to reference this repository in the checkout step
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
jobs:
|
||||
- job: Linux_Build
|
||||
timeoutInMinutes: 180
|
||||
|
|
|
|||
|
|
@ -9,6 +9,14 @@ parameters:
|
|||
- 'custom'
|
||||
default: 'nightly (@dev)'
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: manylinux # The name used to reference this repository in the checkout step
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
variables:
|
||||
${{ if eq(parameters.NpmPublish, 'nightly (@dev)') }}:
|
||||
NpmPackagingMode: 'dev'
|
||||
|
|
|
|||
|
|
@ -28,6 +28,14 @@ variables:
|
|||
${{ if eq(parameters.NpmPublish, 'custom') }}:
|
||||
NpmPackagingMode: '$(VersionSuffix)'
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
stages:
|
||||
- template: templates/web-ci.yml
|
||||
parameters:
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
jobs:
|
||||
- job: Linux_Build
|
||||
timeoutInMinutes: 120
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
jobs:
|
||||
- job: Linux_Build
|
||||
timeoutInMinutes: 120
|
||||
|
|
|
|||
|
|
@ -9,6 +9,14 @@ variables:
|
|||
${{ else }}:
|
||||
value: ''
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
stages:
|
||||
- stage: Python_Packaging
|
||||
|
||||
|
|
@ -19,9 +27,6 @@ stages:
|
|||
clean: all
|
||||
pool: Linux-CPU
|
||||
|
||||
variables:
|
||||
DockerFile: 'Dockerfile.manylinux2014_cpu'
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
Python37:
|
||||
|
|
@ -48,7 +53,7 @@ stages:
|
|||
|
||||
- template: templates/get-docker-image-steps.yml
|
||||
parameters:
|
||||
Dockerfile: tools/ci_build/github/linux/docker/$(DockerFile)
|
||||
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cpu
|
||||
Context: tools/ci_build/github/linux/docker
|
||||
DockerBuildArgs: >-
|
||||
--build-arg PYTHON_VERSION=$(PythonVersion)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,13 @@
|
|||
trigger: none
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
stages:
|
||||
- template: templates/py-packaging-training-cuda-stage.yml
|
||||
parameters:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,13 @@
|
|||
trigger: none
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
stages:
|
||||
- template: templates/py-packaging-training-cuda-stage.yml
|
||||
parameters:
|
||||
|
|
|
|||
|
|
@ -1,212 +1,50 @@
|
|||
trigger: none
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
stages:
|
||||
- stage: Python_Packaging
|
||||
jobs:
|
||||
- job: ROCm_build_environment
|
||||
displayName: 'Construct ROCm wheels environment'
|
||||
timeoutInMinutes: 300
|
||||
workspace:
|
||||
clean: all
|
||||
pool: AMD-GPU
|
||||
steps:
|
||||
- template: templates/ get-docker-image-steps.yml
|
||||
parameters:
|
||||
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_rocm4_3_1
|
||||
Context: tools/ci_build/github/linux/docker
|
||||
DockerBuildArgs: >-
|
||||
--build-arg TORCH_VERSION=1.11.0
|
||||
--build-arg INSTALL_DEPS_EXTRA_ARGS=-tmur
|
||||
--build-arg BUILD_UID=$(id -u)
|
||||
--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64
|
||||
--build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root
|
||||
--build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin:
|
||||
--build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64:/usr/local/lib
|
||||
Repository: onnxruntimetrainingrocmbuild-rocm4.3.1
|
||||
- template: templates/ get-docker-image-steps.yml
|
||||
parameters:
|
||||
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_rocm5_1_1
|
||||
Context: tools/ci_build/github/linux/docker
|
||||
DockerBuildArgs: >-
|
||||
--build-arg TORCH_VERSION=1.11.0
|
||||
--build-arg INSTALL_DEPS_EXTRA_ARGS=-tmur
|
||||
--build-arg BUILD_UID=$(id -u)
|
||||
--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64
|
||||
--build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root
|
||||
--build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin:
|
||||
--build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64:/usr/local/lib
|
||||
Repository: onnxruntimetrainingrocmbuild-rocm5.1.1
|
||||
- template: templates/ get-docker-image-steps.yml
|
||||
parameters:
|
||||
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_rocm5_2
|
||||
Context: tools/ci_build/github/linux/docker
|
||||
DockerBuildArgs: >-
|
||||
--build-arg TORCH_VERSION=1.11.0
|
||||
--build-arg INSTALL_DEPS_EXTRA_ARGS=-tmur
|
||||
--build-arg BUILD_UID=$(id -u)
|
||||
--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64
|
||||
--build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root
|
||||
--build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin:
|
||||
--build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64:/usr/local/lib
|
||||
Repository: onnxruntimetrainingrocmbuild-rocm5.2
|
||||
|
||||
- job: ROCM_training_wheels
|
||||
timeoutInMinutes: 180
|
||||
displayName: 'Build ROCm wheels (inside container)'
|
||||
workspace:
|
||||
clean: all
|
||||
pool: AMD-GPU
|
||||
dependsOn:
|
||||
- ROCm_build_environment
|
||||
strategy:
|
||||
matrix:
|
||||
Python37 Torch1110 Rocm431:
|
||||
PythonVersion: '3.7'
|
||||
RocmVersion: '4.3.1'
|
||||
Python38 Torch1110 Rocm431:
|
||||
PythonVersion: '3.8'
|
||||
RocmVersion: '4.3.1'
|
||||
Python39 Torch1110 Rocm431:
|
||||
PythonVersion: '3.9'
|
||||
RocmVersion: '4.3.1'
|
||||
Python37 Torch1110 Rocm511:
|
||||
PythonVersion: '3.7'
|
||||
RocmVersion: '5.1.1'
|
||||
Python38 Torch1110 Rocm511:
|
||||
PythonVersion: '3.8'
|
||||
RocmVersion: '5.1.1'
|
||||
Python39 Torch1110 Rocm511:
|
||||
PythonVersion: '3.9'
|
||||
RocmVersion: '5.1.1'
|
||||
Python37 Torch1110 Rocm52:
|
||||
PythonVersion: '3.7'
|
||||
RocmVersion: '5.2'
|
||||
Python38 Torch1110 Rocm52:
|
||||
PythonVersion: '3.8'
|
||||
RocmVersion: '5.2'
|
||||
Python39 Torch1110 Rocm52:
|
||||
PythonVersion: '3.9'
|
||||
RocmVersion: '5.2'
|
||||
steps:
|
||||
|
||||
- checkout: self
|
||||
clean: true
|
||||
submodules: recursive
|
||||
|
||||
- template: templates/ set-python-manylinux-variables-step.yml
|
||||
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: |
|
||||
docker run --rm \
|
||||
--privileged \
|
||||
--ipc=host \
|
||||
--network=host \
|
||||
--cap-add=SYS_PTRACE \
|
||||
--security-opt seccomp=unconfined \
|
||||
-e CC=/opt/rh/devtoolset-10/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-10/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" \
|
||||
--volume $(Build.SourcesDirectory):/onnxruntime_src \
|
||||
--volume $(Build.BinariesDirectory):/build \
|
||||
--workdir /onnxruntime_src \
|
||||
--entrypoint $(PythonManylinuxDir)/bin/python3 \
|
||||
-e NIGHTLY_BUILD \
|
||||
-e BUILD_BUILDNUMBER \
|
||||
--user onnxruntimedev \
|
||||
onnxruntimetrainingrocmbuild-rocm$(RocmVersion) \
|
||||
/onnxruntime_src/tools/ci_build/build.py \
|
||||
--config Release \
|
||||
--use_rocm \
|
||||
--rocm_version=$(RocmVersion) \
|
||||
--rocm_home=/opt/rocm \
|
||||
--nccl_home=/opt/rocm \
|
||||
--update \
|
||||
--parallel \
|
||||
--build_dir /build \
|
||||
--build \
|
||||
--build_wheel \
|
||||
--skip_tests \
|
||||
--enable_training \
|
||||
--cmake_extra_defines onnxruntime_BUILD_UNIT_TESTS=OFF \
|
||||
--enable_training_torch_interop
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
displayName: 'Build onnxruntime (in container)'
|
||||
|
||||
# All UTs were here are now covered in AMD CI - see orttraining-pai-ci-pipeline.yml
|
||||
# This CI is mainly responsible for packaging. The uploaded whl could be used in the downstream CIs (if any).
|
||||
# For example, docker image build (e.g., PTCA), reporting CI, etc. to further verify the whl as needed.
|
||||
# To view the UTs disabled from this CI - see https://github.com/microsoft/onnxruntime/pull/11945 for examples
|
||||
|
||||
- script: |-
|
||||
echo "Tests will run using HIP_VISIBLES_DEVICES=$HIP_VISIBLE_DEVICES"
|
||||
video_gid=$(getent group | awk '/video/ {split($0,a,":"); print(a[3])}')
|
||||
echo "Found video_gid=$video_gid; attempting to set as pipeline variable"
|
||||
echo "##vso[task.setvariable variable=video]$video_gid"
|
||||
render_gid=$(getent group | awk '/render/ {split($0,a,":"); print(a[3])}')
|
||||
echo "Found render_gid=$render_gid; attempting to set as pipeline variable"
|
||||
echo "##vso[task.setvariable variable=render]$render_gid"
|
||||
displayName: 'Find video and render gid to be mapped into container'
|
||||
|
||||
- task: CopyFiles@2
|
||||
displayName: 'Copy Python Wheel to: $(Build.ArtifactStagingDirectory)'
|
||||
inputs:
|
||||
SourceFolder: '$(Build.BinariesDirectory)'
|
||||
Contents: 'Release/dist/*.whl'
|
||||
TargetFolder: '$(Build.ArtifactStagingDirectory)'
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: 'Build Python Documentation'
|
||||
condition: and(succeeded(), ne(variables['PythonVersion'], '3.9')) # tensorflow not available on python 3.9
|
||||
inputs:
|
||||
script: |
|
||||
mkdir -p $HOME/.onnx
|
||||
docker run --rm \
|
||||
--device=/dev/kfd \
|
||||
--device=/dev/dri \
|
||||
--group-add $(video) \
|
||||
--group-add $(render) \
|
||||
--privileged \
|
||||
--ipc=host \
|
||||
--network=host \
|
||||
--cap-add=SYS_PTRACE \
|
||||
--security-opt seccomp=unconfined \
|
||||
--volume $(Build.SourcesDirectory):/onnxruntime_src \
|
||||
--volume $(Build.BinariesDirectory):/build \
|
||||
--entrypoint /bin/bash \
|
||||
-e HIP_VISIBLE_DEVICES \
|
||||
-e NIGHTLY_BUILD \
|
||||
-e BUILD_BUILDNUMBER \
|
||||
-e PythonManylinuxDir=$(PythonManylinuxdir) \
|
||||
onnxruntimetrainingrocmbuild-rocm$(RocmVersion) \
|
||||
/onnxruntime_src/tools/ci_build/github/pai/wrap_rocm_python_doc_publisher.sh
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
|
||||
- task: CopyFiles@2
|
||||
displayName: 'Copy Python Documentation to: $(Build.ArtifactStagingDirectory)'
|
||||
condition: and(succeeded(), ne(variables['PythonVersion'], '3.9')) # tensorflow not available on python 3.9
|
||||
inputs:
|
||||
SourceFolder: '$(Build.BinariesDirectory)/docs/training/html'
|
||||
Contents: '**'
|
||||
TargetFolder: '$(Build.ArtifactStagingDirectory)/training_html_doc'
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Upload Rocm wheel as build artifact'
|
||||
inputs:
|
||||
ArtifactName: onnxruntime_rocm
|
||||
|
||||
- script: |
|
||||
python3 -m pip install azure-storage-blob==2.1.0
|
||||
files=($(Build.ArtifactStagingDirectory)/Release/dist/*.whl) && \
|
||||
echo ${files[0]} && \
|
||||
python3 tools/ci_build/upload_python_package_to_azure_storage_with_python.py \
|
||||
--python_wheel_path ${files[0]} \
|
||||
--account_name onnxruntimepackages \
|
||||
--account_key $(orttrainingpackagestorageaccountkey) \
|
||||
--container_name '$web'
|
||||
condition: and(succeeded(), eq(variables['DRY_RUN'], '0'))
|
||||
displayName: 'Upload Rocm wheel to release repository'
|
||||
|
||||
- template: templates/ component-governance-component-detection-steps.yml
|
||||
parameters:
|
||||
condition: 'succeeded'
|
||||
|
||||
- template: templates/ clean-agent-build-directory-step.yml
|
||||
- template: templates/rocm.yml
|
||||
parameters:
|
||||
PythonVersion: '3.7'
|
||||
RocmVersion: '4.3.1'
|
||||
- template: templates/rocm.yml
|
||||
parameters:
|
||||
PythonVersion: '3.8'
|
||||
RocmVersion: '4.3.1'
|
||||
- template: templates/rocm.yml
|
||||
parameters:
|
||||
PythonVersion: '3.9'
|
||||
RocmVersion: '4.3.1'
|
||||
- template: templates/rocm.yml
|
||||
parameters:
|
||||
PythonVersion: '3.7'
|
||||
RocmVersion: '5.1.1'
|
||||
- template: templates/rocm.yml
|
||||
parameters:
|
||||
PythonVersion: '3.8'
|
||||
RocmVersion: '5.1.1'
|
||||
- template: templates/rocm.yml
|
||||
parameters:
|
||||
PythonVersion: '3.9'
|
||||
RocmVersion: '5.1.1'
|
||||
- template: templates/rocm.yml
|
||||
parameters:
|
||||
PythonVersion: '3.7'
|
||||
RocmVersion: '5.2'
|
||||
- template: templates/rocm.yml
|
||||
parameters:
|
||||
PythonVersion: '3.8'
|
||||
RocmVersion: '5.2'
|
||||
- template: templates/rocm.yml
|
||||
parameters:
|
||||
PythonVersion: '3.9'
|
||||
RocmVersion: '5.2'
|
||||
|
||||
|
|
|
|||
|
|
@ -41,6 +41,14 @@ parameters:
|
|||
|
||||
trigger: none
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
stages:
|
||||
- template: templates/py-packaging-selectable-stage.yml
|
||||
parameters:
|
||||
|
|
|
|||
|
|
@ -41,6 +41,14 @@ parameters:
|
|||
|
||||
trigger: none
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: manylinux
|
||||
type: Github
|
||||
endpoint: Microsoft
|
||||
name: pypa/manylinux
|
||||
ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36
|
||||
|
||||
stages:
|
||||
- template: templates/py-packaging-stage.yml
|
||||
parameters:
|
||||
|
|
|
|||
|
|
@ -64,7 +64,6 @@ jobs:
|
|||
mkdir -p $(artifacts_directory)
|
||||
workingDirectory: $(Build.BinariesDirectory)
|
||||
|
||||
- template: set-version-number-variables-step.yml
|
||||
- template: get-docker-image-steps.yml
|
||||
parameters:
|
||||
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cpu
|
||||
|
|
@ -72,6 +71,8 @@ jobs:
|
|||
DockerBuildArgs: "--build-arg BUILD_UID=$( id -u )"
|
||||
Repository: onnxruntimecpubuild
|
||||
|
||||
- template: set-version-number-variables-step.yml
|
||||
|
||||
- template: use-android-ndk.yml
|
||||
|
||||
- task: CmdLine@2
|
||||
|
|
|
|||
|
|
@ -18,6 +18,16 @@ parameters:
|
|||
default: "tools/ci_build/get_docker_image.py"
|
||||
|
||||
steps:
|
||||
- ${{ if contains(parameters.Dockerfile, 'manylinux') }}:
|
||||
- checkout: manylinux
|
||||
- script: |
|
||||
mv manylinux onnxruntime
|
||||
mv onnxruntime ..
|
||||
cd ..
|
||||
rmdir $(Build.SourcesDirectory)
|
||||
mv onnxruntime $(Build.SourcesDirectory)
|
||||
displayName: "Move Manylinux source code to ORT folder"
|
||||
|
||||
- ${{ if eq(parameters.UseImageCacheContainerRegistry, true) }}:
|
||||
- template: with-container-registry-steps.yml
|
||||
parameters:
|
||||
|
|
|
|||
|
|
@ -71,7 +71,6 @@ stages:
|
|||
TorchVersion: ${{ parameters.torch_version }}
|
||||
OpsetVersion: ${{ parameters.opset_version }}
|
||||
CudaVersion: ${{ parameters.cuda_version }}
|
||||
DockerFile: ${{ parameters.docker_file }}
|
||||
GccVersion: ${{ parameters.gcc_version }}
|
||||
UploadWheel: ${{ parameters.upload_wheel }}
|
||||
Python38:
|
||||
|
|
@ -79,7 +78,6 @@ stages:
|
|||
TorchVersion: ${{ parameters.torch_version }}
|
||||
OpsetVersion: ${{ parameters.opset_version }}
|
||||
CudaVersion: ${{ parameters.cuda_version }}
|
||||
DockerFile: ${{ parameters.docker_file }}
|
||||
GccVersion: ${{ parameters.gcc_version }}
|
||||
UploadWheel: ${{ parameters.upload_wheel }}
|
||||
Python39:
|
||||
|
|
@ -87,7 +85,6 @@ stages:
|
|||
TorchVersion: ${{ parameters.torch_version }}
|
||||
OpsetVersion: ${{ parameters.opset_version }}
|
||||
CudaVersion: ${{ parameters.cuda_version }}
|
||||
DockerFile: ${{ parameters.docker_file }}
|
||||
GccVersion: ${{ parameters.gcc_version }}
|
||||
UploadWheel: ${{ parameters.upload_wheel }}
|
||||
|
||||
|
|
@ -108,7 +105,7 @@ stages:
|
|||
|
||||
- template: get-docker-image-steps.yml
|
||||
parameters:
|
||||
Dockerfile: tools/ci_build/github/linux/docker/$(DockerFile)
|
||||
Dockerfile: tools/ci_build/github/linux/docker/${{ parameters.docker_file }}
|
||||
Context: tools/ci_build/github/linux/docker
|
||||
DockerBuildArgs: >-
|
||||
--build-arg TORCH_VERSION=$(TorchVersion)
|
||||
|
|
|
|||
149
tools/ci_build/github/azure-pipelines/templates/rocm.yml
Normal file
149
tools/ci_build/github/azure-pipelines/templates/rocm.yml
Normal file
|
|
@ -0,0 +1,149 @@
|
|||
parameters:
|
||||
- name: PythonVersion
|
||||
type: string
|
||||
|
||||
- name: RocmVersion
|
||||
type: string
|
||||
|
||||
|
||||
|
||||
jobs:
|
||||
- job: wheels_python_${{ replace(parameters.PythonVersion,'.','_') }}_rocm_${{ replace(parameters.RocmVersion,'.','_') }}
|
||||
workspace:
|
||||
clean: all
|
||||
timeoutInMinutes: 180
|
||||
pool: Ubuntu-2004-rocm-aiinfra
|
||||
variables:
|
||||
PythonVersion: ${{ parameters.PythonVersion }}
|
||||
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: true
|
||||
submodules: recursive
|
||||
|
||||
- template: set-python-manylinux-variables-step.yml
|
||||
- template: get-docker-image-steps.yml
|
||||
parameters:
|
||||
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_rocm${{ parameters.RocmVersion }}
|
||||
Context: tools/ci_build/github/linux/docker
|
||||
DockerBuildArgs: >-
|
||||
--build-arg TORCH_VERSION=1.11.0
|
||||
--build-arg INSTALL_DEPS_EXTRA_ARGS=-tmur
|
||||
--build-arg BUILD_UID=$(id -u)
|
||||
--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64
|
||||
--build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root
|
||||
--build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin:
|
||||
--build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64:/usr/local/lib
|
||||
Repository: onnxruntimetrainingrocmbuild-rocm${{ parameters.RocmVersion }}
|
||||
- task: CmdLine@2
|
||||
inputs:
|
||||
script: |
|
||||
docker run --rm \
|
||||
--privileged \
|
||||
--ipc=host \
|
||||
--network=host \
|
||||
--cap-add=SYS_PTRACE \
|
||||
--security-opt seccomp=unconfined \
|
||||
-e CC=/opt/rh/devtoolset-10/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-10/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" \
|
||||
--volume $(Build.SourcesDirectory):/onnxruntime_src \
|
||||
--volume $(Build.BinariesDirectory):/build \
|
||||
--workdir /onnxruntime_src \
|
||||
--entrypoint $(PythonManylinuxDir)/bin/python3 \
|
||||
-e NIGHTLY_BUILD \
|
||||
-e BUILD_BUILDNUMBER \
|
||||
--user onnxruntimedev \
|
||||
onnxruntimetrainingrocmbuild-rocm${{ parameters.RocmVersion }} \
|
||||
/onnxruntime_src/tools/ci_build/build.py \
|
||||
--config Release \
|
||||
--use_rocm \
|
||||
--rocm_version=${{ parameters.RocmVersion }} \
|
||||
--rocm_home=/opt/rocm \
|
||||
--nccl_home=/opt/rocm \
|
||||
--update \
|
||||
--parallel \
|
||||
--build_dir /build \
|
||||
--build \
|
||||
--build_wheel \
|
||||
--skip_tests \
|
||||
--enable_training \
|
||||
--cmake_extra_defines onnxruntime_BUILD_UNIT_TESTS=OFF \
|
||||
--enable_training_torch_interop
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
displayName: 'Build onnxruntime (in container)'
|
||||
|
||||
# All UTs were here are now covered in AMD CI - see orttraining-pai-ci-pipeline.yml
|
||||
# This CI is mainly responsible for packaging. The uploaded whl could be used in the downstream CIs (if any).
|
||||
# For example, docker image build (e.g., PTCA), reporting CI, etc. to further verify the whl as needed.
|
||||
# To view the UTs disabled from this CI - see https://github.com/microsoft/onnxruntime/pull/11945 for examples
|
||||
|
||||
- script: |-
|
||||
echo "Tests will run using HIP_VISIBLES_DEVICES=$HIP_VISIBLE_DEVICES"
|
||||
video_gid=$(getent group | awk '/video/ {split($0,a,":"); print(a[3])}')
|
||||
echo "Found video_gid=$video_gid; attempting to set as pipeline variable"
|
||||
echo "##vso[task.setvariable variable=video]$video_gid"
|
||||
render_gid=$(getent group | awk '/render/ {split($0,a,":"); print(a[3])}')
|
||||
echo "Found render_gid=$render_gid; attempting to set as pipeline variable"
|
||||
echo "##vso[task.setvariable variable=render]$render_gid"
|
||||
displayName: 'Find video and render gid to be mapped into container'
|
||||
|
||||
- task: CopyFiles@2
|
||||
displayName: 'Copy Python Wheel to: $(Build.ArtifactStagingDirectory)'
|
||||
inputs:
|
||||
SourceFolder: '$(Build.BinariesDirectory)'
|
||||
Contents: 'Release/dist/*.whl'
|
||||
TargetFolder: '$(Build.ArtifactStagingDirectory)'
|
||||
|
||||
- task: CmdLine@2
|
||||
displayName: 'Build Python Documentation'
|
||||
condition: and(succeeded(), ne(variables['PythonVersion'], '3.9')) # tensorflow not available on python 3.9
|
||||
inputs:
|
||||
script: |
|
||||
mkdir -p $HOME/.onnx
|
||||
docker run --rm \
|
||||
--device=/dev/kfd \
|
||||
--device=/dev/dri \
|
||||
--group-add $(video) \
|
||||
--group-add $(render) \
|
||||
--privileged \
|
||||
--ipc=host \
|
||||
--network=host \
|
||||
--cap-add=SYS_PTRACE \
|
||||
--security-opt seccomp=unconfined \
|
||||
--volume $(Build.SourcesDirectory):/onnxruntime_src \
|
||||
--volume $(Build.BinariesDirectory):/build \
|
||||
--entrypoint /bin/bash \
|
||||
-e HIP_VISIBLE_DEVICES \
|
||||
-e NIGHTLY_BUILD \
|
||||
-e BUILD_BUILDNUMBER \
|
||||
-e PythonManylinuxDir=$(PythonManylinuxdir) \
|
||||
onnxruntimetrainingrocmbuild-rocm${{ parameters.RocmVersion }} \
|
||||
/onnxruntime_src/tools/ci_build/github/pai/wrap_rocm_python_doc_publisher.sh
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
|
||||
- task: CopyFiles@2
|
||||
displayName: 'Copy Python Documentation to: $(Build.ArtifactStagingDirectory)'
|
||||
condition: and(succeeded(), ne(variables['PythonVersion'], '3.9')) # tensorflow not available on python 3.9
|
||||
inputs:
|
||||
SourceFolder: '$(Build.BinariesDirectory)/docs/training/html'
|
||||
Contents: '**'
|
||||
TargetFolder: '$(Build.ArtifactStagingDirectory)/training_html_doc'
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Upload Rocm wheel as build artifact'
|
||||
inputs:
|
||||
ArtifactName: onnxruntime_rocm
|
||||
|
||||
- script: |
|
||||
files=($(Build.ArtifactStagingDirectory)/Release/dist/*.whl) && \
|
||||
echo ${files[0]} && \
|
||||
python3 tools/ci_build/upload_python_package_to_azure_storage.py \
|
||||
--python_wheel_path ${files[0]} \
|
||||
--final_storage
|
||||
condition: and(succeeded(), eq(variables['DRY_RUN'], '0'))
|
||||
displayName: 'Upload Rocm wheel to release repository'
|
||||
|
||||
- template: component-governance-component-detection-steps.yml
|
||||
parameters:
|
||||
condition: 'succeeded'
|
||||
|
||||
- template: clean-agent-build-directory-step.yml
|
||||
|
|
@ -1,4 +1,164 @@
|
|||
FROM quay.io/pypa/manylinux2014_x86_64:latest
|
||||
ARG BASEIMAGE=centos:7
|
||||
ARG POLICY=manylinux2014
|
||||
ARG PLATFORM=x86_64
|
||||
ARG DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root
|
||||
ARG LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64
|
||||
ARG PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin:
|
||||
|
||||
#Build manylinux2014 docker image begin
|
||||
FROM $BASEIMAGE AS runtime_base
|
||||
ARG POLICY
|
||||
ARG PLATFORM
|
||||
ARG DEVTOOLSET_ROOTPATH
|
||||
ARG LD_LIBRARY_PATH_ARG
|
||||
ARG PREPEND_PATH
|
||||
LABEL maintainer="The ManyLinux project"
|
||||
|
||||
ENV AUDITWHEEL_POLICY=${POLICY} AUDITWHEEL_ARCH=${PLATFORM} AUDITWHEEL_PLAT=${POLICY}_${PLATFORM}
|
||||
ENV LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8
|
||||
ENV DEVTOOLSET_ROOTPATH=${DEVTOOLSET_ROOTPATH}
|
||||
ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH_ARG}
|
||||
ENV PATH=${PREPEND_PATH}${PATH}
|
||||
ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
|
||||
|
||||
# first copy the fixup mirrors script, keep the script around
|
||||
COPY build_scripts/fixup-mirrors.sh /usr/local/sbin/fixup-mirrors
|
||||
|
||||
# setup entrypoint, this will wrap commands with `linux32` with i686 images
|
||||
COPY build_scripts/install-entrypoint.sh \
|
||||
build_scripts/update-system-packages.sh \
|
||||
build_scripts/build_utils.sh \
|
||||
/build_scripts/
|
||||
|
||||
RUN /build_scripts/install-entrypoint.sh && rm -rf /build_scripts
|
||||
COPY manylinux-entrypoint /usr/local/bin/manylinux-entrypoint
|
||||
ENTRYPOINT ["manylinux-entrypoint"]
|
||||
|
||||
COPY build_scripts/install-runtime-packages.sh \
|
||||
build_scripts/update-system-packages.sh \
|
||||
build_scripts/build_utils.sh \
|
||||
/build_scripts/
|
||||
RUN manylinux-entrypoint /build_scripts/install-runtime-packages.sh && rm -rf /build_scripts/
|
||||
|
||||
COPY build_scripts/build_utils.sh /build_scripts/
|
||||
|
||||
COPY build_scripts/install-autoconf.sh /build_scripts/
|
||||
RUN export AUTOCONF_ROOT=autoconf-2.71 && \
|
||||
export AUTOCONF_HASH=431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c && \
|
||||
export AUTOCONF_DOWNLOAD_URL=http://ftp.gnu.org/gnu/autoconf && \
|
||||
manylinux-entrypoint /build_scripts/install-autoconf.sh
|
||||
|
||||
COPY build_scripts/install-automake.sh /build_scripts/
|
||||
RUN export AUTOMAKE_ROOT=automake-1.16.5 && \
|
||||
export AUTOMAKE_HASH=07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605 && \
|
||||
export AUTOMAKE_DOWNLOAD_URL=http://ftp.gnu.org/gnu/automake && \
|
||||
manylinux-entrypoint /build_scripts/install-automake.sh
|
||||
|
||||
COPY build_scripts/install-libtool.sh /build_scripts/
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.7 && \
|
||||
export LIBTOOL_HASH=04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8 && \
|
||||
export LIBTOOL_DOWNLOAD_URL=http://ftp.gnu.org/gnu/libtool && \
|
||||
manylinux-entrypoint /build_scripts/install-libtool.sh
|
||||
|
||||
COPY build_scripts/install-libxcrypt.sh /build_scripts/
|
||||
RUN export LIBXCRYPT_VERSION=4.4.28 && \
|
||||
export LIBXCRYPT_HASH=db7e37901969cb1d1e8020cb73a991ef81e48e31ea5b76a101862c806426b457 && \
|
||||
export LIBXCRYPT_DOWNLOAD_URL=https://github.com/besser82/libxcrypt/archive && \
|
||||
export PERL_ROOT=perl-5.34.0 && \
|
||||
export PERL_HASH=551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a && \
|
||||
export PERL_DOWNLOAD_URL=https://www.cpan.org/src/5.0 && \
|
||||
manylinux-entrypoint /build_scripts/install-libxcrypt.sh
|
||||
|
||||
FROM runtime_base AS build_base
|
||||
COPY build_scripts/install-build-packages.sh /build_scripts/
|
||||
RUN manylinux-entrypoint /build_scripts/install-build-packages.sh
|
||||
|
||||
|
||||
FROM build_base AS build_git
|
||||
COPY build_scripts/build-git.sh /build_scripts/
|
||||
RUN export GIT_ROOT=git-2.36.2 && \
|
||||
export GIT_HASH=6dc2cdea5fb23d823ba4871cc23222c1db31dfbb6d6c6ff74c4128700df57c68 && \
|
||||
export GIT_DOWNLOAD_URL=https://www.kernel.org/pub/software/scm/git && \
|
||||
manylinux-entrypoint /build_scripts/build-git.sh
|
||||
|
||||
|
||||
FROM build_base AS build_cpython
|
||||
COPY build_scripts/build-sqlite3.sh /build_scripts/
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3390200 && \
|
||||
export SQLITE_AUTOCONF_HASH=852be8a6183a17ba47cee0bbff7400b7aa5affd283bf3beefc34fcd088a239de && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2022 && \
|
||||
manylinux-entrypoint /build_scripts/build-sqlite3.sh
|
||||
|
||||
COPY build_scripts/build-openssl.sh /build_scripts/
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1q && \
|
||||
export OPENSSL_HASH=d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca && \
|
||||
export OPENSSL_DOWNLOAD_URL=https://www.openssl.org/source && \
|
||||
manylinux-entrypoint /build_scripts/build-openssl.sh
|
||||
|
||||
COPY build_scripts/build-cpython.sh /build_scripts/
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython37
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython38
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython39
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython310
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.5
|
||||
|
||||
FROM build_cpython AS build_cpython311
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.11.0b5
|
||||
|
||||
FROM build_cpython AS all_python
|
||||
COPY build_scripts/install-pypy.sh \
|
||||
build_scripts/pypy.sha256 \
|
||||
build_scripts/finalize-python.sh \
|
||||
/build_scripts/
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.9 7.3.9
|
||||
COPY --from=build_cpython37 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython38 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython39 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython310 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython311 /opt/_internal /opt/_internal/
|
||||
RUN manylinux-entrypoint /build_scripts/finalize-python.sh
|
||||
|
||||
|
||||
FROM runtime_base
|
||||
COPY --from=build_git /manylinux-rootfs /
|
||||
COPY --from=build_cpython /manylinux-rootfs /
|
||||
COPY --from=all_python /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/finalize.sh \
|
||||
build_scripts/update-system-packages.sh \
|
||||
build_scripts/python-tag-abi-tag.py \
|
||||
build_scripts/requirements3.7.txt \
|
||||
build_scripts/requirements3.8.txt \
|
||||
build_scripts/requirements3.9.txt \
|
||||
build_scripts/requirements3.10.txt \
|
||||
build_scripts/requirements3.11.txt \
|
||||
build_scripts/requirements-base-tools.txt \
|
||||
/build_scripts/
|
||||
COPY build_scripts/requirements-tools/* /build_scripts/requirements-tools/
|
||||
RUN manylinux-entrypoint /build_scripts/finalize.sh && rm -rf /build_scripts
|
||||
|
||||
ENV SSL_CERT_FILE=/opt/_internal/certs.pem
|
||||
|
||||
CMD ["/bin/bash"]
|
||||
|
||||
#Build manylinux2014 docker image end
|
||||
|
||||
ENV PATH /usr/local/gradle/bin:/opt/rh/devtoolset-10/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
|
||||
|
|
|
|||
|
|
@ -60,20 +60,14 @@ RUN export AUTOMAKE_ROOT=automake-1.16.5 && \
|
|||
manylinux-entrypoint /build_scripts/install-automake.sh
|
||||
|
||||
COPY build_scripts/install-libtool.sh /build_scripts/
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.6 && \
|
||||
export LIBTOOL_HASH=e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3 && \
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.7 && \
|
||||
export LIBTOOL_HASH=04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8 && \
|
||||
export LIBTOOL_DOWNLOAD_URL=http://ftp.gnu.org/gnu/libtool && \
|
||||
manylinux-entrypoint /build_scripts/install-libtool.sh
|
||||
|
||||
COPY build_scripts/install-patchelf.sh /build_scripts/
|
||||
RUN export PATCHELF_VERSION=0.13 && \
|
||||
export PATCHELF_HASH=60c6aeadb673de9cc1838b630c81f61e31c501de324ef7f1e8094a2431197d09 && \
|
||||
export PATCHELF_DOWNLOAD_URL=https://github.com/NixOS/patchelf/archive && \
|
||||
manylinux-entrypoint /build_scripts/install-patchelf.sh
|
||||
|
||||
COPY build_scripts/install-libxcrypt.sh /build_scripts/
|
||||
RUN export LIBXCRYPT_VERSION=4.4.26 && \
|
||||
export LIBXCRYPT_HASH=e8a544dd19171c1e6191a6044c96cc31496d781ba08b5a00f53310d001d58114 && \
|
||||
RUN export LIBXCRYPT_VERSION=4.4.28 && \
|
||||
export LIBXCRYPT_HASH=db7e37901969cb1d1e8020cb73a991ef81e48e31ea5b76a101862c806426b457 && \
|
||||
export LIBXCRYPT_DOWNLOAD_URL=https://github.com/besser82/libxcrypt/archive && \
|
||||
export PERL_ROOT=perl-5.34.0 && \
|
||||
export PERL_HASH=551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a && \
|
||||
|
|
@ -87,90 +81,79 @@ RUN manylinux-entrypoint /build_scripts/install-build-packages.sh
|
|||
|
||||
FROM build_base AS build_git
|
||||
COPY build_scripts/build-git.sh /build_scripts/
|
||||
RUN export GIT_ROOT=git-2.33.1 && \
|
||||
export GIT_HASH=02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d && \
|
||||
RUN export GIT_ROOT=git-2.36.2 && \
|
||||
export GIT_HASH=6dc2cdea5fb23d823ba4871cc23222c1db31dfbb6d6c6ff74c4128700df57c68 && \
|
||||
export GIT_DOWNLOAD_URL=https://www.kernel.org/pub/software/scm/git && \
|
||||
manylinux-entrypoint /build_scripts/build-git.sh
|
||||
|
||||
|
||||
FROM build_base AS build_swig
|
||||
COPY build_scripts/build-swig.sh /build_scripts/
|
||||
RUN export SWIG_ROOT=swig-4.0.2 && \
|
||||
export SWIG_HASH=d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc && \
|
||||
export SWIG_DOWNLOAD_URL=https://sourceforge.net/projects/swig/files/swig/${SWIG_ROOT} && \
|
||||
export PCRE_ROOT=pcre-8.45 && \
|
||||
export PCRE_HASH=4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09 && \
|
||||
export PCRE_DOWNLOAD_URL=https://sourceforge.net/projects/pcre/files/pcre/8.45 && \
|
||||
manylinux-entrypoint /build_scripts/build-swig.sh
|
||||
|
||||
|
||||
FROM build_base AS build_cpython
|
||||
COPY build_scripts/build-sqlite3.sh /build_scripts/
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3360000 && \
|
||||
export SQLITE_AUTOCONF_HASH=bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3 && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2021 && \
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3390200 && \
|
||||
export SQLITE_AUTOCONF_HASH=852be8a6183a17ba47cee0bbff7400b7aa5affd283bf3beefc34fcd088a239de && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2022 && \
|
||||
manylinux-entrypoint /build_scripts/build-sqlite3.sh
|
||||
|
||||
COPY build_scripts/build-openssl.sh /build_scripts/
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1l && \
|
||||
export OPENSSL_HASH=0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 && \
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1q && \
|
||||
export OPENSSL_HASH=d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca && \
|
||||
export OPENSSL_DOWNLOAD_URL=https://www.openssl.org/source && \
|
||||
manylinux-entrypoint /build_scripts/build-openssl.sh
|
||||
|
||||
COPY build_scripts/build-cpython.sh /build_scripts/
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython36
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.6.15
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython37
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython38
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython39
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.8
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython310
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.0
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.5
|
||||
|
||||
FROM build_cpython AS build_cpython311
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.11.0b5
|
||||
|
||||
FROM build_cpython AS all_python
|
||||
COPY build_scripts/install-pypy.sh /build_scripts/install-pypy.sh
|
||||
COPY build_scripts/pypy.sha256 /build_scripts/pypy.sha256
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.7
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.7
|
||||
COPY --from=build_cpython36 /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/install-pypy.sh \
|
||||
build_scripts/pypy.sha256 \
|
||||
build_scripts/finalize-python.sh \
|
||||
/build_scripts/
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.9 7.3.9
|
||||
COPY --from=build_cpython37 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython38 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython39 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython310 /opt/_internal /opt/_internal/
|
||||
RUN hardlink -cv /opt/_internal
|
||||
COPY --from=build_cpython311 /opt/_internal /opt/_internal/
|
||||
RUN manylinux-entrypoint /build_scripts/finalize-python.sh
|
||||
|
||||
|
||||
FROM runtime_base
|
||||
COPY --from=build_git /manylinux-rootfs /
|
||||
COPY --from=build_swig /manylinux-rootfs /
|
||||
COPY --from=build_cpython /manylinux-rootfs /
|
||||
COPY --from=all_python /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/finalize.sh \
|
||||
build_scripts/update-system-packages.sh \
|
||||
build_scripts/python-tag-abi-tag.py \
|
||||
build_scripts/requirements3.6.txt \
|
||||
build_scripts/requirements3.7.txt \
|
||||
build_scripts/requirements3.8.txt \
|
||||
build_scripts/requirements3.9.txt \
|
||||
build_scripts/requirements3.10.txt \
|
||||
build_scripts/requirements3.11.txt \
|
||||
build_scripts/requirements-base-tools.txt \
|
||||
/build_scripts/
|
||||
COPY build_scripts/requirements-tools/* /build_scripts/requirements-tools/
|
||||
|
|
|
|||
|
|
@ -60,20 +60,14 @@ RUN export AUTOMAKE_ROOT=automake-1.16.5 && \
|
|||
manylinux-entrypoint /build_scripts/install-automake.sh
|
||||
|
||||
COPY build_scripts/install-libtool.sh /build_scripts/
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.6 && \
|
||||
export LIBTOOL_HASH=e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3 && \
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.7 && \
|
||||
export LIBTOOL_HASH=04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8 && \
|
||||
export LIBTOOL_DOWNLOAD_URL=http://ftp.gnu.org/gnu/libtool && \
|
||||
manylinux-entrypoint /build_scripts/install-libtool.sh
|
||||
|
||||
COPY build_scripts/install-patchelf.sh /build_scripts/
|
||||
RUN export PATCHELF_VERSION=0.13 && \
|
||||
export PATCHELF_HASH=60c6aeadb673de9cc1838b630c81f61e31c501de324ef7f1e8094a2431197d09 && \
|
||||
export PATCHELF_DOWNLOAD_URL=https://github.com/NixOS/patchelf/archive && \
|
||||
manylinux-entrypoint /build_scripts/install-patchelf.sh
|
||||
|
||||
COPY build_scripts/install-libxcrypt.sh /build_scripts/
|
||||
RUN export LIBXCRYPT_VERSION=4.4.26 && \
|
||||
export LIBXCRYPT_HASH=e8a544dd19171c1e6191a6044c96cc31496d781ba08b5a00f53310d001d58114 && \
|
||||
RUN export LIBXCRYPT_VERSION=4.4.28 && \
|
||||
export LIBXCRYPT_HASH=db7e37901969cb1d1e8020cb73a991ef81e48e31ea5b76a101862c806426b457 && \
|
||||
export LIBXCRYPT_DOWNLOAD_URL=https://github.com/besser82/libxcrypt/archive && \
|
||||
export PERL_ROOT=perl-5.34.0 && \
|
||||
export PERL_HASH=551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a && \
|
||||
|
|
@ -87,90 +81,78 @@ RUN manylinux-entrypoint /build_scripts/install-build-packages.sh
|
|||
|
||||
FROM build_base AS build_git
|
||||
COPY build_scripts/build-git.sh /build_scripts/
|
||||
RUN export GIT_ROOT=git-2.33.1 && \
|
||||
export GIT_HASH=02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d && \
|
||||
RUN export GIT_ROOT=git-2.36.2 && \
|
||||
export GIT_HASH=6dc2cdea5fb23d823ba4871cc23222c1db31dfbb6d6c6ff74c4128700df57c68 && \
|
||||
export GIT_DOWNLOAD_URL=https://www.kernel.org/pub/software/scm/git && \
|
||||
manylinux-entrypoint /build_scripts/build-git.sh
|
||||
|
||||
|
||||
FROM build_base AS build_swig
|
||||
COPY build_scripts/build-swig.sh /build_scripts/
|
||||
RUN export SWIG_ROOT=swig-4.0.2 && \
|
||||
export SWIG_HASH=d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc && \
|
||||
export SWIG_DOWNLOAD_URL=https://sourceforge.net/projects/swig/files/swig/${SWIG_ROOT} && \
|
||||
export PCRE_ROOT=pcre-8.45 && \
|
||||
export PCRE_HASH=4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09 && \
|
||||
export PCRE_DOWNLOAD_URL=https://sourceforge.net/projects/pcre/files/pcre/8.45 && \
|
||||
manylinux-entrypoint /build_scripts/build-swig.sh
|
||||
|
||||
|
||||
FROM build_base AS build_cpython
|
||||
COPY build_scripts/build-sqlite3.sh /build_scripts/
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3360000 && \
|
||||
export SQLITE_AUTOCONF_HASH=bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3 && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2021 && \
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3390200 && \
|
||||
export SQLITE_AUTOCONF_HASH=852be8a6183a17ba47cee0bbff7400b7aa5affd283bf3beefc34fcd088a239de && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2022 && \
|
||||
manylinux-entrypoint /build_scripts/build-sqlite3.sh
|
||||
|
||||
COPY build_scripts/build-openssl.sh /build_scripts/
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1l && \
|
||||
export OPENSSL_HASH=0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 && \
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1q && \
|
||||
export OPENSSL_HASH=d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca && \
|
||||
export OPENSSL_DOWNLOAD_URL=https://www.openssl.org/source && \
|
||||
manylinux-entrypoint /build_scripts/build-openssl.sh
|
||||
|
||||
COPY build_scripts/build-cpython.sh /build_scripts/
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython36
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.6.15
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython37
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython38
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython39
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.8
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython310
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.0
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.5
|
||||
|
||||
FROM build_cpython AS build_cpython311
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.11.0b5
|
||||
|
||||
FROM build_cpython AS all_python
|
||||
COPY build_scripts/install-pypy.sh /build_scripts/install-pypy.sh
|
||||
COPY build_scripts/pypy.sha256 /build_scripts/pypy.sha256
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.7
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.7
|
||||
COPY --from=build_cpython36 /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/install-pypy.sh \
|
||||
build_scripts/pypy.sha256 \
|
||||
build_scripts/finalize-python.sh \
|
||||
/build_scripts/
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.9 7.3.9
|
||||
COPY --from=build_cpython37 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython38 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython39 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython310 /opt/_internal /opt/_internal/
|
||||
RUN hardlink -cv /opt/_internal
|
||||
COPY --from=build_cpython311 /opt/_internal /opt/_internal/
|
||||
RUN manylinux-entrypoint /build_scripts/finalize-python.sh
|
||||
|
||||
|
||||
FROM runtime_base
|
||||
COPY --from=build_git /manylinux-rootfs /
|
||||
COPY --from=build_swig /manylinux-rootfs /
|
||||
COPY --from=build_cpython /manylinux-rootfs /
|
||||
COPY --from=all_python /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/finalize.sh \
|
||||
build_scripts/update-system-packages.sh \
|
||||
build_scripts/python-tag-abi-tag.py \
|
||||
build_scripts/requirements3.6.txt \
|
||||
build_scripts/requirements3.7.txt \
|
||||
build_scripts/requirements3.8.txt \
|
||||
build_scripts/requirements3.9.txt \
|
||||
build_scripts/requirements3.10.txt \
|
||||
build_scripts/requirements3.11.txt \
|
||||
build_scripts/requirements-base-tools.txt \
|
||||
/build_scripts/
|
||||
COPY build_scripts/requirements-tools/* /build_scripts/requirements-tools/
|
||||
|
|
|
|||
|
|
@ -60,20 +60,14 @@ RUN export AUTOMAKE_ROOT=automake-1.16.5 && \
|
|||
manylinux-entrypoint /build_scripts/install-automake.sh
|
||||
|
||||
COPY build_scripts/install-libtool.sh /build_scripts/
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.6 && \
|
||||
export LIBTOOL_HASH=e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3 && \
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.7 && \
|
||||
export LIBTOOL_HASH=04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8 && \
|
||||
export LIBTOOL_DOWNLOAD_URL=http://ftp.gnu.org/gnu/libtool && \
|
||||
manylinux-entrypoint /build_scripts/install-libtool.sh
|
||||
|
||||
COPY build_scripts/install-patchelf.sh /build_scripts/
|
||||
RUN export PATCHELF_VERSION=0.13 && \
|
||||
export PATCHELF_HASH=60c6aeadb673de9cc1838b630c81f61e31c501de324ef7f1e8094a2431197d09 && \
|
||||
export PATCHELF_DOWNLOAD_URL=https://github.com/NixOS/patchelf/archive && \
|
||||
manylinux-entrypoint /build_scripts/install-patchelf.sh
|
||||
|
||||
COPY build_scripts/install-libxcrypt.sh /build_scripts/
|
||||
RUN export LIBXCRYPT_VERSION=4.4.26 && \
|
||||
export LIBXCRYPT_HASH=e8a544dd19171c1e6191a6044c96cc31496d781ba08b5a00f53310d001d58114 && \
|
||||
RUN export LIBXCRYPT_VERSION=4.4.28 && \
|
||||
export LIBXCRYPT_HASH=db7e37901969cb1d1e8020cb73a991ef81e48e31ea5b76a101862c806426b457 && \
|
||||
export LIBXCRYPT_DOWNLOAD_URL=https://github.com/besser82/libxcrypt/archive && \
|
||||
export PERL_ROOT=perl-5.34.0 && \
|
||||
export PERL_HASH=551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a && \
|
||||
|
|
@ -87,90 +81,79 @@ RUN manylinux-entrypoint /build_scripts/install-build-packages.sh
|
|||
|
||||
FROM build_base AS build_git
|
||||
COPY build_scripts/build-git.sh /build_scripts/
|
||||
RUN export GIT_ROOT=git-2.33.1 && \
|
||||
export GIT_HASH=02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d && \
|
||||
RUN export GIT_ROOT=git-2.36.2 && \
|
||||
export GIT_HASH=6dc2cdea5fb23d823ba4871cc23222c1db31dfbb6d6c6ff74c4128700df57c68 && \
|
||||
export GIT_DOWNLOAD_URL=https://www.kernel.org/pub/software/scm/git && \
|
||||
manylinux-entrypoint /build_scripts/build-git.sh
|
||||
|
||||
|
||||
FROM build_base AS build_swig
|
||||
COPY build_scripts/build-swig.sh /build_scripts/
|
||||
RUN export SWIG_ROOT=swig-4.0.2 && \
|
||||
export SWIG_HASH=d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc && \
|
||||
export SWIG_DOWNLOAD_URL=https://sourceforge.net/projects/swig/files/swig/${SWIG_ROOT} && \
|
||||
export PCRE_ROOT=pcre-8.45 && \
|
||||
export PCRE_HASH=4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09 && \
|
||||
export PCRE_DOWNLOAD_URL=https://sourceforge.net/projects/pcre/files/pcre/8.45 && \
|
||||
manylinux-entrypoint /build_scripts/build-swig.sh
|
||||
|
||||
|
||||
FROM build_base AS build_cpython
|
||||
COPY build_scripts/build-sqlite3.sh /build_scripts/
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3360000 && \
|
||||
export SQLITE_AUTOCONF_HASH=bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3 && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2021 && \
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3390200 && \
|
||||
export SQLITE_AUTOCONF_HASH=852be8a6183a17ba47cee0bbff7400b7aa5affd283bf3beefc34fcd088a239de && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2022 && \
|
||||
manylinux-entrypoint /build_scripts/build-sqlite3.sh
|
||||
|
||||
COPY build_scripts/build-openssl.sh /build_scripts/
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1l && \
|
||||
export OPENSSL_HASH=0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 && \
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1q && \
|
||||
export OPENSSL_HASH=d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca && \
|
||||
export OPENSSL_DOWNLOAD_URL=https://www.openssl.org/source && \
|
||||
manylinux-entrypoint /build_scripts/build-openssl.sh
|
||||
|
||||
COPY build_scripts/build-cpython.sh /build_scripts/
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython36
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.6.15
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython37
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython38
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython39
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.8
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython310
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.0
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.5
|
||||
|
||||
FROM build_cpython AS build_cpython311
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.11.0b5
|
||||
|
||||
FROM build_cpython AS all_python
|
||||
COPY build_scripts/install-pypy.sh /build_scripts/install-pypy.sh
|
||||
COPY build_scripts/pypy.sha256 /build_scripts/pypy.sha256
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.7
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.7
|
||||
COPY --from=build_cpython36 /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/install-pypy.sh \
|
||||
build_scripts/pypy.sha256 \
|
||||
build_scripts/finalize-python.sh \
|
||||
/build_scripts/
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.9 7.3.9
|
||||
COPY --from=build_cpython37 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython38 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython39 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython310 /opt/_internal /opt/_internal/
|
||||
RUN hardlink -cv /opt/_internal
|
||||
COPY --from=build_cpython311 /opt/_internal /opt/_internal/
|
||||
RUN manylinux-entrypoint /build_scripts/finalize-python.sh
|
||||
|
||||
|
||||
FROM runtime_base
|
||||
COPY --from=build_git /manylinux-rootfs /
|
||||
COPY --from=build_swig /manylinux-rootfs /
|
||||
COPY --from=build_cpython /manylinux-rootfs /
|
||||
COPY --from=all_python /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/finalize.sh \
|
||||
build_scripts/update-system-packages.sh \
|
||||
build_scripts/python-tag-abi-tag.py \
|
||||
build_scripts/requirements3.6.txt \
|
||||
build_scripts/requirements3.7.txt \
|
||||
build_scripts/requirements3.8.txt \
|
||||
build_scripts/requirements3.9.txt \
|
||||
build_scripts/requirements3.10.txt \
|
||||
build_scripts/requirements3.11.txt \
|
||||
build_scripts/requirements-base-tools.txt \
|
||||
/build_scripts/
|
||||
COPY build_scripts/requirements-tools/* /build_scripts/requirements-tools/
|
||||
|
|
|
|||
|
|
@ -60,20 +60,14 @@ RUN export AUTOMAKE_ROOT=automake-1.16.5 && \
|
|||
manylinux-entrypoint /build_scripts/install-automake.sh
|
||||
|
||||
COPY build_scripts/install-libtool.sh /build_scripts/
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.6 && \
|
||||
export LIBTOOL_HASH=e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3 && \
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.7 && \
|
||||
export LIBTOOL_HASH=04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8 && \
|
||||
export LIBTOOL_DOWNLOAD_URL=http://ftp.gnu.org/gnu/libtool && \
|
||||
manylinux-entrypoint /build_scripts/install-libtool.sh
|
||||
|
||||
COPY build_scripts/install-patchelf.sh /build_scripts/
|
||||
RUN export PATCHELF_VERSION=0.13 && \
|
||||
export PATCHELF_HASH=60c6aeadb673de9cc1838b630c81f61e31c501de324ef7f1e8094a2431197d09 && \
|
||||
export PATCHELF_DOWNLOAD_URL=https://github.com/NixOS/patchelf/archive && \
|
||||
manylinux-entrypoint /build_scripts/install-patchelf.sh
|
||||
|
||||
COPY build_scripts/install-libxcrypt.sh /build_scripts/
|
||||
RUN export LIBXCRYPT_VERSION=4.4.26 && \
|
||||
export LIBXCRYPT_HASH=e8a544dd19171c1e6191a6044c96cc31496d781ba08b5a00f53310d001d58114 && \
|
||||
RUN export LIBXCRYPT_VERSION=4.4.28 && \
|
||||
export LIBXCRYPT_HASH=db7e37901969cb1d1e8020cb73a991ef81e48e31ea5b76a101862c806426b457 && \
|
||||
export LIBXCRYPT_DOWNLOAD_URL=https://github.com/besser82/libxcrypt/archive && \
|
||||
export PERL_ROOT=perl-5.34.0 && \
|
||||
export PERL_HASH=551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a && \
|
||||
|
|
@ -87,90 +81,79 @@ RUN manylinux-entrypoint /build_scripts/install-build-packages.sh
|
|||
|
||||
FROM build_base AS build_git
|
||||
COPY build_scripts/build-git.sh /build_scripts/
|
||||
RUN export GIT_ROOT=git-2.33.1 && \
|
||||
export GIT_HASH=02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d && \
|
||||
RUN export GIT_ROOT=git-2.36.2 && \
|
||||
export GIT_HASH=6dc2cdea5fb23d823ba4871cc23222c1db31dfbb6d6c6ff74c4128700df57c68 && \
|
||||
export GIT_DOWNLOAD_URL=https://www.kernel.org/pub/software/scm/git && \
|
||||
manylinux-entrypoint /build_scripts/build-git.sh
|
||||
|
||||
|
||||
FROM build_base AS build_swig
|
||||
COPY build_scripts/build-swig.sh /build_scripts/
|
||||
RUN export SWIG_ROOT=swig-4.0.2 && \
|
||||
export SWIG_HASH=d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc && \
|
||||
export SWIG_DOWNLOAD_URL=https://sourceforge.net/projects/swig/files/swig/${SWIG_ROOT} && \
|
||||
export PCRE_ROOT=pcre-8.45 && \
|
||||
export PCRE_HASH=4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09 && \
|
||||
export PCRE_DOWNLOAD_URL=https://sourceforge.net/projects/pcre/files/pcre/8.45 && \
|
||||
manylinux-entrypoint /build_scripts/build-swig.sh
|
||||
|
||||
|
||||
FROM build_base AS build_cpython
|
||||
COPY build_scripts/build-sqlite3.sh /build_scripts/
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3360000 && \
|
||||
export SQLITE_AUTOCONF_HASH=bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3 && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2021 && \
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3390200 && \
|
||||
export SQLITE_AUTOCONF_HASH=852be8a6183a17ba47cee0bbff7400b7aa5affd283bf3beefc34fcd088a239de && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2022 && \
|
||||
manylinux-entrypoint /build_scripts/build-sqlite3.sh
|
||||
|
||||
COPY build_scripts/build-openssl.sh /build_scripts/
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1l && \
|
||||
export OPENSSL_HASH=0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 && \
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1q && \
|
||||
export OPENSSL_HASH=d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca && \
|
||||
export OPENSSL_DOWNLOAD_URL=https://www.openssl.org/source && \
|
||||
manylinux-entrypoint /build_scripts/build-openssl.sh
|
||||
|
||||
COPY build_scripts/build-cpython.sh /build_scripts/
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython36
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.6.15
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython37
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython38
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython39
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.8
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython310
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.0
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.5
|
||||
|
||||
FROM build_cpython AS build_cpython311
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.11.0b5
|
||||
|
||||
FROM build_cpython AS all_python
|
||||
COPY build_scripts/install-pypy.sh /build_scripts/install-pypy.sh
|
||||
COPY build_scripts/pypy.sha256 /build_scripts/pypy.sha256
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.7
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.7
|
||||
COPY --from=build_cpython36 /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/install-pypy.sh \
|
||||
build_scripts/pypy.sha256 \
|
||||
build_scripts/finalize-python.sh \
|
||||
/build_scripts/
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.9 7.3.9
|
||||
COPY --from=build_cpython37 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython38 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython39 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython310 /opt/_internal /opt/_internal/
|
||||
RUN hardlink -cv /opt/_internal
|
||||
COPY --from=build_cpython311 /opt/_internal /opt/_internal/
|
||||
RUN manylinux-entrypoint /build_scripts/finalize-python.sh
|
||||
|
||||
|
||||
FROM runtime_base
|
||||
COPY --from=build_git /manylinux-rootfs /
|
||||
COPY --from=build_swig /manylinux-rootfs /
|
||||
COPY --from=build_cpython /manylinux-rootfs /
|
||||
COPY --from=all_python /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/finalize.sh \
|
||||
build_scripts/update-system-packages.sh \
|
||||
build_scripts/python-tag-abi-tag.py \
|
||||
build_scripts/requirements3.6.txt \
|
||||
build_scripts/requirements3.7.txt \
|
||||
build_scripts/requirements3.8.txt \
|
||||
build_scripts/requirements3.9.txt \
|
||||
build_scripts/requirements3.10.txt \
|
||||
build_scripts/requirements3.11.txt \
|
||||
build_scripts/requirements-base-tools.txt \
|
||||
/build_scripts/
|
||||
COPY build_scripts/requirements-tools/* /build_scripts/requirements-tools/
|
||||
|
|
|
|||
|
|
@ -64,27 +64,21 @@ RUN export AUTOMAKE_ROOT=automake-1.16.5 && \
|
|||
manylinux-entrypoint /build_scripts/install-automake.sh
|
||||
|
||||
COPY build_scripts/install-libtool.sh /build_scripts/
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.6 && \
|
||||
export LIBTOOL_HASH=e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3 && \
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.7 && \
|
||||
export LIBTOOL_HASH=04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8 && \
|
||||
export LIBTOOL_DOWNLOAD_URL=http://ftp.gnu.org/gnu/libtool && \
|
||||
manylinux-entrypoint /build_scripts/install-libtool.sh
|
||||
|
||||
COPY build_scripts/install-patchelf.sh /build_scripts/
|
||||
RUN export PATCHELF_VERSION=0.13 && \
|
||||
export PATCHELF_HASH=60c6aeadb673de9cc1838b630c81f61e31c501de324ef7f1e8094a2431197d09 && \
|
||||
export PATCHELF_DOWNLOAD_URL=https://github.com/NixOS/patchelf/archive && \
|
||||
manylinux-entrypoint /build_scripts/install-patchelf.sh
|
||||
|
||||
COPY build_scripts/install-libxcrypt.sh /build_scripts/
|
||||
RUN export LIBXCRYPT_VERSION=4.4.26 && \
|
||||
export LIBXCRYPT_HASH=e8a544dd19171c1e6191a6044c96cc31496d781ba08b5a00f53310d001d58114 && \
|
||||
RUN export LIBXCRYPT_VERSION=4.4.28 && \
|
||||
export LIBXCRYPT_HASH=db7e37901969cb1d1e8020cb73a991ef81e48e31ea5b76a101862c806426b457 && \
|
||||
export LIBXCRYPT_DOWNLOAD_URL=https://github.com/besser82/libxcrypt/archive && \
|
||||
export PERL_ROOT=perl-5.34.0 && \
|
||||
export PERL_HASH=551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a && \
|
||||
export PERL_DOWNLOAD_URL=https://www.cpan.org/src/5.0 && \
|
||||
manylinux-entrypoint /build_scripts/install-libxcrypt.sh
|
||||
|
||||
COPY build_scripts/install-protobuf.sh /build_scripts/
|
||||
COPY scripts/install-protobuf.sh /build_scripts/
|
||||
RUN export PROTOBUF_VERSION=3.17.3 && \
|
||||
export PROTOBUF_ROOT=protobuf-all-${PROTOBUF_VERSION} && \
|
||||
export PROTOBUF_HASH=77ad26d3f65222fd96ccc18b055632b0bfedf295cb748b712a98ba1ac0b704b2 && \
|
||||
|
|
@ -98,33 +92,22 @@ RUN manylinux-entrypoint /build_scripts/install-build-packages.sh
|
|||
|
||||
FROM build_base AS build_git
|
||||
COPY build_scripts/build-git.sh /build_scripts/
|
||||
RUN export GIT_ROOT=git-2.33.1 && \
|
||||
export GIT_HASH=02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d && \
|
||||
RUN export GIT_ROOT=git-2.36.2 && \
|
||||
export GIT_HASH=6dc2cdea5fb23d823ba4871cc23222c1db31dfbb6d6c6ff74c4128700df57c68 && \
|
||||
export GIT_DOWNLOAD_URL=https://www.kernel.org/pub/software/scm/git && \
|
||||
manylinux-entrypoint /build_scripts/build-git.sh
|
||||
|
||||
|
||||
FROM build_base AS build_swig
|
||||
COPY build_scripts/build-swig.sh /build_scripts/
|
||||
RUN export SWIG_ROOT=swig-4.0.2 && \
|
||||
export SWIG_HASH=d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc && \
|
||||
export SWIG_DOWNLOAD_URL=https://sourceforge.net/projects/swig/files/swig/${SWIG_ROOT} && \
|
||||
export PCRE_ROOT=pcre-8.45 && \
|
||||
export PCRE_HASH=4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09 && \
|
||||
export PCRE_DOWNLOAD_URL=https://sourceforge.net/projects/pcre/files/pcre/8.45 && \
|
||||
manylinux-entrypoint /build_scripts/build-swig.sh
|
||||
|
||||
|
||||
FROM build_base AS build_cpython
|
||||
COPY build_scripts/build-sqlite3.sh /build_scripts/
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3360000 && \
|
||||
export SQLITE_AUTOCONF_HASH=bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3 && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2021 && \
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3390200 && \
|
||||
export SQLITE_AUTOCONF_HASH=852be8a6183a17ba47cee0bbff7400b7aa5affd283bf3beefc34fcd088a239de && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2022 && \
|
||||
manylinux-entrypoint /build_scripts/build-sqlite3.sh
|
||||
|
||||
COPY build_scripts/build-openssl.sh /build_scripts/
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1l && \
|
||||
export OPENSSL_HASH=0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 && \
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1q && \
|
||||
export OPENSSL_HASH=d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca && \
|
||||
export OPENSSL_DOWNLOAD_URL=https://www.openssl.org/source && \
|
||||
manylinux-entrypoint /build_scripts/build-openssl.sh
|
||||
|
||||
|
|
@ -133,33 +116,35 @@ COPY build_scripts/build-cpython.sh /build_scripts/
|
|||
|
||||
FROM build_cpython AS build_cpython37
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython38
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython39
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.8
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.13
|
||||
|
||||
|
||||
FROM build_cpython AS all_python
|
||||
COPY build_scripts/install-pypy.sh /build_scripts/install-pypy.sh
|
||||
COPY build_scripts/pypy.sha256 /build_scripts/pypy.sha256
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.7
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.7
|
||||
COPY build_scripts/install-pypy.sh \
|
||||
build_scripts/pypy.sha256 \
|
||||
build_scripts/finalize-python.sh \
|
||||
/build_scripts/
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.9 7.3.9
|
||||
COPY --from=build_cpython37 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython38 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython39 /opt/_internal /opt/_internal/
|
||||
RUN hardlink -cv /opt/_internal
|
||||
RUN manylinux-entrypoint /build_scripts/finalize-python.sh
|
||||
|
||||
|
||||
FROM runtime_base
|
||||
COPY --from=build_git /manylinux-rootfs /
|
||||
COPY --from=build_swig /manylinux-rootfs /
|
||||
COPY --from=build_cpython /manylinux-rootfs /
|
||||
COPY --from=all_python /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/finalize.sh \
|
||||
|
|
@ -200,6 +185,8 @@ RUN rm -fr /usr/local/bin/protoc \
|
|||
/usr/local/include/google \
|
||||
/usr/local/lib/pkgconfig/protobuf*
|
||||
|
||||
RUN userdel jenkins
|
||||
|
||||
ARG BUILD_UID=1001
|
||||
ARG BUILD_USER=onnxruntimedev
|
||||
RUN adduser --uid $BUILD_UID $BUILD_USER
|
||||
|
|
@ -20,6 +20,7 @@ RUN yum install -y hipify-clang
|
|||
|
||||
RUN yum remove -y devtoolset\* git\* && conda remove -y cmake
|
||||
|
||||
|
||||
ENV AUDITWHEEL_POLICY=${POLICY} AUDITWHEEL_ARCH=${PLATFORM} AUDITWHEEL_PLAT=${POLICY}_${PLATFORM}
|
||||
ENV LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8
|
||||
ENV DEVTOOLSET_ROOTPATH=${DEVTOOLSET_ROOTPATH}
|
||||
|
|
@ -61,25 +62,26 @@ RUN export AUTOMAKE_ROOT=automake-1.16.5 && \
|
|||
manylinux-entrypoint /build_scripts/install-automake.sh
|
||||
|
||||
COPY build_scripts/install-libtool.sh /build_scripts/
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.6 && \
|
||||
export LIBTOOL_HASH=e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3 && \
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.7 && \
|
||||
export LIBTOOL_HASH=04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8 && \
|
||||
export LIBTOOL_DOWNLOAD_URL=http://ftp.gnu.org/gnu/libtool && \
|
||||
manylinux-entrypoint /build_scripts/install-libtool.sh
|
||||
|
||||
COPY build_scripts/install-patchelf.sh /build_scripts/
|
||||
RUN export PATCHELF_VERSION=0.13 && \
|
||||
export PATCHELF_HASH=60c6aeadb673de9cc1838b630c81f61e31c501de324ef7f1e8094a2431197d09 && \
|
||||
export PATCHELF_DOWNLOAD_URL=https://github.com/NixOS/patchelf/archive && \
|
||||
manylinux-entrypoint /build_scripts/install-patchelf.sh
|
||||
|
||||
COPY build_scripts/install-libxcrypt.sh /build_scripts/
|
||||
RUN export LIBXCRYPT_VERSION=4.4.26 && \
|
||||
export LIBXCRYPT_HASH=e8a544dd19171c1e6191a6044c96cc31496d781ba08b5a00f53310d001d58114 && \
|
||||
RUN export LIBXCRYPT_VERSION=4.4.28 && \
|
||||
export LIBXCRYPT_HASH=db7e37901969cb1d1e8020cb73a991ef81e48e31ea5b76a101862c806426b457 && \
|
||||
export LIBXCRYPT_DOWNLOAD_URL=https://github.com/besser82/libxcrypt/archive && \
|
||||
export PERL_ROOT=perl-5.34.0 && \
|
||||
export PERL_HASH=551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a && \
|
||||
export PERL_DOWNLOAD_URL=https://www.cpan.org/src/5.0 && \
|
||||
manylinux-entrypoint /build_scripts/install-libxcrypt.sh
|
||||
|
||||
COPY scripts/install-protobuf.sh /build_scripts/
|
||||
RUN export PROTOBUF_VERSION=3.17.3 && \
|
||||
export PROTOBUF_ROOT=protobuf-all-${PROTOBUF_VERSION} && \
|
||||
export PROTOBUF_HASH=77ad26d3f65222fd96ccc18b055632b0bfedf295cb748b712a98ba1ac0b704b2 && \
|
||||
export PROTOBUF_DOWNLOAD_URL=https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOBUF_VERSION} && \
|
||||
manylinux-entrypoint /build_scripts/install-protobuf.sh
|
||||
|
||||
FROM runtime_base AS build_base
|
||||
COPY build_scripts/install-build-packages.sh /build_scripts/
|
||||
|
|
@ -88,33 +90,22 @@ RUN manylinux-entrypoint /build_scripts/install-build-packages.sh
|
|||
|
||||
FROM build_base AS build_git
|
||||
COPY build_scripts/build-git.sh /build_scripts/
|
||||
RUN export GIT_ROOT=git-2.33.1 && \
|
||||
export GIT_HASH=02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d && \
|
||||
RUN export GIT_ROOT=git-2.36.2 && \
|
||||
export GIT_HASH=6dc2cdea5fb23d823ba4871cc23222c1db31dfbb6d6c6ff74c4128700df57c68 && \
|
||||
export GIT_DOWNLOAD_URL=https://www.kernel.org/pub/software/scm/git && \
|
||||
manylinux-entrypoint /build_scripts/build-git.sh
|
||||
|
||||
|
||||
FROM build_base AS build_swig
|
||||
COPY build_scripts/build-swig.sh /build_scripts/
|
||||
RUN export SWIG_ROOT=swig-4.0.2 && \
|
||||
export SWIG_HASH=d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc && \
|
||||
export SWIG_DOWNLOAD_URL=https://sourceforge.net/projects/swig/files/swig/${SWIG_ROOT} && \
|
||||
export PCRE_ROOT=pcre-8.45 && \
|
||||
export PCRE_HASH=4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09 && \
|
||||
export PCRE_DOWNLOAD_URL=https://sourceforge.net/projects/pcre/files/pcre/8.45 && \
|
||||
manylinux-entrypoint /build_scripts/build-swig.sh
|
||||
|
||||
|
||||
FROM build_base AS build_cpython
|
||||
COPY build_scripts/build-sqlite3.sh /build_scripts/
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3360000 && \
|
||||
export SQLITE_AUTOCONF_HASH=bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3 && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2021 && \
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3390200 && \
|
||||
export SQLITE_AUTOCONF_HASH=852be8a6183a17ba47cee0bbff7400b7aa5affd283bf3beefc34fcd088a239de && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2022 && \
|
||||
manylinux-entrypoint /build_scripts/build-sqlite3.sh
|
||||
|
||||
COPY build_scripts/build-openssl.sh /build_scripts/
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1l && \
|
||||
export OPENSSL_HASH=0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 && \
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1q && \
|
||||
export OPENSSL_HASH=d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca && \
|
||||
export OPENSSL_DOWNLOAD_URL=https://www.openssl.org/source && \
|
||||
manylinux-entrypoint /build_scripts/build-openssl.sh
|
||||
|
||||
|
|
@ -123,33 +114,34 @@ COPY build_scripts/build-cpython.sh /build_scripts/
|
|||
|
||||
FROM build_cpython AS build_cpython37
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython38
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython39
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.8
|
||||
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.13
|
||||
|
||||
FROM build_cpython AS all_python
|
||||
COPY build_scripts/install-pypy.sh /build_scripts/install-pypy.sh
|
||||
COPY build_scripts/pypy.sha256 /build_scripts/pypy.sha256
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.7
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.7
|
||||
COPY build_scripts/install-pypy.sh \
|
||||
build_scripts/pypy.sha256 \
|
||||
build_scripts/finalize-python.sh \
|
||||
/build_scripts/
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.9 7.3.9
|
||||
COPY --from=build_cpython37 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython38 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython39 /opt/_internal /opt/_internal/
|
||||
RUN hardlink -cv /opt/_internal
|
||||
RUN manylinux-entrypoint /build_scripts/finalize-python.sh
|
||||
|
||||
|
||||
FROM runtime_base
|
||||
COPY --from=build_git /manylinux-rootfs /
|
||||
COPY --from=build_swig /manylinux-rootfs /
|
||||
COPY --from=build_cpython /manylinux-rootfs /
|
||||
COPY --from=all_python /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/finalize.sh \
|
||||
|
|
@ -190,6 +182,8 @@ RUN rm -fr /usr/local/bin/protoc \
|
|||
/usr/local/include/google \
|
||||
/usr/local/lib/pkgconfig/protobuf*
|
||||
|
||||
RUN userdel jenkins
|
||||
|
||||
ARG BUILD_UID=1001
|
||||
ARG BUILD_USER=onnxruntimedev
|
||||
RUN adduser --uid $BUILD_UID $BUILD_USER
|
||||
|
|
@ -61,26 +61,26 @@ RUN export AUTOMAKE_ROOT=automake-1.16.5 && \
|
|||
manylinux-entrypoint /build_scripts/install-automake.sh
|
||||
|
||||
COPY build_scripts/install-libtool.sh /build_scripts/
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.6 && \
|
||||
export LIBTOOL_HASH=e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3 && \
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.7 && \
|
||||
export LIBTOOL_HASH=04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8 && \
|
||||
export LIBTOOL_DOWNLOAD_URL=http://ftp.gnu.org/gnu/libtool && \
|
||||
manylinux-entrypoint /build_scripts/install-libtool.sh
|
||||
|
||||
COPY build_scripts/install-patchelf.sh /build_scripts/
|
||||
RUN export PATCHELF_VERSION=0.13 && \
|
||||
export PATCHELF_HASH=60c6aeadb673de9cc1838b630c81f61e31c501de324ef7f1e8094a2431197d09 && \
|
||||
export PATCHELF_DOWNLOAD_URL=https://github.com/NixOS/patchelf/archive && \
|
||||
manylinux-entrypoint /build_scripts/install-patchelf.sh
|
||||
|
||||
COPY build_scripts/install-libxcrypt.sh /build_scripts/
|
||||
RUN export LIBXCRYPT_VERSION=4.4.26 && \
|
||||
export LIBXCRYPT_HASH=e8a544dd19171c1e6191a6044c96cc31496d781ba08b5a00f53310d001d58114 && \
|
||||
RUN export LIBXCRYPT_VERSION=4.4.28 && \
|
||||
export LIBXCRYPT_HASH=db7e37901969cb1d1e8020cb73a991ef81e48e31ea5b76a101862c806426b457 && \
|
||||
export LIBXCRYPT_DOWNLOAD_URL=https://github.com/besser82/libxcrypt/archive && \
|
||||
export PERL_ROOT=perl-5.34.0 && \
|
||||
export PERL_HASH=551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a && \
|
||||
export PERL_DOWNLOAD_URL=https://www.cpan.org/src/5.0 && \
|
||||
manylinux-entrypoint /build_scripts/install-libxcrypt.sh
|
||||
|
||||
COPY scripts/install-protobuf.sh /build_scripts/
|
||||
RUN export PROTOBUF_VERSION=3.17.3 && \
|
||||
export PROTOBUF_ROOT=protobuf-all-${PROTOBUF_VERSION} && \
|
||||
export PROTOBUF_HASH=77ad26d3f65222fd96ccc18b055632b0bfedf295cb748b712a98ba1ac0b704b2 && \
|
||||
export PROTOBUF_DOWNLOAD_URL=https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOBUF_VERSION} && \
|
||||
manylinux-entrypoint /build_scripts/install-protobuf.sh
|
||||
|
||||
FROM runtime_base AS build_base
|
||||
COPY build_scripts/install-build-packages.sh /build_scripts/
|
||||
|
|
@ -89,33 +89,22 @@ RUN manylinux-entrypoint /build_scripts/install-build-packages.sh
|
|||
|
||||
FROM build_base AS build_git
|
||||
COPY build_scripts/build-git.sh /build_scripts/
|
||||
RUN export GIT_ROOT=git-2.33.1 && \
|
||||
export GIT_HASH=02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d && \
|
||||
RUN export GIT_ROOT=git-2.36.2 && \
|
||||
export GIT_HASH=6dc2cdea5fb23d823ba4871cc23222c1db31dfbb6d6c6ff74c4128700df57c68 && \
|
||||
export GIT_DOWNLOAD_URL=https://www.kernel.org/pub/software/scm/git && \
|
||||
manylinux-entrypoint /build_scripts/build-git.sh
|
||||
|
||||
|
||||
FROM build_base AS build_swig
|
||||
COPY build_scripts/build-swig.sh /build_scripts/
|
||||
RUN export SWIG_ROOT=swig-4.0.2 && \
|
||||
export SWIG_HASH=d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc && \
|
||||
export SWIG_DOWNLOAD_URL=https://sourceforge.net/projects/swig/files/swig/${SWIG_ROOT} && \
|
||||
export PCRE_ROOT=pcre-8.45 && \
|
||||
export PCRE_HASH=4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09 && \
|
||||
export PCRE_DOWNLOAD_URL=https://sourceforge.net/projects/pcre/files/pcre/8.45 && \
|
||||
manylinux-entrypoint /build_scripts/build-swig.sh
|
||||
|
||||
|
||||
FROM build_base AS build_cpython
|
||||
COPY build_scripts/build-sqlite3.sh /build_scripts/
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3360000 && \
|
||||
export SQLITE_AUTOCONF_HASH=bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3 && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2021 && \
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3390200 && \
|
||||
export SQLITE_AUTOCONF_HASH=852be8a6183a17ba47cee0bbff7400b7aa5affd283bf3beefc34fcd088a239de && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2022 && \
|
||||
manylinux-entrypoint /build_scripts/build-sqlite3.sh
|
||||
|
||||
COPY build_scripts/build-openssl.sh /build_scripts/
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1l && \
|
||||
export OPENSSL_HASH=0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 && \
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1q && \
|
||||
export OPENSSL_HASH=d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca && \
|
||||
export OPENSSL_DOWNLOAD_URL=https://www.openssl.org/source && \
|
||||
manylinux-entrypoint /build_scripts/build-openssl.sh
|
||||
|
||||
|
|
@ -124,33 +113,35 @@ COPY build_scripts/build-cpython.sh /build_scripts/
|
|||
|
||||
FROM build_cpython AS build_cpython37
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython38
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython39
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.8
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.13
|
||||
|
||||
|
||||
FROM build_cpython AS all_python
|
||||
COPY build_scripts/install-pypy.sh /build_scripts/install-pypy.sh
|
||||
COPY build_scripts/pypy.sha256 /build_scripts/pypy.sha256
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.7
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.7
|
||||
COPY build_scripts/install-pypy.sh \
|
||||
build_scripts/pypy.sha256 \
|
||||
build_scripts/finalize-python.sh \
|
||||
/build_scripts/
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.9 7.3.9
|
||||
COPY --from=build_cpython37 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython38 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython39 /opt/_internal /opt/_internal/
|
||||
RUN hardlink -cv /opt/_internal
|
||||
RUN manylinux-entrypoint /build_scripts/finalize-python.sh
|
||||
|
||||
|
||||
FROM runtime_base
|
||||
COPY --from=build_git /manylinux-rootfs /
|
||||
COPY --from=build_swig /manylinux-rootfs /
|
||||
COPY --from=build_cpython /manylinux-rootfs /
|
||||
COPY --from=all_python /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/finalize.sh \
|
||||
|
|
@ -191,6 +182,8 @@ RUN rm -fr /usr/local/bin/protoc \
|
|||
/usr/local/include/google \
|
||||
/usr/local/lib/pkgconfig/protobuf*
|
||||
|
||||
RUN userdel jenkins
|
||||
|
||||
ARG BUILD_UID=1001
|
||||
ARG BUILD_USER=onnxruntimedev
|
||||
RUN adduser --uid $BUILD_UID $BUILD_USER
|
||||
|
|
@ -60,20 +60,14 @@ RUN export AUTOMAKE_ROOT=automake-1.16.5 && \
|
|||
manylinux-entrypoint /build_scripts/install-automake.sh
|
||||
|
||||
COPY build_scripts/install-libtool.sh /build_scripts/
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.6 && \
|
||||
export LIBTOOL_HASH=e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3 && \
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.7 && \
|
||||
export LIBTOOL_HASH=04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8 && \
|
||||
export LIBTOOL_DOWNLOAD_URL=http://ftp.gnu.org/gnu/libtool && \
|
||||
manylinux-entrypoint /build_scripts/install-libtool.sh
|
||||
|
||||
COPY build_scripts/install-patchelf.sh /build_scripts/
|
||||
RUN export PATCHELF_VERSION=0.13 && \
|
||||
export PATCHELF_HASH=60c6aeadb673de9cc1838b630c81f61e31c501de324ef7f1e8094a2431197d09 && \
|
||||
export PATCHELF_DOWNLOAD_URL=https://github.com/NixOS/patchelf/archive && \
|
||||
manylinux-entrypoint /build_scripts/install-patchelf.sh
|
||||
|
||||
COPY build_scripts/install-libxcrypt.sh /build_scripts/
|
||||
RUN export LIBXCRYPT_VERSION=4.4.26 && \
|
||||
export LIBXCRYPT_HASH=e8a544dd19171c1e6191a6044c96cc31496d781ba08b5a00f53310d001d58114 && \
|
||||
RUN export LIBXCRYPT_VERSION=4.4.28 && \
|
||||
export LIBXCRYPT_HASH=db7e37901969cb1d1e8020cb73a991ef81e48e31ea5b76a101862c806426b457 && \
|
||||
export LIBXCRYPT_DOWNLOAD_URL=https://github.com/besser82/libxcrypt/archive && \
|
||||
export PERL_ROOT=perl-5.34.0 && \
|
||||
export PERL_HASH=551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a && \
|
||||
|
|
@ -87,33 +81,22 @@ RUN manylinux-entrypoint /build_scripts/install-build-packages.sh
|
|||
|
||||
FROM build_base AS build_git
|
||||
COPY build_scripts/build-git.sh /build_scripts/
|
||||
RUN export GIT_ROOT=git-2.33.1 && \
|
||||
export GIT_HASH=02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d && \
|
||||
RUN export GIT_ROOT=git-2.36.2 && \
|
||||
export GIT_HASH=6dc2cdea5fb23d823ba4871cc23222c1db31dfbb6d6c6ff74c4128700df57c68 && \
|
||||
export GIT_DOWNLOAD_URL=https://www.kernel.org/pub/software/scm/git && \
|
||||
manylinux-entrypoint /build_scripts/build-git.sh
|
||||
|
||||
|
||||
FROM build_base AS build_swig
|
||||
COPY build_scripts/build-swig.sh /build_scripts/
|
||||
RUN export SWIG_ROOT=swig-4.0.2 && \
|
||||
export SWIG_HASH=d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc && \
|
||||
export SWIG_DOWNLOAD_URL=https://sourceforge.net/projects/swig/files/swig/${SWIG_ROOT} && \
|
||||
export PCRE_ROOT=pcre-8.45 && \
|
||||
export PCRE_HASH=4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09 && \
|
||||
export PCRE_DOWNLOAD_URL=https://sourceforge.net/projects/pcre/files/pcre/8.45 && \
|
||||
manylinux-entrypoint /build_scripts/build-swig.sh
|
||||
|
||||
|
||||
FROM build_base AS build_cpython
|
||||
COPY build_scripts/build-sqlite3.sh /build_scripts/
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3360000 && \
|
||||
export SQLITE_AUTOCONF_HASH=bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3 && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2021 && \
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3390200 && \
|
||||
export SQLITE_AUTOCONF_HASH=852be8a6183a17ba47cee0bbff7400b7aa5affd283bf3beefc34fcd088a239de && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2022 && \
|
||||
manylinux-entrypoint /build_scripts/build-sqlite3.sh
|
||||
|
||||
COPY build_scripts/build-openssl.sh /build_scripts/
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1l && \
|
||||
export OPENSSL_HASH=0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 && \
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1q && \
|
||||
export OPENSSL_HASH=d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca && \
|
||||
export OPENSSL_DOWNLOAD_URL=https://www.openssl.org/source && \
|
||||
manylinux-entrypoint /build_scripts/build-openssl.sh
|
||||
|
||||
|
|
@ -122,39 +105,45 @@ COPY build_scripts/build-cpython.sh /build_scripts/
|
|||
|
||||
FROM build_cpython AS build_cpython37
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython38
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython39
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.8
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython310
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.0
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.5
|
||||
|
||||
FROM build_cpython AS build_cpython311
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.11.0b5
|
||||
|
||||
FROM build_cpython AS all_python
|
||||
COPY build_scripts/install-pypy.sh /build_scripts/install-pypy.sh
|
||||
COPY build_scripts/pypy.sha256 /build_scripts/pypy.sha256
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.7
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.7
|
||||
COPY build_scripts/install-pypy.sh \
|
||||
build_scripts/pypy.sha256 \
|
||||
build_scripts/finalize-python.sh \
|
||||
/build_scripts/
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.9 7.3.9
|
||||
COPY --from=build_cpython37 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython38 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython39 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython310 /opt/_internal /opt/_internal/
|
||||
RUN hardlink -cv /opt/_internal
|
||||
COPY --from=build_cpython311 /opt/_internal /opt/_internal/
|
||||
RUN manylinux-entrypoint /build_scripts/finalize-python.sh
|
||||
|
||||
|
||||
FROM runtime_base
|
||||
COPY --from=build_git /manylinux-rootfs /
|
||||
COPY --from=build_swig /manylinux-rootfs /
|
||||
COPY --from=build_cpython /manylinux-rootfs /
|
||||
COPY --from=all_python /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/finalize.sh \
|
||||
|
|
@ -164,6 +153,7 @@ COPY build_scripts/finalize.sh \
|
|||
build_scripts/requirements3.8.txt \
|
||||
build_scripts/requirements3.9.txt \
|
||||
build_scripts/requirements3.10.txt \
|
||||
build_scripts/requirements3.11.txt \
|
||||
build_scripts/requirements-base-tools.txt \
|
||||
/build_scripts/
|
||||
COPY build_scripts/requirements-tools/* /build_scripts/requirements-tools/
|
||||
|
|
|
|||
|
|
@ -60,20 +60,14 @@ RUN export AUTOMAKE_ROOT=automake-1.16.5 && \
|
|||
manylinux-entrypoint /build_scripts/install-automake.sh
|
||||
|
||||
COPY build_scripts/install-libtool.sh /build_scripts/
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.6 && \
|
||||
export LIBTOOL_HASH=e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3 && \
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.7 && \
|
||||
export LIBTOOL_HASH=04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8 && \
|
||||
export LIBTOOL_DOWNLOAD_URL=http://ftp.gnu.org/gnu/libtool && \
|
||||
manylinux-entrypoint /build_scripts/install-libtool.sh
|
||||
|
||||
COPY build_scripts/install-patchelf.sh /build_scripts/
|
||||
RUN export PATCHELF_VERSION=0.13 && \
|
||||
export PATCHELF_HASH=60c6aeadb673de9cc1838b630c81f61e31c501de324ef7f1e8094a2431197d09 && \
|
||||
export PATCHELF_DOWNLOAD_URL=https://github.com/NixOS/patchelf/archive && \
|
||||
manylinux-entrypoint /build_scripts/install-patchelf.sh
|
||||
|
||||
COPY build_scripts/install-libxcrypt.sh /build_scripts/
|
||||
RUN export LIBXCRYPT_VERSION=4.4.26 && \
|
||||
export LIBXCRYPT_HASH=e8a544dd19171c1e6191a6044c96cc31496d781ba08b5a00f53310d001d58114 && \
|
||||
RUN export LIBXCRYPT_VERSION=4.4.28 && \
|
||||
export LIBXCRYPT_HASH=db7e37901969cb1d1e8020cb73a991ef81e48e31ea5b76a101862c806426b457 && \
|
||||
export LIBXCRYPT_DOWNLOAD_URL=https://github.com/besser82/libxcrypt/archive && \
|
||||
export PERL_ROOT=perl-5.34.0 && \
|
||||
export PERL_HASH=551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a && \
|
||||
|
|
@ -87,33 +81,22 @@ RUN manylinux-entrypoint /build_scripts/install-build-packages.sh
|
|||
|
||||
FROM build_base AS build_git
|
||||
COPY build_scripts/build-git.sh /build_scripts/
|
||||
RUN export GIT_ROOT=git-2.33.1 && \
|
||||
export GIT_HASH=02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d && \
|
||||
RUN export GIT_ROOT=git-2.36.2 && \
|
||||
export GIT_HASH=6dc2cdea5fb23d823ba4871cc23222c1db31dfbb6d6c6ff74c4128700df57c68 && \
|
||||
export GIT_DOWNLOAD_URL=https://www.kernel.org/pub/software/scm/git && \
|
||||
manylinux-entrypoint /build_scripts/build-git.sh
|
||||
|
||||
|
||||
FROM build_base AS build_swig
|
||||
COPY build_scripts/build-swig.sh /build_scripts/
|
||||
RUN export SWIG_ROOT=swig-4.0.2 && \
|
||||
export SWIG_HASH=d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc && \
|
||||
export SWIG_DOWNLOAD_URL=https://sourceforge.net/projects/swig/files/swig/${SWIG_ROOT} && \
|
||||
export PCRE_ROOT=pcre-8.45 && \
|
||||
export PCRE_HASH=4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09 && \
|
||||
export PCRE_DOWNLOAD_URL=https://sourceforge.net/projects/pcre/files/pcre/8.45 && \
|
||||
manylinux-entrypoint /build_scripts/build-swig.sh
|
||||
|
||||
|
||||
FROM build_base AS build_cpython
|
||||
COPY build_scripts/build-sqlite3.sh /build_scripts/
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3360000 && \
|
||||
export SQLITE_AUTOCONF_HASH=bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3 && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2021 && \
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3390200 && \
|
||||
export SQLITE_AUTOCONF_HASH=852be8a6183a17ba47cee0bbff7400b7aa5affd283bf3beefc34fcd088a239de && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2022 && \
|
||||
manylinux-entrypoint /build_scripts/build-sqlite3.sh
|
||||
|
||||
COPY build_scripts/build-openssl.sh /build_scripts/
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1l && \
|
||||
export OPENSSL_HASH=0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 && \
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1q && \
|
||||
export OPENSSL_HASH=d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca && \
|
||||
export OPENSSL_DOWNLOAD_URL=https://www.openssl.org/source && \
|
||||
manylinux-entrypoint /build_scripts/build-openssl.sh
|
||||
|
||||
|
|
@ -122,39 +105,45 @@ COPY build_scripts/build-cpython.sh /build_scripts/
|
|||
|
||||
FROM build_cpython AS build_cpython37
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython38
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython39
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.8
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython310
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.0
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.5
|
||||
|
||||
FROM build_cpython AS build_cpython311
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.11.0b5
|
||||
|
||||
FROM build_cpython AS all_python
|
||||
COPY build_scripts/install-pypy.sh /build_scripts/install-pypy.sh
|
||||
COPY build_scripts/pypy.sha256 /build_scripts/pypy.sha256
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.7
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.7
|
||||
COPY build_scripts/install-pypy.sh \
|
||||
build_scripts/pypy.sha256 \
|
||||
build_scripts/finalize-python.sh \
|
||||
/build_scripts/
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.9 7.3.9
|
||||
COPY --from=build_cpython37 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython38 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython39 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython310 /opt/_internal /opt/_internal/
|
||||
RUN hardlink -cv /opt/_internal
|
||||
COPY --from=build_cpython311 /opt/_internal /opt/_internal/
|
||||
RUN manylinux-entrypoint /build_scripts/finalize-python.sh
|
||||
|
||||
|
||||
FROM runtime_base
|
||||
COPY --from=build_git /manylinux-rootfs /
|
||||
COPY --from=build_swig /manylinux-rootfs /
|
||||
COPY --from=build_cpython /manylinux-rootfs /
|
||||
COPY --from=all_python /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/finalize.sh \
|
||||
|
|
@ -164,6 +153,7 @@ COPY build_scripts/finalize.sh \
|
|||
build_scripts/requirements3.8.txt \
|
||||
build_scripts/requirements3.9.txt \
|
||||
build_scripts/requirements3.10.txt \
|
||||
build_scripts/requirements3.11.txt \
|
||||
build_scripts/requirements-base-tools.txt \
|
||||
/build_scripts/
|
||||
COPY build_scripts/requirements-tools/* /build_scripts/requirements-tools/
|
||||
|
|
|
|||
|
|
@ -56,20 +56,14 @@ RUN export AUTOMAKE_ROOT=automake-1.16.5 && \
|
|||
manylinux-entrypoint /build_scripts/install-automake.sh
|
||||
|
||||
COPY build_scripts/install-libtool.sh /build_scripts/
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.6 && \
|
||||
export LIBTOOL_HASH=e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3 && \
|
||||
RUN export LIBTOOL_ROOT=libtool-2.4.7 && \
|
||||
export LIBTOOL_HASH=04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8 && \
|
||||
export LIBTOOL_DOWNLOAD_URL=http://ftp.gnu.org/gnu/libtool && \
|
||||
manylinux-entrypoint /build_scripts/install-libtool.sh
|
||||
|
||||
COPY build_scripts/install-patchelf.sh /build_scripts/
|
||||
RUN export PATCHELF_VERSION=0.13 && \
|
||||
export PATCHELF_HASH=60c6aeadb673de9cc1838b630c81f61e31c501de324ef7f1e8094a2431197d09 && \
|
||||
export PATCHELF_DOWNLOAD_URL=https://github.com/NixOS/patchelf/archive && \
|
||||
manylinux-entrypoint /build_scripts/install-patchelf.sh
|
||||
|
||||
COPY build_scripts/install-libxcrypt.sh /build_scripts/
|
||||
RUN export LIBXCRYPT_VERSION=4.4.26 && \
|
||||
export LIBXCRYPT_HASH=e8a544dd19171c1e6191a6044c96cc31496d781ba08b5a00f53310d001d58114 && \
|
||||
RUN export LIBXCRYPT_VERSION=4.4.28 && \
|
||||
export LIBXCRYPT_HASH=db7e37901969cb1d1e8020cb73a991ef81e48e31ea5b76a101862c806426b457 && \
|
||||
export LIBXCRYPT_DOWNLOAD_URL=https://github.com/besser82/libxcrypt/archive && \
|
||||
export PERL_ROOT=perl-5.34.0 && \
|
||||
export PERL_HASH=551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a && \
|
||||
|
|
@ -83,79 +77,69 @@ RUN manylinux-entrypoint /build_scripts/install-build-packages.sh
|
|||
|
||||
FROM build_base AS build_git
|
||||
COPY build_scripts/build-git.sh /build_scripts/
|
||||
RUN export GIT_ROOT=git-2.33.1 && \
|
||||
export GIT_HASH=02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d && \
|
||||
RUN export GIT_ROOT=git-2.36.2 && \
|
||||
export GIT_HASH=6dc2cdea5fb23d823ba4871cc23222c1db31dfbb6d6c6ff74c4128700df57c68 && \
|
||||
export GIT_DOWNLOAD_URL=https://www.kernel.org/pub/software/scm/git && \
|
||||
manylinux-entrypoint /build_scripts/build-git.sh
|
||||
|
||||
|
||||
FROM build_base AS build_swig
|
||||
COPY build_scripts/build-swig.sh /build_scripts/
|
||||
RUN export SWIG_ROOT=swig-4.0.2 && \
|
||||
export SWIG_HASH=d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc && \
|
||||
export SWIG_DOWNLOAD_URL=https://sourceforge.net/projects/swig/files/swig/${SWIG_ROOT} && \
|
||||
export PCRE_ROOT=pcre-8.45 && \
|
||||
export PCRE_HASH=4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09 && \
|
||||
export PCRE_DOWNLOAD_URL=https://sourceforge.net/projects/pcre/files/pcre/8.45 && \
|
||||
manylinux-entrypoint /build_scripts/build-swig.sh
|
||||
|
||||
|
||||
FROM build_base AS build_cpython
|
||||
COPY build_scripts/build-sqlite3.sh /build_scripts/
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3360000 && \
|
||||
export SQLITE_AUTOCONF_HASH=bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3 && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2021 && \
|
||||
RUN export SQLITE_AUTOCONF_ROOT=sqlite-autoconf-3390200 && \
|
||||
export SQLITE_AUTOCONF_HASH=852be8a6183a17ba47cee0bbff7400b7aa5affd283bf3beefc34fcd088a239de && \
|
||||
export SQLITE_AUTOCONF_DOWNLOAD_URL=https://www.sqlite.org/2022 && \
|
||||
manylinux-entrypoint /build_scripts/build-sqlite3.sh
|
||||
|
||||
COPY build_scripts/build-openssl.sh /build_scripts/
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1l && \
|
||||
export OPENSSL_HASH=0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 && \
|
||||
RUN export OPENSSL_ROOT=openssl-1.1.1q && \
|
||||
export OPENSSL_HASH=d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca && \
|
||||
export OPENSSL_DOWNLOAD_URL=https://www.openssl.org/source && \
|
||||
manylinux-entrypoint /build_scripts/build-openssl.sh
|
||||
|
||||
COPY build_scripts/build-cpython.sh /build_scripts/
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython36
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.6.15
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython37
|
||||
COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython38
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.12
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython39
|
||||
COPY build_scripts/ambv-pubkey.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.8
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.13
|
||||
|
||||
|
||||
FROM build_cpython AS build_cpython310
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.0
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.10.5
|
||||
|
||||
FROM build_cpython AS build_cpython311
|
||||
COPY build_scripts/cpython-pubkey-310-311.txt /build_scripts/cpython-pubkeys.txt
|
||||
RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.11.0b5
|
||||
|
||||
FROM build_cpython AS all_python
|
||||
COPY build_scripts/install-pypy.sh /build_scripts/install-pypy.sh
|
||||
COPY build_scripts/pypy.sha256 /build_scripts/pypy.sha256
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.7
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.7
|
||||
COPY build_scripts/install-pypy.sh \
|
||||
build_scripts/pypy.sha256 \
|
||||
build_scripts/finalize-python.sh \
|
||||
/build_scripts/
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.7 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.8 7.3.9
|
||||
RUN manylinux-entrypoint /build_scripts/install-pypy.sh 3.9 7.3.9
|
||||
COPY --from=build_cpython37 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython38 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython39 /opt/_internal /opt/_internal/
|
||||
COPY --from=build_cpython310 /opt/_internal /opt/_internal/
|
||||
RUN hardlink -cv /opt/_internal
|
||||
COPY --from=build_cpython311 /opt/_internal /opt/_internal/
|
||||
RUN manylinux-entrypoint /build_scripts/finalize-python.sh
|
||||
|
||||
|
||||
FROM runtime_base
|
||||
COPY --from=build_git /manylinux-rootfs /
|
||||
COPY --from=build_swig /manylinux-rootfs /
|
||||
COPY --from=build_cpython /manylinux-rootfs /
|
||||
COPY --from=all_python /opt/_internal /opt/_internal/
|
||||
COPY build_scripts/finalize.sh \
|
||||
|
|
@ -165,6 +149,7 @@ COPY build_scripts/finalize.sh \
|
|||
build_scripts/requirements3.8.txt \
|
||||
build_scripts/requirements3.9.txt \
|
||||
build_scripts/requirements3.10.txt \
|
||||
build_scripts/requirements3.11.txt \
|
||||
build_scripts/requirements-base-tools.txt \
|
||||
/build_scripts/
|
||||
COPY build_scripts/requirements-tools/* /build_scripts/requirements-tools/
|
||||
|
|
|
|||
|
|
@ -1,21 +0,0 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 manylinux
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
All the files in this folder were copied from https://github.com/pypa/manylinux (commit id 28723f3e3330e5de156d2179353d45b04339a528) with two tiny changes:
|
||||
|
||||
```diff
|
||||
diff -r /data/bt/os/manylinux/docker/build_scripts/install-entrypoint.sh ./install-entrypoint.sh
|
||||
23a24,25
|
||||
> yum install -y yum-plugin-versionlock
|
||||
> yum versionlock cuda* libcudnn*
|
||||
\ No newline at end of file
|
||||
diff -r /data/bt/os/manylinux/docker/build_scripts/install-runtime-packages.sh ./install-runtime-packages.sh
|
||||
87c87,95
|
||||
< TOOLCHAIN_DEPS="devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-gcc-gfortran"
|
||||
---
|
||||
>
|
||||
> #Added by @snnn
|
||||
> if [ -d "/usr/local/cuda-10.2" ]; then
|
||||
> TOOLCHAIN_DEPS="devtoolset-8-binutils devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-gcc-gfortran"
|
||||
> elif [ -d "/usr/local/cuda-11.1" ]; then
|
||||
> TOOLCHAIN_DEPS="devtoolset-9-binutils devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-gcc-gfortran"
|
||||
> else
|
||||
> TOOLCHAIN_DEPS="devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-gcc-gfortran"
|
||||
> fi
|
||||
92c100,102
|
||||
< yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
||||
---
|
||||
> if ! rpm -q --quiet epel-release ; then
|
||||
> yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
||||
> fi
|
||||
```
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,42 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Top-level build script called from Dockerfile
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
# Install newest cmake
|
||||
check_var ${CMAKE_VERSION}
|
||||
check_var ${CMAKE_HASH}
|
||||
check_var ${CMAKE_DOWNLOAD_URL}
|
||||
|
||||
fetch_source cmake-${CMAKE_VERSION}.tar.gz ${CMAKE_DOWNLOAD_URL}/v${CMAKE_VERSION}
|
||||
check_sha256sum cmake-${CMAKE_VERSION}.tar.gz ${CMAKE_HASH}
|
||||
tar -xzf cmake-${CMAKE_VERSION}.tar.gz
|
||||
pushd cmake-${CMAKE_VERSION}
|
||||
export CPPFLAGS="${MANYLINUX_CPPFLAGS}"
|
||||
export CFLAGS="${MANYLINUX_CFLAGS} ${CPPFLAGS}"
|
||||
export CXXFLAGS="${MANYLINUX_CXXFLAGS} ${CPPFLAGS}"
|
||||
export LDFLAGS="${MANYLINUX_LDFLAGS}"
|
||||
./bootstrap --system-curl --parallel=$(nproc)
|
||||
make -j$(nproc)
|
||||
make install DESTDIR=/manylinux-rootfs
|
||||
popd
|
||||
rm -rf cmake-${CMAKE_VERSION}.tar.gz cmake-${CMAKE_VERSION}
|
||||
|
||||
# remove help
|
||||
rm -rf /manylinux-rootfs/usr/local/share/cmake-*/Help
|
||||
|
||||
# Strip what we can
|
||||
strip_ /manylinux-rootfs
|
||||
|
||||
# Install
|
||||
cp -rlf /manylinux-rootfs/* /
|
||||
|
||||
|
||||
cmake --version
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Top-level build script called from Dockerfile
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
|
||||
CPYTHON_VERSION=$1
|
||||
CPYTHON_DOWNLOAD_URL=https://www.python.org/ftp/python
|
||||
|
||||
|
||||
function pyver_dist_dir {
|
||||
# Echoes the dist directory name of given pyver, removing alpha/beta prerelease
|
||||
# Thus:
|
||||
# 3.2.1 -> 3.2.1
|
||||
# 3.7.0b4 -> 3.7.0
|
||||
echo $1 | awk -F "." '{printf "%d.%d.%d", $1, $2, $3}'
|
||||
}
|
||||
|
||||
|
||||
CPYTHON_DIST_DIR=$(pyver_dist_dir ${CPYTHON_VERSION})
|
||||
fetch_source Python-${CPYTHON_VERSION}.tgz ${CPYTHON_DOWNLOAD_URL}/${CPYTHON_DIST_DIR}
|
||||
fetch_source Python-${CPYTHON_VERSION}.tgz.asc ${CPYTHON_DOWNLOAD_URL}/${CPYTHON_DIST_DIR}
|
||||
gpg --import ${MY_DIR}/cpython-pubkeys.txt
|
||||
gpg --verify Python-${CPYTHON_VERSION}.tgz.asc
|
||||
tar -xzf Python-${CPYTHON_VERSION}.tgz
|
||||
pushd Python-${CPYTHON_VERSION}
|
||||
PREFIX="/opt/_internal/cpython-${CPYTHON_VERSION}"
|
||||
mkdir -p ${PREFIX}/lib
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ]; then
|
||||
# The _ctypes stdlib module build started to fail with 3.10.0rc1
|
||||
# No clue what changed exactly yet
|
||||
# This workaround fixes the build
|
||||
LIBFFI_INCLUDEDIR=$(pkg-config --cflags-only-I libffi | tr -d '[:space:]')
|
||||
LIBFFI_INCLUDEDIR=${LIBFFI_INCLUDEDIR:2}
|
||||
cp ${LIBFFI_INCLUDEDIR}/ffi.h ${LIBFFI_INCLUDEDIR}/ffitarget.h /usr/include/
|
||||
fi
|
||||
# configure with hardening options only for the interpreter & stdlib C extensions
|
||||
# do not change the default for user built extension (yet?)
|
||||
./configure \
|
||||
CFLAGS_NODIST="${MANYLINUX_CFLAGS} ${MANYLINUX_CPPFLAGS}" \
|
||||
LDFLAGS_NODIST="${MANYLINUX_LDFLAGS}" \
|
||||
--prefix=${PREFIX} --disable-shared --with-ensurepip=no > /dev/null
|
||||
make -j$(nproc) > /dev/null
|
||||
make install > /dev/null
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ]; then
|
||||
rm -f /usr/include/ffi.h /usr/include/ffitarget.h
|
||||
fi
|
||||
popd
|
||||
rm -rf Python-${CPYTHON_VERSION} Python-${CPYTHON_VERSION}.tgz Python-${CPYTHON_VERSION}.tgz.asc
|
||||
|
||||
# we don't need libpython*.a, and they're many megabytes
|
||||
find ${PREFIX} -name '*.a' -print0 | xargs -0 rm -f
|
||||
|
||||
# We do not need precompiled .pyc and .pyo files.
|
||||
clean_pyc ${PREFIX}
|
||||
|
||||
# Strip ELF files found in ${PREFIX}
|
||||
strip_ ${PREFIX}
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Top-level build script called from Dockerfile
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
if [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then
|
||||
export NO_REGEX=NeedsStartEnd
|
||||
fi
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
# Install newest libtool
|
||||
check_var ${GIT_ROOT}
|
||||
check_var ${GIT_HASH}
|
||||
check_var ${GIT_DOWNLOAD_URL}
|
||||
|
||||
fetch_source ${GIT_ROOT}.tar.gz ${GIT_DOWNLOAD_URL}
|
||||
check_sha256sum ${GIT_ROOT}.tar.gz ${GIT_HASH}
|
||||
tar -xzf ${GIT_ROOT}.tar.gz
|
||||
pushd ${GIT_ROOT}
|
||||
make -j$(nproc) install prefix=/usr/local NO_GETTEXT=1 NO_TCLTK=1 DESTDIR=/manylinux-rootfs CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS}" CXXFLAGS="${MANYLINUX_CXXFLAGS}" LDFLAGS="${MANYLINUX_LDFLAGS}"
|
||||
popd
|
||||
rm -rf ${GIT_ROOT} ${GIT_ROOT}.tar.gz
|
||||
|
||||
|
||||
# Strip what we can
|
||||
strip_ /manylinux-rootfs
|
||||
|
||||
# Install
|
||||
cp -rlf /manylinux-rootfs/* /
|
||||
|
||||
git version
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Top-level build script called from Dockerfile
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
# Install a more recent openssl
|
||||
check_var ${OPENSSL_ROOT}
|
||||
check_var ${OPENSSL_HASH}
|
||||
check_var ${OPENSSL_DOWNLOAD_URL}
|
||||
|
||||
OPENSSL_VERSION=${OPENSSL_ROOT#*-}
|
||||
OPENSSL_MIN_VERSION=1.1.1
|
||||
|
||||
INSTALLED=$(openssl version | head -1 | awk '{ print $2 }')
|
||||
SMALLEST=$(echo -e "${INSTALLED}\n${OPENSSL_MIN_VERSION}" | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | head -1)
|
||||
|
||||
# Ignore letters in version numbers
|
||||
if [ "${SMALLEST}" = "${OPENSSL_MIN_VERSION}" ]; then
|
||||
echo "skipping installation of openssl ${OPENSSL_VERSION}, system provides openssl ${INSTALLED} which is newer than openssl ${OPENSSL_MIN_VERSION}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if which yum; then
|
||||
yum erase -y openssl-devel
|
||||
elif which apk; then
|
||||
apk del openssl-dev
|
||||
else
|
||||
apt-get remove -y libssl-dev
|
||||
fi
|
||||
|
||||
fetch_source ${OPENSSL_ROOT}.tar.gz ${OPENSSL_DOWNLOAD_URL}
|
||||
check_sha256sum ${OPENSSL_ROOT}.tar.gz ${OPENSSL_HASH}
|
||||
tar -xzf ${OPENSSL_ROOT}.tar.gz
|
||||
pushd ${OPENSSL_ROOT}
|
||||
./config no-shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS} -fPIC" CXXFLAGS="${MANYLINUX_CXXFLAGS} -fPIC" LDFLAGS="${MANYLINUX_LDFLAGS} -fPIC" > /dev/null
|
||||
make -j$(nproc) > /dev/null
|
||||
make install_sw > /dev/null
|
||||
popd
|
||||
rm -rf ${OPENSSL_ROOT} ${OPENSSL_ROOT}.tar.gz
|
||||
|
||||
|
||||
/usr/local/ssl/bin/openssl version
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Top-level build script called from Dockerfile
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
# Install a more recent SQLite3
|
||||
check_var ${SQLITE_AUTOCONF_ROOT}
|
||||
check_var ${SQLITE_AUTOCONF_HASH}
|
||||
check_var ${SQLITE_AUTOCONF_DOWNLOAD_URL}
|
||||
fetch_source ${SQLITE_AUTOCONF_ROOT}.tar.gz ${SQLITE_AUTOCONF_DOWNLOAD_URL}
|
||||
check_sha256sum ${SQLITE_AUTOCONF_ROOT}.tar.gz ${SQLITE_AUTOCONF_HASH}
|
||||
tar xfz ${SQLITE_AUTOCONF_ROOT}.tar.gz
|
||||
pushd ${SQLITE_AUTOCONF_ROOT}
|
||||
DESTDIR=/manylinux-rootfs do_standard_install
|
||||
popd
|
||||
rm -rf ${SQLITE_AUTOCONF_ROOT} ${SQLITE_AUTOCONF_ROOT}.tar.gz
|
||||
|
||||
# static library is unused, remove it
|
||||
rm /manylinux-rootfs/usr/local/lib/libsqlite3.a
|
||||
|
||||
# Strip what we can
|
||||
strip_ /manylinux-rootfs
|
||||
|
||||
# Install
|
||||
cp -rlf /manylinux-rootfs/* /
|
||||
ldconfig /
|
||||
|
||||
# Clean-up for runtime
|
||||
rm -rf /manylinux-rootfs/usr/local/share
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Top-level build script called from Dockerfile
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
# Install newest swig
|
||||
check_var ${SWIG_ROOT}
|
||||
check_var ${SWIG_HASH}
|
||||
check_var ${SWIG_DOWNLOAD_URL}
|
||||
check_var ${PCRE_ROOT}
|
||||
check_var ${PCRE_HASH}
|
||||
check_var ${PCRE_DOWNLOAD_URL}
|
||||
|
||||
fetch_source ${SWIG_ROOT}.tar.gz ${SWIG_DOWNLOAD_URL}
|
||||
check_sha256sum ${SWIG_ROOT}.tar.gz ${SWIG_HASH}
|
||||
tar -xzf ${SWIG_ROOT}.tar.gz
|
||||
pushd ${SWIG_ROOT}
|
||||
fetch_source ${PCRE_ROOT}.tar.gz ${PCRE_DOWNLOAD_URL}
|
||||
check_sha256sum ${PCRE_ROOT}.tar.gz ${PCRE_HASH}
|
||||
export CPPFLAGS="${MANYLINUX_CPPFLAGS}"
|
||||
export CFLAGS="${MANYLINUX_CFLAGS}"
|
||||
export CXXFLAGS="${MANYLINUX_CXXFLAGS}"
|
||||
export LDFLAGS="${MANYLINUX_LDFLAGS}"
|
||||
./Tools/pcre-build.sh
|
||||
./configure
|
||||
make -j$(nproc)
|
||||
make install DESTDIR=/manylinux-rootfs
|
||||
popd
|
||||
rm -rf ${SWIG_ROOT}*
|
||||
|
||||
# Strip what we can
|
||||
strip_ /manylinux-rootfs
|
||||
|
||||
# Install
|
||||
cp -rlf /manylinux-rootfs/* /
|
||||
|
||||
swig -version
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Helper utilities for build
|
||||
|
||||
|
||||
# use all flags used by ubuntu 20.04 for hardening builds, dpkg-buildflags --export
|
||||
# other flags mentioned in https://wiki.ubuntu.com/ToolChain/CompilerFlags can't be
|
||||
# used because the distros used here are too old
|
||||
MANYLINUX_CPPFLAGS="-Wdate-time -D_FORTIFY_SOURCE=2"
|
||||
MANYLINUX_CFLAGS="-g -O2 -Wall -fdebug-prefix-map=/=. -fstack-protector-strong -Wformat -Werror=format-security"
|
||||
MANYLINUX_CXXFLAGS="-g -O2 -Wall -fdebug-prefix-map=/=. -fstack-protector-strong -Wformat -Werror=format-security"
|
||||
MANYLINUX_LDFLAGS="-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now"
|
||||
|
||||
export BASE_POLICY=manylinux
|
||||
if [ "${AUDITWHEEL_POLICY:0:9}" == "musllinux" ]; then
|
||||
export BASE_POLICY=musllinux
|
||||
fi
|
||||
|
||||
function check_var {
|
||||
if [ -z "$1" ]; then
|
||||
echo "required variable not defined"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
function fetch_source {
|
||||
# This is called both inside and outside the build context (e.g. in Travis) to prefetch
|
||||
# source tarballs, where curl exists (and works)
|
||||
local file=$1
|
||||
check_var ${file}
|
||||
local url=$2
|
||||
check_var ${url}
|
||||
if [ -f ${file} ]; then
|
||||
echo "${file} exists, skipping fetch"
|
||||
else
|
||||
apt-get update && apt-get install -y curl gpg-agent
|
||||
curl -fsSL -o ${file} ${url}/${file}
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
function check_sha256sum {
|
||||
local fname=$1
|
||||
check_var ${fname}
|
||||
local sha256=$2
|
||||
check_var ${sha256}
|
||||
|
||||
echo "${sha256} ${fname}" > ${fname}.sha256
|
||||
sha256sum -c ${fname}.sha256
|
||||
rm -f ${fname}.sha256
|
||||
}
|
||||
|
||||
|
||||
function do_standard_install {
|
||||
./configure "$@" CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS}" "CXXFLAGS=${MANYLINUX_CXXFLAGS}" LDFLAGS="${MANYLINUX_LDFLAGS}" > /dev/null
|
||||
make -j$(nproc) > /dev/null
|
||||
make install > /dev/null
|
||||
}
|
||||
|
||||
function strip_ {
|
||||
# Strip what we can -- and ignore errors, because this just attempts to strip
|
||||
# *everything*, including non-ELF files:
|
||||
find $1 -type f -print0 | xargs -0 -n1 strip --strip-unneeded 2>/dev/null || true
|
||||
}
|
||||
|
||||
function clean_pyc {
|
||||
find $1 -type f -a \( -name '*.pyc' -o -name '*.pyo' \) -delete
|
||||
}
|
||||
|
|
@ -1,149 +0,0 @@
|
|||
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys A035C8C19219BA821ECEA86B64E628F8D684696D
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1
|
||||
|
||||
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
|
||||
styGK1Bo9e2sFcK2fA==
|
||||
=hypb
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,91 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
mkdir /opt/python
|
||||
for PREFIX in $(find /opt/_internal/ -mindepth 1 -maxdepth 1 \( -name 'cpython*' -o -name 'pypy*' \)); do
|
||||
# Some python's install as bin/python3. Make them available as
|
||||
# bin/python.
|
||||
if [ -e ${PREFIX}/bin/python3 ] && [ ! -e ${PREFIX}/bin/python ]; then
|
||||
ln -s python3 ${PREFIX}/bin/python
|
||||
fi
|
||||
${PREFIX}/bin/python -m ensurepip
|
||||
if [ -e ${PREFIX}/bin/pip3 ] && [ ! -e ${PREFIX}/bin/pip ]; then
|
||||
ln -s pip3 ${PREFIX}/bin/pip
|
||||
fi
|
||||
PY_VER=$(${PREFIX}/bin/python -c "import sys; print('.'.join(str(v) for v in sys.version_info[:2]))")
|
||||
# Since we fall back on a canned copy of pip, we might not have
|
||||
# the latest pip and friends. Upgrade them to make sure.
|
||||
${PREFIX}/bin/pip install -U --require-hashes -r ${MY_DIR}/requirements${PY_VER}.txt
|
||||
# Create a symlink to PREFIX using the ABI_TAG in /opt/python/
|
||||
ABI_TAG=$(${PREFIX}/bin/python ${MY_DIR}/python-tag-abi-tag.py)
|
||||
ln -s ${PREFIX} /opt/python/${ABI_TAG}
|
||||
# Make versioned python commands available directly in environment.
|
||||
if [[ "${PREFIX}" == *"/pypy"* ]]; then
|
||||
ln -s ${PREFIX}/bin/python /usr/local/bin/pypy${PY_VER}
|
||||
else
|
||||
ln -s ${PREFIX}/bin/python /usr/local/bin/python${PY_VER}
|
||||
fi
|
||||
done
|
||||
|
||||
# Create venv for auditwheel & certifi
|
||||
TOOLS_PATH=/opt/_internal/tools
|
||||
/opt/python/cp39-cp39/bin/python -m venv $TOOLS_PATH
|
||||
source $TOOLS_PATH/bin/activate
|
||||
|
||||
# Install default packages
|
||||
pip install -U --require-hashes -r $MY_DIR/requirements3.9.txt
|
||||
# Install certifi and pipx
|
||||
pip install -U --require-hashes -r $MY_DIR/requirements-base-tools.txt
|
||||
|
||||
# Make pipx available in PATH,
|
||||
# Make sure when root installs apps, they're also in the PATH
|
||||
cat <<EOF > /usr/local/bin/pipx
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [ \$(id -u) -eq 0 ]; then
|
||||
export PIPX_HOME=/opt/_internal/pipx
|
||||
export PIPX_BIN_DIR=/usr/local/bin
|
||||
fi
|
||||
${TOOLS_PATH}/bin/pipx "\$@"
|
||||
EOF
|
||||
chmod 755 /usr/local/bin/pipx
|
||||
|
||||
# Our openssl doesn't know how to find the system CA trust store
|
||||
# (https://github.com/pypa/manylinux/issues/53)
|
||||
# And it's not clear how up-to-date that is anyway
|
||||
# So let's just use the same one pip and everyone uses
|
||||
ln -s $(python -c 'import certifi; print(certifi.where())') /opt/_internal/certs.pem
|
||||
# If you modify this line you also have to modify the versions in the Dockerfiles:
|
||||
export SSL_CERT_FILE=/opt/_internal/certs.pem
|
||||
|
||||
# Deactivate the tools virtual environment
|
||||
deactivate
|
||||
|
||||
# install other tools with pipx
|
||||
pushd $MY_DIR/requirements-tools
|
||||
for TOOL_PATH in $(find . -type f); do
|
||||
TOOL=$(basename ${TOOL_PATH})
|
||||
pipx install --pip-args="--require-hashes -r" ${TOOL}
|
||||
done
|
||||
popd
|
||||
|
||||
# We do not need the precompiled .pyc and .pyo files.
|
||||
clean_pyc /opt/_internal
|
||||
|
||||
# remove cache
|
||||
rm -rf /root/.cache
|
||||
|
||||
hardlink -cv /opt/_internal
|
||||
|
||||
# update system packages
|
||||
LC_ALL=C ${MY_DIR}/update-system-packages.sh
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Fix up mirrors once distro reaches EOL
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ]; then
|
||||
# Centos 6 is EOL and is no longer available from the usual mirrors, so switch
|
||||
# to https://vault.centos.org
|
||||
sed -i 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/fastestmirror.conf
|
||||
sed -i 's/^mirrorlist/#mirrorlist/g' /etc/yum.repos.d/*.repo
|
||||
sed -i 's;^.*baseurl=http://mirror;baseurl=https://vault;g' /etc/yum.repos.d/*.repo
|
||||
sed -i 's;^.*baseurl=http://download.fedoraproject.org/pub;baseurl=https://archives.fedoraproject.org/pub/archive;g' /etc/yum.repos.d/*.repo
|
||||
fi
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Top-level build script called from Dockerfile
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
|
||||
# Install newest autoconf
|
||||
check_var ${AUTOCONF_ROOT}
|
||||
check_var ${AUTOCONF_HASH}
|
||||
check_var ${AUTOCONF_DOWNLOAD_URL}
|
||||
|
||||
AUTOCONF_VERSION=${AUTOCONF_ROOT#*-}
|
||||
if autoconf --version > /dev/null 2>&1; then
|
||||
INSTALLED=$(autoconf --version | head -1 | awk '{ print $NF }')
|
||||
SMALLEST=$(echo -e "${INSTALLED}\n${AUTOCONF_VERSION}" | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | head -1)
|
||||
if [ "${SMALLEST}" == "${AUTOCONF_VERSION}" ]; then
|
||||
echo "skipping installation of autoconf ${AUTOCONF_VERSION}, system provides autoconf ${INSTALLED}"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
fetch_source ${AUTOCONF_ROOT}.tar.gz ${AUTOCONF_DOWNLOAD_URL}
|
||||
check_sha256sum ${AUTOCONF_ROOT}.tar.gz ${AUTOCONF_HASH}
|
||||
tar -zxf ${AUTOCONF_ROOT}.tar.gz
|
||||
pushd ${AUTOCONF_ROOT}
|
||||
DESTDIR=/manylinux-rootfs do_standard_install
|
||||
popd
|
||||
rm -rf ${AUTOCONF_ROOT} ${AUTOCONF_ROOT}.tar.gz
|
||||
|
||||
# Strip what we can
|
||||
strip_ /manylinux-rootfs
|
||||
|
||||
# Install
|
||||
cp -rlf /manylinux-rootfs/* /
|
||||
|
||||
# Remove temporary rootfs
|
||||
rm -rf /manylinux-rootfs
|
||||
|
||||
hash -r
|
||||
autoconf --version
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Top-level build script called from Dockerfile
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
# Install newest automake
|
||||
check_var ${AUTOMAKE_ROOT}
|
||||
check_var ${AUTOMAKE_HASH}
|
||||
check_var ${AUTOMAKE_DOWNLOAD_URL}
|
||||
|
||||
AUTOMAKE_VERSION=${AUTOMAKE_ROOT#*-}
|
||||
if automake --version > /dev/null 2>&1; then
|
||||
INSTALLED=$(automake --version | head -1 | awk '{ print $NF }')
|
||||
SMALLEST=$(echo -e "${INSTALLED}\n${AUTOMAKE_VERSION}" | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | head -1)
|
||||
if [ "${SMALLEST}" == "${AUTOMAKE_VERSION}" ]; then
|
||||
echo "skipping installation of automake ${AUTOMAKE_VERSION}, system provides automake ${INSTALLED}"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
fetch_source ${AUTOMAKE_ROOT}.tar.gz ${AUTOMAKE_DOWNLOAD_URL}
|
||||
check_sha256sum ${AUTOMAKE_ROOT}.tar.gz ${AUTOMAKE_HASH}
|
||||
tar -zxf ${AUTOMAKE_ROOT}.tar.gz
|
||||
pushd ${AUTOMAKE_ROOT}
|
||||
DESTDIR=/manylinux-rootfs do_standard_install
|
||||
popd
|
||||
rm -rf ${AUTOMAKE_ROOT} ${AUTOMAKE_ROOT}.tar.gz
|
||||
|
||||
# Strip what we can
|
||||
strip_ /manylinux-rootfs
|
||||
|
||||
# Install
|
||||
cp -rlf /manylinux-rootfs/* /
|
||||
|
||||
# Remove temporary rootfs
|
||||
rm -rf /manylinux-rootfs
|
||||
|
||||
hash -r
|
||||
automake --version
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Install packages that will be needed at runtime
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
|
||||
# if a devel package is added to COMPILE_DEPS,
|
||||
# make sure the corresponding library is added to RUNTIME_DEPS if applicable
|
||||
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
|
||||
PACKAGE_MANAGER=yum
|
||||
COMPILE_DEPS="bzip2-devel ncurses-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel openssl openssl-devel keyutils-libs-devel krb5-devel libcom_err-devel libidn-devel curl-devel uuid-devel libffi-devel kernel-headers"
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ]; then
|
||||
COMPILE_DEPS="${COMPILE_DEPS} db4-devel"
|
||||
else
|
||||
COMPILE_DEPS="${COMPILE_DEPS} libdb-devel"
|
||||
fi
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then
|
||||
PACKAGE_MANAGER=apt
|
||||
COMPILE_DEPS="libbz2-dev libncurses5-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev liblzma-dev openssl libssl-dev libkeyutils-dev libkrb5-dev comerr-dev libidn2-0-dev libcurl4-openssl-dev uuid-dev libffi-dev linux-kernel-headers"
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then
|
||||
PACKAGE_MANAGER=apk
|
||||
COMPILE_DEPS="bzip2-dev ncurses-dev readline-dev tk-dev gdbm-dev libpcap-dev xz-dev openssl openssl-dev keyutils-dev krb5-dev libcom_err libidn-dev curl-dev util-linux-dev libffi-dev linux-headers"
|
||||
else
|
||||
echo "Unsupported policy: '${AUDITWHEEL_POLICY}'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
if [ "${PACKAGE_MANAGER}" == "yum" ]; then
|
||||
yum -y install ${COMPILE_DEPS}
|
||||
yum clean all
|
||||
rm -rf /var/cache/yum
|
||||
elif [ "${PACKAGE_MANAGER}" == "apt" ]; then
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update -qq
|
||||
apt-get install -qq -y --no-install-recommends ${COMPILE_DEPS}
|
||||
apt-get clean -qq
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
elif [ "${PACKAGE_MANAGER}" == "apk" ]; then
|
||||
apk add --no-cache ${COMPILE_DEPS}
|
||||
else
|
||||
echo "Not implemented"
|
||||
exit 1
|
||||
fi
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
#!/bin/sh
|
||||
# Install entrypoint:
|
||||
# - make sure yum is configured correctly and linux32 is available on i686
|
||||
# - install bash on Alpine as most scripts require it
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exu
|
||||
|
||||
# Set build environment variables
|
||||
MY_DIR=$(dirname "$0")
|
||||
|
||||
|
||||
if [ "${AUDITWHEEL_PLAT}" = "manylinux2010_i686" ] || [ "${AUDITWHEEL_PLAT}" = "manylinux2014_i686" ]; then
|
||||
echo "i386" > /etc/yum/vars/basearch
|
||||
fixup-mirrors
|
||||
yum -y update
|
||||
fixup-mirrors
|
||||
yum install -y util-linux-ng
|
||||
# update system packages, we already updated them but
|
||||
# the following script takes care of cleaning-up some things
|
||||
# and since it's also needed in the finalize step, everything's
|
||||
# centralized in this script to avoid code duplication
|
||||
LC_ALL=C "${MY_DIR}/update-system-packages.sh"
|
||||
fi
|
||||
|
||||
if [ "${AUDITWHEEL_POLICY}" = "musllinux_1_1" ]; then
|
||||
apk add --no-cache bash
|
||||
fi
|
||||
|
||||
# https://www.shellcheck.net/wiki/SC3020
|
||||
if command -v yum 2>&1 ; then
|
||||
yum install -y yum-plugin-versionlock
|
||||
yum versionlock cuda* libcudnn* libnccl*
|
||||
fi
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Top-level build script called from Dockerfile
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
# Install newest libtool
|
||||
check_var ${LIBTOOL_ROOT}
|
||||
check_var ${LIBTOOL_HASH}
|
||||
check_var ${LIBTOOL_DOWNLOAD_URL}
|
||||
fetch_source ${LIBTOOL_ROOT}.tar.gz ${LIBTOOL_DOWNLOAD_URL}
|
||||
check_sha256sum ${LIBTOOL_ROOT}.tar.gz ${LIBTOOL_HASH}
|
||||
tar -zxf ${LIBTOOL_ROOT}.tar.gz
|
||||
pushd ${LIBTOOL_ROOT}
|
||||
DESTDIR=/manylinux-rootfs do_standard_install
|
||||
popd
|
||||
rm -rf ${LIBTOOL_ROOT} ${LIBTOOL_ROOT}.tar.gz
|
||||
|
||||
# Strip what we can
|
||||
strip_ /manylinux-rootfs
|
||||
|
||||
# Install
|
||||
cp -rlf /manylinux-rootfs/* /
|
||||
|
||||
# Remove temporary rootfs
|
||||
rm -rf /manylinux-rootfs
|
||||
|
||||
hash -r
|
||||
libtoolize --version
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Top-level build script called from Dockerfile
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
if [ "$BASE_POLICY" == "musllinux" ]; then
|
||||
echo "Skip libxcrypt installation on musllinux"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# We need perl 5.14+
|
||||
if ! perl -e 'use 5.14.0' &> /dev/null; then
|
||||
check_var ${PERL_ROOT}
|
||||
check_var ${PERL_HASH}
|
||||
check_var ${PERL_DOWNLOAD_URL}
|
||||
fetch_source ${PERL_ROOT}.tar.gz ${PERL_DOWNLOAD_URL}
|
||||
check_sha256sum "${PERL_ROOT}.tar.gz" "${PERL_HASH}"
|
||||
|
||||
tar -xzf ${PERL_ROOT}.tar.gz
|
||||
pushd ${PERL_ROOT}
|
||||
./Configure -des -Dprefix=/tmp/perl-libxcrypt > /dev/null
|
||||
make -j$(nproc) > /dev/null
|
||||
make install > /dev/null
|
||||
popd
|
||||
|
||||
rm -rf ${PERL_ROOT}.tar.gz ${PERL_ROOT}
|
||||
export PATH=/tmp/perl-libxcrypt/bin:${PATH}
|
||||
fi
|
||||
|
||||
# Install libcrypt.so.1 and libcrypt.so.2
|
||||
check_var ${LIBXCRYPT_VERSION}
|
||||
check_var ${LIBXCRYPT_HASH}
|
||||
check_var ${LIBXCRYPT_DOWNLOAD_URL}
|
||||
fetch_source v${LIBXCRYPT_VERSION}.tar.gz ${LIBXCRYPT_DOWNLOAD_URL}
|
||||
check_sha256sum "v${LIBXCRYPT_VERSION}.tar.gz" "${LIBXCRYPT_HASH}"
|
||||
tar xfz "v${LIBXCRYPT_VERSION}.tar.gz"
|
||||
pushd "libxcrypt-${LIBXCRYPT_VERSION}"
|
||||
./autogen.sh > /dev/null
|
||||
DESTDIR=/manylinux-rootfs do_standard_install \
|
||||
--disable-obsolete-api \
|
||||
--enable-hashes=all \
|
||||
--disable-werror
|
||||
# we also need libcrypt.so.1 with glibc compatibility for system libraries
|
||||
# c.f https://github.com/pypa/manylinux/issues/305#issuecomment-625902928
|
||||
make clean > /dev/null
|
||||
sed -r -i 's/XCRYPT_([0-9.])+/-/g;s/(%chain OW_CRYPT_1.0).*/\1/g' lib/libcrypt.map.in
|
||||
DESTDIR=/manylinux-rootfs/so.1 do_standard_install \
|
||||
--disable-xcrypt-compat-files \
|
||||
--enable-obsolete-api=glibc \
|
||||
--enable-hashes=all \
|
||||
--disable-werror
|
||||
cp -P /manylinux-rootfs/so.1/usr/local/lib/libcrypt.so.1* /manylinux-rootfs/usr/local/lib/
|
||||
rm -rf /manylinux-rootfs/so.1
|
||||
popd
|
||||
rm -rf "v${LIBXCRYPT_VERSION}.tar.gz" "libxcrypt-${LIBXCRYPT_VERSION}"
|
||||
|
||||
# Strip what we can
|
||||
strip_ /manylinux-rootfs
|
||||
|
||||
# Install
|
||||
cp -rlf /manylinux-rootfs/* /
|
||||
|
||||
# Remove temporary rootfs
|
||||
rm -rf /manylinux-rootfs
|
||||
|
||||
# Delete GLIBC version headers and libraries
|
||||
rm -rf /usr/include/crypt.h
|
||||
find /lib* /usr/lib* \( -name 'libcrypt.a' -o -name 'libcrypt.so' -o -name 'libcrypt.so.*' -o -name 'libcrypt-2.*.so' \) -delete
|
||||
ldconfig
|
||||
|
||||
# Remove temp Perl
|
||||
if [ -d /tmp/perl-libxcrypt ]; then
|
||||
rm -rf /tmp/perl-libxcrypt
|
||||
fi
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Top-level build script called from Dockerfile
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
# Install patchelf (latest with unreleased bug fixes) and apply our patches
|
||||
check_var ${PATCHELF_VERSION}
|
||||
check_var ${PATCHELF_HASH}
|
||||
check_var ${PATCHELF_DOWNLOAD_URL}
|
||||
fetch_source ${PATCHELF_VERSION}.tar.gz ${PATCHELF_DOWNLOAD_URL}
|
||||
check_sha256sum ${PATCHELF_VERSION}.tar.gz ${PATCHELF_HASH}
|
||||
tar -xzf ${PATCHELF_VERSION}.tar.gz
|
||||
pushd patchelf-${PATCHELF_VERSION}
|
||||
./bootstrap.sh
|
||||
DESTDIR=/manylinux-rootfs do_standard_install
|
||||
popd
|
||||
rm -rf ${PATCHELF_VERSION}.tar.gz patchelf-${PATCHELF_VERSION}
|
||||
|
||||
# Strip what we can
|
||||
strip_ /manylinux-rootfs
|
||||
|
||||
# Install
|
||||
cp -rlf /manylinux-rootfs/* /
|
||||
|
||||
# Remove temporary rootfs
|
||||
rm -rf /manylinux-rootfs
|
||||
|
||||
patchelf --version
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
if [ "${BASE_POLICY}" == "musllinux" ]; then
|
||||
echo "Skip PyPy build on musllinux"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
PYTHON_VERSION=$1
|
||||
PYPY_VERSION=$2
|
||||
PYPY_DOWNLOAD_URL=https://downloads.python.org/pypy
|
||||
|
||||
|
||||
function get_shortdir {
|
||||
local exe=$1
|
||||
$exe -c 'import sys; print("pypy%d.%d-%d.%d.%d" % (sys.version_info[:2]+sys.pypy_version_info[:3]))'
|
||||
}
|
||||
|
||||
|
||||
mkdir -p /tmp
|
||||
cd /tmp
|
||||
|
||||
case ${AUDITWHEEL_ARCH} in
|
||||
x86_64) PYPY_ARCH=linux64;;
|
||||
i686) PYPY_ARCH=linux32;;
|
||||
aarch64) PYPY_ARCH=aarch64;;
|
||||
*) echo "No PyPy for ${AUDITWHEEL_ARCH}"; exit 0;;
|
||||
esac
|
||||
|
||||
TARBALL=pypy${PYTHON_VERSION}-v${PYPY_VERSION}-${PYPY_ARCH}.tar.bz2
|
||||
TMPDIR=/tmp/${TARBALL/.tar.bz2//}
|
||||
PREFIX="/opt/_internal"
|
||||
|
||||
mkdir -p ${PREFIX}
|
||||
|
||||
fetch_source ${TARBALL} ${PYPY_DOWNLOAD_URL}
|
||||
|
||||
# We only want to check the current tarball sha256sum
|
||||
grep " ${TARBALL}\$" ${MY_DIR}/pypy.sha256 > ${TARBALL}.sha256
|
||||
# then check sha256 sum
|
||||
sha256sum -c ${TARBALL}.sha256
|
||||
|
||||
tar -xf ${TARBALL}
|
||||
|
||||
# the new PyPy 3 distributions don't have pypy symlinks to pypy3
|
||||
if [ ! -f "${TMPDIR}/bin/pypy" ]; then
|
||||
ln -s pypy3 ${TMPDIR}/bin/pypy
|
||||
fi
|
||||
|
||||
# rename the directory to something shorter like pypy3.7-7.3.4
|
||||
PREFIX=${PREFIX}/$(get_shortdir ${TMPDIR}/bin/pypy)
|
||||
mv ${TMPDIR} ${PREFIX}
|
||||
|
||||
# add a generic "python" symlink
|
||||
if [ ! -f "${PREFIX}/bin/python" ]; then
|
||||
ln -s pypy ${PREFIX}/bin/python
|
||||
fi
|
||||
|
||||
# remove debug symbols
|
||||
rm ${PREFIX}/bin/*.debug
|
||||
|
||||
# We do not need the Python test suites
|
||||
find ${PREFIX} -depth \( -type d -a -name test -o -name tests \) | xargs rm -rf
|
||||
|
||||
# We do not need precompiled .pyc and .pyo files.
|
||||
clean_pyc ${PREFIX}
|
||||
|
|
@ -1,170 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Install packages that will be needed at runtime
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Set build environment variables
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
# Libraries that are allowed as part of the manylinux2014 profile
|
||||
# Extract from PEP: https://www.python.org/dev/peps/pep-0599/#the-manylinux2014-policy
|
||||
# On RPM-based systems, they are provided by these packages:
|
||||
# Package: Libraries
|
||||
# glib2: libglib-2.0.so.0, libgthread-2.0.so.0, libgobject-2.0.so.0
|
||||
# glibc: libresolv.so.2, libutil.so.1, libnsl.so.1, librt.so.1, libpthread.so.0, libdl.so.2, libm.so.6, libc.so.6
|
||||
# libICE: libICE.so.6
|
||||
# libX11: libX11.so.6
|
||||
# libXext: libXext.so.6
|
||||
# libXrender: libXrender.so.1
|
||||
# libgcc: libgcc_s.so.1
|
||||
# libstdc++: libstdc++.so.6
|
||||
# mesa: libGL.so.1
|
||||
#
|
||||
# PEP is missing the package for libSM.so.6 for RPM based system
|
||||
#
|
||||
# With PEP600, more packages are allowed by auditwheel policies
|
||||
# - libz.so.1
|
||||
# - libexpat.so.1
|
||||
|
||||
|
||||
# MANYLINUX_DEPS: Install development packages (except for libgcc which is provided by gcc install)
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
|
||||
MANYLINUX_DEPS="glibc-devel libstdc++-devel glib2-devel libX11-devel libXext-devel libXrender-devel mesa-libGL-devel libICE-devel libSM-devel zlib-devel expat-devel"
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then
|
||||
MANYLINUX_DEPS="libc6-dev libstdc++-6-dev libglib2.0-dev libx11-dev libxext-dev libxrender-dev libgl1-mesa-dev libice-dev libsm-dev libz-dev libexpat1-dev"
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then
|
||||
MANYLINUX_DEPS="musl-dev libstdc++ glib-dev libx11-dev libxext-dev libxrender-dev mesa-dev libice-dev libsm-dev zlib-dev expat-dev"
|
||||
else
|
||||
echo "Unsupported policy: '${AUDITWHEEL_POLICY}'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# RUNTIME_DEPS: Runtime dependencies. c.f. install-build-packages.sh
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
|
||||
RUNTIME_DEPS="zlib bzip2 expat ncurses readline tk gdbm libpcap xz openssl keyutils-libs libkadm5 libcom_err libidn libcurl uuid libffi"
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ]; then
|
||||
RUNTIME_DEPS="${RUNTIME_DEPS} db4"
|
||||
else
|
||||
RUNTIME_DEPS="${RUNTIME_DEPS} libdb"
|
||||
fi
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then
|
||||
RUNTIME_DEPS="zlib1g libbz2-1.0 libexpat1 libncurses5 libreadline7 tk libgdbm3 libdb5.3 libpcap0.8 liblzma5 libssl1.1 libkeyutils1 libkrb5-3 libcomerr2 libidn2-0 libcurl3 uuid libffi6"
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then
|
||||
# remove libgdbm3
|
||||
RUNTIME_DEPS="zlib1g libbz2-1.0 libexpat1 libncurses5 libreadline7 tk libdb5.3 libpcap0.8 liblzma5 libssl1.1 libkeyutils1 libkrb5-3 libcomerr2 libidn2-0 libcurl3 uuid libffi6"
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then
|
||||
RUNTIME_DEPS="zlib bzip2 expat ncurses5-libs readline tk gdbm db xz openssl keyutils-libs krb5-libs libcom_err libidn2 libcurl libuuid libffi"
|
||||
else
|
||||
echo "Unsupported policy: '${AUDITWHEEL_POLICY}'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BASETOOLS="autoconf automake bison bzip2 diffutils file make patch unzip"
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ]; then
|
||||
PACKAGE_MANAGER=yum
|
||||
BASETOOLS="${BASETOOLS} hardlink which"
|
||||
# See https://unix.stackexchange.com/questions/41784/can-yum-express-a-preference-for-x86-64-over-i386-packages
|
||||
echo "multilib_policy=best" >> /etc/yum.conf
|
||||
fixup-mirrors
|
||||
yum -y update
|
||||
fixup-mirrors
|
||||
yum -y install https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm curl
|
||||
fixup-mirrors
|
||||
TOOLCHAIN_DEPS="devtoolset-8-binutils devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-gcc-gfortran yasm"
|
||||
if [ "${AUDITWHEEL_ARCH}" == "x86_64" ]; then
|
||||
# Software collection (for devtoolset-8)
|
||||
yum -y install centos-release-scl
|
||||
fixup-mirrors
|
||||
elif [ "${AUDITWHEEL_ARCH}" == "i686" ]; then
|
||||
# Add libgfortran4 for devtoolset-7 compat
|
||||
TOOLCHAIN_DEPS="${TOOLCHAIN_DEPS} libgfortran4"
|
||||
# Install mayeut/devtoolset-8 repo to get devtoolset-8
|
||||
curl -fsSLo /etc/yum.repos.d/mayeut-devtoolset-8.repo https://copr.fedorainfracloud.org/coprs/mayeut/devtoolset-8-i386/repo/custom-1/mayeut-devtoolset-8-i386-custom-1.repo
|
||||
fi
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
|
||||
PACKAGE_MANAGER=yum
|
||||
BASETOOLS="${BASETOOLS} hardlink hostname which"
|
||||
# See https://unix.stackexchange.com/questions/41784/can-yum-express-a-preference-for-x86-64-over-i386-packages
|
||||
echo "multilib_policy=best" >> /etc/yum.conf
|
||||
# Error out if requested packages do not exist
|
||||
echo "skip_missing_names_on_install=False" >> /etc/yum.conf
|
||||
# Make sure that locale will not be removed
|
||||
sed -i '/^override_install_langs=/d' /etc/yum.conf
|
||||
# Exclude mirror holding broken package metadata
|
||||
echo "exclude = d36uatko69830t.cloudfront.net" >> /etc/yum/pluginconf.d/fastestmirror.conf
|
||||
yum -y update
|
||||
yum -y install yum-utils curl
|
||||
yum-config-manager --enable extras
|
||||
|
||||
#Added by @snnn
|
||||
if [ -d "/usr/local/cuda-10.2" ]; then
|
||||
TOOLCHAIN_DEPS="devtoolset-8-binutils devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-gcc-gfortran"
|
||||
elif [ -d "/usr/local/cuda-11.1" ]; then
|
||||
TOOLCHAIN_DEPS="devtoolset-9-binutils devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-gcc-gfortran"
|
||||
else
|
||||
TOOLCHAIN_DEPS="devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-gcc-gfortran"
|
||||
fi
|
||||
if [ "${AUDITWHEEL_ARCH}" == "x86_64" ]; then
|
||||
# Software collection (for devtoolset-10)
|
||||
yum -y install centos-release-scl-rh
|
||||
# EPEL support (for yasm)
|
||||
if ! rpm -q --quiet epel-release ; then
|
||||
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
||||
fi
|
||||
TOOLCHAIN_DEPS="${TOOLCHAIN_DEPS} yasm"
|
||||
elif [ "${AUDITWHEEL_ARCH}" == "aarch64" ] || [ "${AUDITWHEEL_ARCH}" == "ppc64le" ] || [ "${AUDITWHEEL_ARCH}" == "s390x" ]; then
|
||||
# Software collection (for devtoolset-10)
|
||||
yum -y install centos-release-scl-rh
|
||||
elif [ "${AUDITWHEEL_ARCH}" == "i686" ]; then
|
||||
# No yasm on i686
|
||||
# Install mayeut/devtoolset-10 repo to get devtoolset-10
|
||||
curl -fsSLo /etc/yum.repos.d/mayeut-devtoolset-10.repo https://copr.fedorainfracloud.org/coprs/mayeut/devtoolset-10/repo/custom-1/mayeut-devtoolset-10-custom-1.repo
|
||||
fi
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then
|
||||
PACKAGE_MANAGER=apt
|
||||
BASETOOLS="${BASETOOLS} hardlink hostname"
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sed -i 's/none/en_US/g' /etc/apt/apt.conf.d/docker-no-languages
|
||||
apt-get update -qq
|
||||
apt-get upgrade -qq -y
|
||||
apt-get install -qq -y --no-install-recommends ca-certificates gpg curl locales
|
||||
TOOLCHAIN_DEPS="binutils gcc g++ gfortran"
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then
|
||||
TOOLCHAIN_DEPS="binutils gcc g++ gfortran"
|
||||
BASETOOLS="${BASETOOLS} curl util-linux"
|
||||
PACKAGE_MANAGER=apk
|
||||
apk add --no-cache ca-certificates gnupg
|
||||
else
|
||||
echo "Unsupported policy: '${AUDITWHEEL_POLICY}'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "${PACKAGE_MANAGER}" == "yum" ]; then
|
||||
yum -y install ${BASETOOLS} ${TOOLCHAIN_DEPS} ${MANYLINUX_DEPS} ${RUNTIME_DEPS}
|
||||
elif [ "${PACKAGE_MANAGER}" == "apt" ]; then
|
||||
apt-get install -qq -y --no-install-recommends ${BASETOOLS} ${TOOLCHAIN_DEPS} ${MANYLINUX_DEPS} ${RUNTIME_DEPS}
|
||||
elif [ "${PACKAGE_MANAGER}" == "apk" ]; then
|
||||
apk add --no-cache ${BASETOOLS} ${TOOLCHAIN_DEPS} ${MANYLINUX_DEPS} ${RUNTIME_DEPS}
|
||||
else
|
||||
echo "Not implemented"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# update system packages, we already updated them but
|
||||
# the following script takes care of cleaning-up some things
|
||||
# and since it's also needed in the finalize step, everything's
|
||||
# centralized in this script to avoid code duplication
|
||||
LC_ALL=C ${MY_DIR}/update-system-packages.sh
|
||||
|
||||
if [ "${BASE_POLICY}" == "manylinux" ]; then
|
||||
# we'll be removing libcrypt.so.1 later on
|
||||
# this is needed to ensure the new one will be found
|
||||
# as LD_LIBRARY_PATH does not seem enough.
|
||||
# c.f. https://github.com/pypa/manylinux/issues/1022
|
||||
echo "/usr/local/lib" > /etc/ld.so.conf.d/00-manylinux.conf
|
||||
ldconfig
|
||||
fi
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
a1a84882525dd574c4b051b66e9b7ef0e132392acc2f729420d7825f96835216 pypy3.7-v7.3.7-aarch64.tar.bz2
|
||||
0ab9e2e8ae1ac463bb811b9d3ba24d138f41f7378c17ca9e2d8dee51bf151d19 pypy3.7-v7.3.7-linux32.tar.bz2
|
||||
8332f923755441fedfe4767a84601c94f4d6f8475384406cb5f259ad8d0b2002 pypy3.7-v7.3.7-linux64.tar.bz2
|
||||
cbd44e0a9146b3c03a9d14b265774a848f387ed846316c3e984847e278d0efd3 pypy3.8-v7.3.7-aarch64.tar.bz2
|
||||
dfb9d005f0fc917edc60fd618143e4934c412f9168b55166f5519ba0a3b1a835 pypy3.8-v7.3.7-linux32.tar.bz2
|
||||
5dee37c7c3cb8b160028fbde3a5901c68043dfa545a16794502b897d4bc40d7e pypy3.8-v7.3.7-linux64.tar.bz2
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
# Utility script to print the python tag + the abi tag for a Python
|
||||
# See PEP 425 for exactly what these are, but an example would be:
|
||||
# cp27-cp27mu
|
||||
|
||||
from wheel.vendored.packaging.tags import sys_tags
|
||||
|
||||
# first tag is always the more specific tag
|
||||
tag = next(sys_tags())
|
||||
print("{0}-{1}".format(tag.interpreter, tag.abi))
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile with python 3.9
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --generate-hashes --output-file=docker/build_scripts/requirements-base-tools.txt requirements-base-tools.in
|
||||
#
|
||||
argcomplete==1.12.3 \
|
||||
--hash=sha256:291f0beca7fd49ce285d2f10e4c1c77e9460cf823eef2de54df0c0fec88b0d81 \
|
||||
--hash=sha256:2c7dbffd8c045ea534921e63b0be6fe65e88599990d8dc408ac8c542b72a5445
|
||||
# via pipx
|
||||
certifi==2021.10.8 \
|
||||
--hash=sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872 \
|
||||
--hash=sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569
|
||||
# via -r requirements-base-tools.in
|
||||
click==8.0.3 \
|
||||
--hash=sha256:353f466495adaeb40b6b5f592f9f91cb22372351c84caeb068132442a4518ef3 \
|
||||
--hash=sha256:410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b
|
||||
# via userpath
|
||||
packaging==21.2 \
|
||||
--hash=sha256:096d689d78ca690e4cd8a89568ba06d07ca097e3306a4381635073ca91479966 \
|
||||
--hash=sha256:14317396d1e8cdb122989b916fa2c7e9ca8e2be9e8060a6eff75b6b7b4d8a7e0
|
||||
# via pipx
|
||||
pipx==0.16.4 \
|
||||
--hash=sha256:992e78082c0b33c7bc708176ce9e0df9bac9ae3b08bf111c368571bc32e723d6 \
|
||||
--hash=sha256:e207e1b1a9014bdb0c484b974381fc5a96729685dba91355888372172d1e3264
|
||||
# via -r requirements-base-tools.in
|
||||
pyparsing==2.4.7 \
|
||||
--hash=sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1 \
|
||||
--hash=sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b
|
||||
# via packaging
|
||||
userpath==1.7.0 \
|
||||
--hash=sha256:4c3d3b611706a8b0c6309510c8b1a774c54eb491cafe7df58dc5571c0bee30e2 \
|
||||
--hash=sha256:dcd66c5fa9b1a3c12362f309bbb5bc7992bac8af86d17b4e6b1a4b166a11c43f
|
||||
# via pipx
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile with python 3.9
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --generate-hashes --output-file=docker/build_scripts/requirements-tools.txt requirements-tools.in
|
||||
#
|
||||
argcomplete==1.12.3 \
|
||||
--hash=sha256:291f0beca7fd49ce285d2f10e4c1c77e9460cf823eef2de54df0c0fec88b0d81 \
|
||||
--hash=sha256:2c7dbffd8c045ea534921e63b0be6fe65e88599990d8dc408ac8c542b72a5445
|
||||
# via pipx
|
||||
auditwheel==4.0.0 \
|
||||
--hash=sha256:03a079fe273f42336acdb5953ff5ce7578f93ca6a832b16c835fe337a1e2bd4a \
|
||||
--hash=sha256:96927695ddf27b4edb67291e326908d64ffe272b8a42b9504f283e7ae5ebbc14
|
||||
# via -r requirements-tools.in
|
||||
certifi==2021.5.30 \
|
||||
--hash=sha256:2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee \
|
||||
--hash=sha256:50b1e4f8446b06f41be7dd6338db18e0990601dce795c2b1686458aa7e8fa7d8
|
||||
# via -r requirements-tools.in
|
||||
click==8.0.1 \
|
||||
--hash=sha256:8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a \
|
||||
--hash=sha256:fba402a4a47334742d782209a7c79bc448911afe1149d07bdabdf480b3e2f4b6
|
||||
# via userpath
|
||||
cmake==3.21.0 \
|
||||
--hash=sha256:0a02fb58d782f403587f119535ef0905941308494547053b97cd7cb4df181a07 \
|
||||
--hash=sha256:10247eced45fd7cd82f8f45700a764822c7a768cbb53d54169ea9a9a79252b84 \
|
||||
--hash=sha256:68889247d5f78848bb87d3dec5716169f918c04b11a900084b3259ddeee64dba \
|
||||
--hash=sha256:6e6083d95872124beea93c3abd405f353ad2d870902866f7c92cdb370621c379 \
|
||||
--hash=sha256:73be00791abbf85a482417f10cd7fd9d352b25a5fbc89ab635a571578042278c \
|
||||
--hash=sha256:76e87e27e889f57cf5a2553754b16a6f16edcb8eadaa638506842c4324bdf4eb \
|
||||
--hash=sha256:cbc1768df88daee24ecdf98f263422a6d8862bbd126084287d80017f7e7af34c \
|
||||
--hash=sha256:cd51962b6021760bc5ac2eea5eaa5a8d8bec5820d6e299dee084f133c3440bba \
|
||||
--hash=sha256:e1f96e8ef7776d413669cec93e07437e201a0b84b325974fc3563edec4f2ad20
|
||||
# via -r requirements-tools.in
|
||||
packaging==21.0 \
|
||||
--hash=sha256:7dc96269f53a4ccec5c0670940a4281106dd0bb343f47b7471f779df49c2fbe7 \
|
||||
--hash=sha256:c86254f9220d55e31cc94d69bade760f0847da8000def4dfe1c6b872fd14ff14
|
||||
# via pipx
|
||||
pipx==0.16.3 \
|
||||
--hash=sha256:51fa41281383212db3b2a6906713871edc1a7d597ae387873026402e281a0b25 \
|
||||
--hash=sha256:f8af81adaf55716a44f62197528ed3468e33ce53afa21f3b9fe812319bef851c
|
||||
# via -r requirements-tools.in
|
||||
pyelftools==0.27 \
|
||||
--hash=sha256:5609aa6da1123fccfae2e8431a67b4146aa7fad5b3889f808df12b110f230937 \
|
||||
--hash=sha256:cde854e662774c5457d688ca41615f6594187ba7067af101232df889a6b7a66b
|
||||
# via auditwheel
|
||||
pyparsing==2.4.7 \
|
||||
--hash=sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1 \
|
||||
--hash=sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b
|
||||
# via packaging
|
||||
userpath==1.6.0 \
|
||||
--hash=sha256:43569129eeecec6c567bcbd47120c161a43344712417de013b754191961426db \
|
||||
--hash=sha256:b2b9a5ca1478ecfa63514b48709d650f48bf7be89f62bd236db556b85b6deff6
|
||||
# via pipx
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile with python 3.9
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --generate-hashes --output-file=docker/build_scripts/requirements-tools/auditwheel .nox/update_python_tools/tmp/auditwheel.in
|
||||
#
|
||||
auditwheel==5.0.0 \
|
||||
--hash=sha256:1a38a93eb19ef1494fe395433bc7d485ffc92a95d50791c6ab091975c57d1f0a \
|
||||
--hash=sha256:21332deca38abcc2cf3a9230a3b7f315115ab9f8f4bbbec4a562edb358d7cd4b
|
||||
# via -r .nox/update_python_tools/tmp/auditwheel.in
|
||||
pyelftools==0.27 \
|
||||
--hash=sha256:5609aa6da1123fccfae2e8431a67b4146aa7fad5b3889f808df12b110f230937 \
|
||||
--hash=sha256:cde854e662774c5457d688ca41615f6594187ba7067af101232df889a6b7a66b
|
||||
# via auditwheel
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile with python 3.9
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --generate-hashes --output-file=docker/build_scripts/requirements-tools/cmake .nox/update_python_tools/tmp/cmake.in
|
||||
#
|
||||
cmake==3.21.4 \
|
||||
--hash=sha256:05e3248e84150a1292600bc671cb311c4a9bdb0af64d5045c27d4ed3b7813be7 \
|
||||
--hash=sha256:13798c525cca8cb57598f0f7040a1a81579b9d08188950d9595ef2c2eff10a84 \
|
||||
--hash=sha256:30fa5ed8a5ad66dcd263adb87f3ce3dc2d0ec0ac3958f5becff577e4b62cd065 \
|
||||
--hash=sha256:3673a1fab9f249f606ecfd73248fbeea66f3ed9d3c12dfe539b2b6aa63614ef9 \
|
||||
--hash=sha256:36cf800ff3286980f4717852b7d4dd89aa66568e1d793fa5e3276361f1241ef8 \
|
||||
--hash=sha256:399f9219ba38ceba4d38f8b1150b9a2b11960bb4ed481a9686b522884d17e9f9 \
|
||||
--hash=sha256:6e8ae2e7da141e768e29bd9d140c7feed4479ac21251a2550d027cb9f9a349db \
|
||||
--hash=sha256:9b00f557b9269d3d79cb5feb76c1a69e8aa5f608c617c08f82c94d6af4178f14 \
|
||||
--hash=sha256:c2d93cec76e23dae10ef4a91e24ddb544422e6231cf06d2e602976c2e078977e \
|
||||
--hash=sha256:c970fb61b81c9fc7ca08329ce2b01235323292b52994bc97956d47967c4499dc \
|
||||
--hash=sha256:cb59e6add997e40af53e83288dd74b111732adb455548d52940b1ef1f6f43589 \
|
||||
--hash=sha256:d7bbf5e3f7bedcb8ab7478c383739098af11170edad204659e6191ff95b960f4 \
|
||||
--hash=sha256:d84a7903ba73a453c7566f015a072c65b3a26d9acbcbbed0ec8582c6c81c4c84 \
|
||||
--hash=sha256:dc8c851bdd5c18f2238fcc86778285b14a9f5846d2f7e9c426ed52c636d4071c \
|
||||
--hash=sha256:e0db55681ed10b7175f7fd8e8f31ab18bc299bf534cc8fd31917bb2ffd3596ce \
|
||||
--hash=sha256:edba9012ee4b4dd25d5a58facd3c70f0a4412838d6e03714036f90ce04acd7ee
|
||||
# via -r .nox/update_python_tools/tmp/cmake.in
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
# pip requirements for all cpythons
|
||||
# NOTE: pip has GPG signatures; could download and verify independently.
|
||||
pip==21.1.1 \
|
||||
--hash=sha256:11d095ed5c15265fc5c15cc40a45188675c239fb0f9913b673a33e54ff7d45f0 \
|
||||
--hash=sha256:51ad01ddcd8de923533b01a870e7b987c2eb4d83b50b89e1bf102723ff9fed8b
|
||||
wheel==0.36.2 \
|
||||
--hash=sha256:78b5b185f0e5763c26ca1e324373aadd49182ca90e825f7853f4b2509215dc0e \
|
||||
--hash=sha256:e11eefd162658ea59a60a0f6c7d493a7190ea4b9a85e335b33489d9f17e0245e
|
||||
setuptools==56.2.0 \
|
||||
--hash=sha256:bc30153eec47d82f20c6f5e1a13d4ee725c6deb7013a67557f89bfe5d25235c4 \
|
||||
--hash=sha256:7bb5652625e94e73b9358b7ed8c6431b732e80cf31f4e0972294c64f0e5b849e
|
||||
build==0.3.1.post1 \
|
||||
--hash=sha256:88bc8ff6cb948247bebd5b3bf6b8b71d10fd93bce848f9d2fd9b28cbdd40ae8b \
|
||||
--hash=sha256:85123bf327404e68142b1eb2a8298b052e984ad5b12738549688371e6337c73a
|
||||
packaging==20.9 \
|
||||
--hash=sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5 \
|
||||
--hash=sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a
|
||||
pep517==0.10.0 \
|
||||
--hash=sha256:eba39d201ef937584ad3343df3581069085bacc95454c80188291d5b3ac7a249 \
|
||||
--hash=sha256:ac59f3f6b9726a49e15a649474539442cf76e0697e39df4869d25e68e880931b
|
||||
pyparsing==2.4.7 \
|
||||
--hash=sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1 \
|
||||
--hash=sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b
|
||||
toml==0.10.2 \
|
||||
--hash=sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b \
|
||||
--hash=sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f
|
||||
importlib-metadata==3.7.0 ; python_version<'3.8' \
|
||||
--hash=sha256:24499ffde1b80be08284100393955842be4a59c7c16bbf2738aad0e464a8e0aa \
|
||||
--hash=sha256:c6af5dbf1126cd959c4a8d8efd61d4d3c83bddb0459a17e554284a077574b614
|
||||
zipp==3.4.0 ; python_version<'3.8' \
|
||||
--hash=sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108 \
|
||||
--hash=sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb
|
||||
typing-extensions==3.7.4.3 ; python_version<'3.8' \
|
||||
--hash=sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918 \
|
||||
--hash=sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c \
|
||||
--hash=sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile with python 3.10
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --allow-unsafe --generate-hashes --output-file=docker/build_scripts/requirements3.10.txt requirements.in
|
||||
#
|
||||
build==0.7.0 \
|
||||
--hash=sha256:1aaadcd69338252ade4f7ec1265e1a19184bf916d84c9b7df095f423948cb89f \
|
||||
--hash=sha256:21b7ebbd1b22499c4dac536abc7606696ea4d909fd755e00f09f3c0f2c05e3c8
|
||||
# via -r requirements.in
|
||||
packaging==21.2 \
|
||||
--hash=sha256:096d689d78ca690e4cd8a89568ba06d07ca097e3306a4381635073ca91479966 \
|
||||
--hash=sha256:14317396d1e8cdb122989b916fa2c7e9ca8e2be9e8060a6eff75b6b7b4d8a7e0
|
||||
# via build
|
||||
pep517==0.12.0 \
|
||||
--hash=sha256:931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0 \
|
||||
--hash=sha256:dd884c326898e2c6e11f9e0b64940606a93eb10ea022a2e067959f3a110cf161
|
||||
# via build
|
||||
pyparsing==2.4.7 \
|
||||
--hash=sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1 \
|
||||
--hash=sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b
|
||||
# via packaging
|
||||
tomli==1.2.2 \
|
||||
--hash=sha256:c6ce0015eb38820eaf32b5db832dbc26deb3dd427bd5f6556cf0acac2c214fee \
|
||||
--hash=sha256:f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade
|
||||
# via
|
||||
# build
|
||||
# pep517
|
||||
wheel==0.37.0 \
|
||||
--hash=sha256:21014b2bd93c6d0034b6ba5d35e4eb284340e09d63c59aef6fc14b0f346146fd \
|
||||
--hash=sha256:e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad
|
||||
# via -r requirements.in
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==21.3.1 \
|
||||
--hash=sha256:deaf32dcd9ab821e359cd8330786bcd077604b5c5730c0b096eda46f95c24a2d \
|
||||
--hash=sha256:fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a
|
||||
# via -r requirements.in
|
||||
setuptools==58.5.3 \
|
||||
--hash=sha256:a481fbc56b33f5d8f6b33dce41482e64c68b668be44ff42922903b03872590bf \
|
||||
--hash=sha256:dae6b934a965c8a59d6d230d3867ec408bb95e73bd538ff77e71fedf1eaca729
|
||||
# via -r requirements.in
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile with python 3.6
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --allow-unsafe --generate-hashes --output-file=docker/build_scripts/requirements3.6.txt requirements.in
|
||||
#
|
||||
build==0.7.0 \
|
||||
--hash=sha256:1aaadcd69338252ade4f7ec1265e1a19184bf916d84c9b7df095f423948cb89f \
|
||||
--hash=sha256:21b7ebbd1b22499c4dac536abc7606696ea4d909fd755e00f09f3c0f2c05e3c8
|
||||
# via -r requirements.in
|
||||
importlib-metadata==4.8.1 \
|
||||
--hash=sha256:b618b6d2d5ffa2f16add5697cf57a46c76a56229b0ed1c438322e4e95645bd15 \
|
||||
--hash=sha256:f284b3e11256ad1e5d03ab86bb2ccd6f5339688ff17a4d797a0fe7df326f23b1
|
||||
# via
|
||||
# build
|
||||
# pep517
|
||||
packaging==21.2 \
|
||||
--hash=sha256:096d689d78ca690e4cd8a89568ba06d07ca097e3306a4381635073ca91479966 \
|
||||
--hash=sha256:14317396d1e8cdb122989b916fa2c7e9ca8e2be9e8060a6eff75b6b7b4d8a7e0
|
||||
# via build
|
||||
pep517==0.12.0 \
|
||||
--hash=sha256:931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0 \
|
||||
--hash=sha256:dd884c326898e2c6e11f9e0b64940606a93eb10ea022a2e067959f3a110cf161
|
||||
# via build
|
||||
pyparsing==2.4.7 \
|
||||
--hash=sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1 \
|
||||
--hash=sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b
|
||||
# via packaging
|
||||
tomli==1.2.2 \
|
||||
--hash=sha256:c6ce0015eb38820eaf32b5db832dbc26deb3dd427bd5f6556cf0acac2c214fee \
|
||||
--hash=sha256:f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade
|
||||
# via
|
||||
# build
|
||||
# pep517
|
||||
typing-extensions==3.10.0.2 \
|
||||
--hash=sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e \
|
||||
--hash=sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7 \
|
||||
--hash=sha256:f1d25edafde516b146ecd0613dabcc61409817af4766fbbcfb8d1ad4ec441a34
|
||||
# via importlib-metadata
|
||||
wheel==0.37.0 \
|
||||
--hash=sha256:21014b2bd93c6d0034b6ba5d35e4eb284340e09d63c59aef6fc14b0f346146fd \
|
||||
--hash=sha256:e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad
|
||||
# via -r requirements.in
|
||||
zipp==3.6.0 \
|
||||
--hash=sha256:71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832 \
|
||||
--hash=sha256:9fe5ea21568a0a70e50f273397638d39b03353731e6cbbb3fd8502a33fec40bc
|
||||
# via
|
||||
# importlib-metadata
|
||||
# pep517
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==21.3.1 \
|
||||
--hash=sha256:deaf32dcd9ab821e359cd8330786bcd077604b5c5730c0b096eda46f95c24a2d \
|
||||
--hash=sha256:fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a
|
||||
# via -r requirements.in
|
||||
setuptools==58.5.3 \
|
||||
--hash=sha256:a481fbc56b33f5d8f6b33dce41482e64c68b668be44ff42922903b03872590bf \
|
||||
--hash=sha256:dae6b934a965c8a59d6d230d3867ec408bb95e73bd538ff77e71fedf1eaca729
|
||||
# via -r requirements.in
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile with python 3.7
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --allow-unsafe --generate-hashes --output-file=docker/build_scripts/requirements3.7.txt requirements.in
|
||||
#
|
||||
build==0.7.0 \
|
||||
--hash=sha256:1aaadcd69338252ade4f7ec1265e1a19184bf916d84c9b7df095f423948cb89f \
|
||||
--hash=sha256:21b7ebbd1b22499c4dac536abc7606696ea4d909fd755e00f09f3c0f2c05e3c8
|
||||
# via -r requirements.in
|
||||
importlib-metadata==4.8.1 \
|
||||
--hash=sha256:b618b6d2d5ffa2f16add5697cf57a46c76a56229b0ed1c438322e4e95645bd15 \
|
||||
--hash=sha256:f284b3e11256ad1e5d03ab86bb2ccd6f5339688ff17a4d797a0fe7df326f23b1
|
||||
# via
|
||||
# build
|
||||
# pep517
|
||||
packaging==21.2 \
|
||||
--hash=sha256:096d689d78ca690e4cd8a89568ba06d07ca097e3306a4381635073ca91479966 \
|
||||
--hash=sha256:14317396d1e8cdb122989b916fa2c7e9ca8e2be9e8060a6eff75b6b7b4d8a7e0
|
||||
# via build
|
||||
pep517==0.12.0 \
|
||||
--hash=sha256:931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0 \
|
||||
--hash=sha256:dd884c326898e2c6e11f9e0b64940606a93eb10ea022a2e067959f3a110cf161
|
||||
# via build
|
||||
pyparsing==2.4.7 \
|
||||
--hash=sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1 \
|
||||
--hash=sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b
|
||||
# via packaging
|
||||
tomli==1.2.2 \
|
||||
--hash=sha256:c6ce0015eb38820eaf32b5db832dbc26deb3dd427bd5f6556cf0acac2c214fee \
|
||||
--hash=sha256:f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade
|
||||
# via
|
||||
# build
|
||||
# pep517
|
||||
typing-extensions==3.10.0.2 \
|
||||
--hash=sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e \
|
||||
--hash=sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7 \
|
||||
--hash=sha256:f1d25edafde516b146ecd0613dabcc61409817af4766fbbcfb8d1ad4ec441a34
|
||||
# via importlib-metadata
|
||||
wheel==0.37.0 \
|
||||
--hash=sha256:21014b2bd93c6d0034b6ba5d35e4eb284340e09d63c59aef6fc14b0f346146fd \
|
||||
--hash=sha256:e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad
|
||||
# via -r requirements.in
|
||||
zipp==3.6.0 \
|
||||
--hash=sha256:71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832 \
|
||||
--hash=sha256:9fe5ea21568a0a70e50f273397638d39b03353731e6cbbb3fd8502a33fec40bc
|
||||
# via
|
||||
# importlib-metadata
|
||||
# pep517
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==21.3.1 \
|
||||
--hash=sha256:deaf32dcd9ab821e359cd8330786bcd077604b5c5730c0b096eda46f95c24a2d \
|
||||
--hash=sha256:fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a
|
||||
# via -r requirements.in
|
||||
setuptools==58.5.3 \
|
||||
--hash=sha256:a481fbc56b33f5d8f6b33dce41482e64c68b668be44ff42922903b03872590bf \
|
||||
--hash=sha256:dae6b934a965c8a59d6d230d3867ec408bb95e73bd538ff77e71fedf1eaca729
|
||||
# via -r requirements.in
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile with python 3.8
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --allow-unsafe --generate-hashes --output-file=docker/build_scripts/requirements3.8.txt requirements.in
|
||||
#
|
||||
build==0.7.0 \
|
||||
--hash=sha256:1aaadcd69338252ade4f7ec1265e1a19184bf916d84c9b7df095f423948cb89f \
|
||||
--hash=sha256:21b7ebbd1b22499c4dac536abc7606696ea4d909fd755e00f09f3c0f2c05e3c8
|
||||
# via -r requirements.in
|
||||
packaging==21.2 \
|
||||
--hash=sha256:096d689d78ca690e4cd8a89568ba06d07ca097e3306a4381635073ca91479966 \
|
||||
--hash=sha256:14317396d1e8cdb122989b916fa2c7e9ca8e2be9e8060a6eff75b6b7b4d8a7e0
|
||||
# via build
|
||||
pep517==0.12.0 \
|
||||
--hash=sha256:931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0 \
|
||||
--hash=sha256:dd884c326898e2c6e11f9e0b64940606a93eb10ea022a2e067959f3a110cf161
|
||||
# via build
|
||||
pyparsing==2.4.7 \
|
||||
--hash=sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1 \
|
||||
--hash=sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b
|
||||
# via packaging
|
||||
tomli==1.2.2 \
|
||||
--hash=sha256:c6ce0015eb38820eaf32b5db832dbc26deb3dd427bd5f6556cf0acac2c214fee \
|
||||
--hash=sha256:f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade
|
||||
# via
|
||||
# build
|
||||
# pep517
|
||||
wheel==0.37.0 \
|
||||
--hash=sha256:21014b2bd93c6d0034b6ba5d35e4eb284340e09d63c59aef6fc14b0f346146fd \
|
||||
--hash=sha256:e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad
|
||||
# via -r requirements.in
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==21.3.1 \
|
||||
--hash=sha256:deaf32dcd9ab821e359cd8330786bcd077604b5c5730c0b096eda46f95c24a2d \
|
||||
--hash=sha256:fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a
|
||||
# via -r requirements.in
|
||||
setuptools==58.5.3 \
|
||||
--hash=sha256:a481fbc56b33f5d8f6b33dce41482e64c68b668be44ff42922903b03872590bf \
|
||||
--hash=sha256:dae6b934a965c8a59d6d230d3867ec408bb95e73bd538ff77e71fedf1eaca729
|
||||
# via -r requirements.in
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile with python 3.9
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --allow-unsafe --generate-hashes --output-file=docker/build_scripts/requirements3.9.txt requirements.in
|
||||
#
|
||||
build==0.7.0 \
|
||||
--hash=sha256:1aaadcd69338252ade4f7ec1265e1a19184bf916d84c9b7df095f423948cb89f \
|
||||
--hash=sha256:21b7ebbd1b22499c4dac536abc7606696ea4d909fd755e00f09f3c0f2c05e3c8
|
||||
# via -r requirements.in
|
||||
packaging==21.2 \
|
||||
--hash=sha256:096d689d78ca690e4cd8a89568ba06d07ca097e3306a4381635073ca91479966 \
|
||||
--hash=sha256:14317396d1e8cdb122989b916fa2c7e9ca8e2be9e8060a6eff75b6b7b4d8a7e0
|
||||
# via build
|
||||
pep517==0.12.0 \
|
||||
--hash=sha256:931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0 \
|
||||
--hash=sha256:dd884c326898e2c6e11f9e0b64940606a93eb10ea022a2e067959f3a110cf161
|
||||
# via build
|
||||
pyparsing==2.4.7 \
|
||||
--hash=sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1 \
|
||||
--hash=sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b
|
||||
# via packaging
|
||||
tomli==1.2.2 \
|
||||
--hash=sha256:c6ce0015eb38820eaf32b5db832dbc26deb3dd427bd5f6556cf0acac2c214fee \
|
||||
--hash=sha256:f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade
|
||||
# via
|
||||
# build
|
||||
# pep517
|
||||
wheel==0.37.0 \
|
||||
--hash=sha256:21014b2bd93c6d0034b6ba5d35e4eb284340e09d63c59aef6fc14b0f346146fd \
|
||||
--hash=sha256:e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad
|
||||
# via -r requirements.in
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
pip==21.3.1 \
|
||||
--hash=sha256:deaf32dcd9ab821e359cd8330786bcd077604b5c5730c0b096eda46f95c24a2d \
|
||||
--hash=sha256:fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a
|
||||
# via -r requirements.in
|
||||
setuptools==58.5.3 \
|
||||
--hash=sha256:a481fbc56b33f5d8f6b33dce41482e64c68b668be44ff42922903b03872590bf \
|
||||
--hash=sha256:dae6b934a965c8a59d6d230d3867ec408bb95e73bd538ff77e71fedf1eaca729
|
||||
# via -r requirements.in
|
||||
|
|
@ -1,103 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Update system packages
|
||||
|
||||
# Stop at any error, show all commands
|
||||
set -exuo pipefail
|
||||
|
||||
# Get script directory
|
||||
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# Get build utilities
|
||||
source $MY_DIR/build_utils.sh
|
||||
|
||||
fixup-mirrors
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then
|
||||
yum -y update
|
||||
if ! localedef -V &> /dev/null; then
|
||||
# somebody messed up glibc-common package to squeeze image size, reinstall the package
|
||||
fixup-mirrors
|
||||
yum -y reinstall glibc-common
|
||||
fi
|
||||
yum clean all
|
||||
rm -rf /var/cache/yum
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update -qq
|
||||
apt-get upgrade -qq -y
|
||||
apt-get clean -qq
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
if [ "${AUDITWHEEL_ARCH}" == "s390x" ] || [ "${AUDITWHEEL_ARCH}" == "ppc64le" ]; then
|
||||
# those arch are missing some updates
|
||||
# we need to manually delete some certificates...
|
||||
sed -i '/DST_Root_CA_X3.crt$/d' /etc/ca-certificates.conf
|
||||
find /etc/ssl/certs -name 'DST_Root_CA_X3.pem' -delete
|
||||
update-ca-certificates
|
||||
fi
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then
|
||||
apk upgrade --no-cache
|
||||
else
|
||||
echo "Unsupported policy: '${AUDITWHEEL_POLICY}'"
|
||||
exit 1
|
||||
fi
|
||||
fixup-mirrors
|
||||
|
||||
# do we want to update locales ?
|
||||
if [ "${BASE_POLICY}" == "manylinux" ]; then
|
||||
LOCALE_ARCHIVE=/usr/lib/locale/locale-archive
|
||||
TIMESTAMP_FILE=${LOCALE_ARCHIVE}.ml.timestamp
|
||||
if [ ! -f ${TIMESTAMP_FILE} ] || [ ${LOCALE_ARCHIVE} -nt ${TIMESTAMP_FILE} ]; then
|
||||
# upgrading glibc-common can end with removal on en_US.UTF-8 locale
|
||||
localedef -i en_US -f UTF-8 en_US.UTF-8
|
||||
|
||||
# if we updated glibc, we need to strip locales again...
|
||||
if localedef --list-archive | grep -sq -v -i ^en_US.utf8; then
|
||||
localedef --list-archive | grep -v -i ^en_US.utf8 | xargs localedef --delete-from-archive
|
||||
fi
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ]; then
|
||||
mv -f ${LOCALE_ARCHIVE} ${LOCALE_ARCHIVE}.tmpl
|
||||
build-locale-archive --install-langs="en_US.utf8"
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then
|
||||
rm ${LOCALE_ARCHIVE}
|
||||
localedef -i en_US -f UTF-8 en_US.UTF-8
|
||||
update-locale LANG=en_US.UTF-8
|
||||
fi
|
||||
touch ${TIMESTAMP_FILE}
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d /usr/share/locale ]; then
|
||||
find /usr/share/locale -mindepth 1 -maxdepth 1 -not \( -name 'en*' -or -name 'locale.alias' \) | xargs rm -rf
|
||||
fi
|
||||
if [ -d /usr/local/share/locale ]; then
|
||||
find /usr/local/share/locale -mindepth 1 -maxdepth 1 -not \( -name 'en*' -or -name 'locale.alias' \) | xargs rm -rf
|
||||
fi
|
||||
|
||||
# Fix libc headers to remain compatible with C99 compilers.
|
||||
find /usr/include/ -type f -exec sed -i 's/\bextern _*inline_*\b/extern __inline __attribute__ ((__gnu_inline__))/g' {} +
|
||||
|
||||
if [ "${DEVTOOLSET_ROOTPATH:-}" != "" ]; then
|
||||
# remove useless things that have been installed/updated by devtoolset
|
||||
if [ -d $DEVTOOLSET_ROOTPATH/usr/share/man ]; then
|
||||
rm -rf $DEVTOOLSET_ROOTPATH/usr/share/man
|
||||
fi
|
||||
if [ -d $DEVTOOLSET_ROOTPATH/usr/share/locale ]; then
|
||||
find $DEVTOOLSET_ROOTPATH/usr/share/locale -mindepth 1 -maxdepth 1 -not \( -name 'en*' -or -name 'locale.alias' \) | xargs rm -rf
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d /usr/share/backgrounds ]; then
|
||||
rm -rf /usr/share/backgrounds
|
||||
fi
|
||||
|
||||
if [ -d /usr/local/share/man ]; then
|
||||
# https://github.com/pypa/manylinux/issues/1060
|
||||
# wrong /usr/local/man symlink
|
||||
# only delete the content
|
||||
rm -rf /usr/local/share/man/*
|
||||
fi
|
||||
|
||||
if [ -f /usr/local/lib/libcrypt.so.1 ]; then
|
||||
# Remove libcrypt to only use installed libxcrypt instead
|
||||
find /lib* /usr/lib* \( -name 'libcrypt.a' -o -name 'libcrypt.so' -o -name 'libcrypt.so.*' -o -name 'libcrypt-2.*.so' \) -delete
|
||||
ldconfig
|
||||
fi
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
[cuda]
|
||||
name=cuda
|
||||
baseurl=http://developer.download.nvidia.com/compute/cuda/repos/rhel6/x86_64
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
[cuda]
|
||||
name=cuda
|
||||
baseurl=http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA
|
||||
195
tools/ci_build/github/linux/docker/manylinux.patch
Normal file
195
tools/ci_build/github/linux/docker/manylinux.patch
Normal file
|
|
@ -0,0 +1,195 @@
|
|||
diff -ur /home/chasun/manylinux/docker/build_scripts/build-cpython.sh ./build-cpython.sh
|
||||
--- /home/chasun/manylinux/docker/build_scripts/build-cpython.sh 2022-07-29 02:19:20.983860581 +0000
|
||||
+++ ./build-cpython.sh 2022-07-29 02:19:30.831732784 +0000
|
||||
@@ -52,7 +52,7 @@
|
||||
CFLAGS_NODIST="${MANYLINUX_CFLAGS} ${MANYLINUX_CPPFLAGS}" \
|
||||
LDFLAGS_NODIST="${MANYLINUX_LDFLAGS}" \
|
||||
--prefix=${PREFIX} --disable-shared --with-ensurepip=no > /dev/null
|
||||
-make > /dev/null
|
||||
+make -j$(nproc) > /dev/null
|
||||
make install > /dev/null
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ]; then
|
||||
rm -f /usr/include/ffi.h /usr/include/ffitarget.h
|
||||
diff -ur /home/chasun/manylinux/docker/build_scripts/build-git.sh ./build-git.sh
|
||||
--- /home/chasun/manylinux/docker/build_scripts/build-git.sh 2022-07-29 02:19:20.983860581 +0000
|
||||
+++ ./build-git.sh 2022-07-29 02:19:46.127533315 +0000
|
||||
@@ -27,7 +27,7 @@
|
||||
check_sha256sum ${GIT_ROOT}.tar.gz ${GIT_HASH}
|
||||
tar -xzf ${GIT_ROOT}.tar.gz
|
||||
pushd ${GIT_ROOT}
|
||||
-make install prefix=/usr/local NO_GETTEXT=1 NO_TCLTK=1 DESTDIR=/manylinux-rootfs CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS}" CXXFLAGS="${MANYLINUX_CXXFLAGS}" LDFLAGS="${MANYLINUX_LDFLAGS}"
|
||||
+make -j$(nproc) install prefix=/usr/local NO_GETTEXT=1 NO_TCLTK=1 DESTDIR=/manylinux-rootfs CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS}" CXXFLAGS="${MANYLINUX_CXXFLAGS}" LDFLAGS="${MANYLINUX_LDFLAGS}"
|
||||
popd
|
||||
rm -rf ${GIT_ROOT} ${GIT_ROOT}.tar.gz
|
||||
|
||||
diff -ur /home/chasun/manylinux/docker/build_scripts/build-openssl.sh ./build-openssl.sh
|
||||
--- /home/chasun/manylinux/docker/build_scripts/build-openssl.sh 2022-07-29 02:19:20.983860581 +0000
|
||||
+++ ./build-openssl.sh 2022-07-29 02:19:46.127533315 +0000
|
||||
@@ -42,7 +42,7 @@
|
||||
tar -xzf ${OPENSSL_ROOT}.tar.gz
|
||||
pushd ${OPENSSL_ROOT}
|
||||
./config no-shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS} -fPIC" CXXFLAGS="${MANYLINUX_CXXFLAGS} -fPIC" LDFLAGS="${MANYLINUX_LDFLAGS} -fPIC" > /dev/null
|
||||
-make > /dev/null
|
||||
+make -j$(nproc) > /dev/null
|
||||
make install_sw > /dev/null
|
||||
popd
|
||||
rm -rf ${OPENSSL_ROOT} ${OPENSSL_ROOT}.tar.gz
|
||||
diff -ur /home/chasun/manylinux/docker/build_scripts/build_utils.sh ./build_utils.sh
|
||||
--- /home/chasun/manylinux/docker/build_scripts/build_utils.sh 2022-07-29 02:19:20.983860581 +0000
|
||||
+++ ./build_utils.sh 2022-07-29 02:19:58.119376443 +0000
|
||||
@@ -33,6 +33,7 @@
|
||||
if [ -f ${file} ]; then
|
||||
echo "${file} exists, skipping fetch"
|
||||
else
|
||||
+ apt-get update && apt-get install -y curl gpg-agent
|
||||
curl -fsSL -o ${file} ${url}/${file}
|
||||
fi
|
||||
}
|
||||
@@ -52,7 +53,7 @@
|
||||
|
||||
function do_standard_install {
|
||||
./configure "$@" CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS}" "CXXFLAGS=${MANYLINUX_CXXFLAGS}" LDFLAGS="${MANYLINUX_LDFLAGS}" > /dev/null
|
||||
- make > /dev/null
|
||||
+ make -j$(nproc) > /dev/null
|
||||
make install > /dev/null
|
||||
}
|
||||
|
||||
diff -ur /home/chasun/manylinux/docker/build_scripts/install-build-packages.sh ./install-build-packages.sh
|
||||
--- /home/chasun/manylinux/docker/build_scripts/install-build-packages.sh 2022-07-29 02:19:20.983860581 +0000
|
||||
+++ ./install-build-packages.sh 2022-07-29 02:19:58.119376443 +0000
|
||||
@@ -20,7 +20,7 @@
|
||||
else
|
||||
COMPILE_DEPS="${COMPILE_DEPS} libdb-devel"
|
||||
fi
|
||||
-elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then
|
||||
+elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then
|
||||
PACKAGE_MANAGER=apt
|
||||
COMPILE_DEPS="libbz2-dev libncurses5-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev liblzma-dev openssl libssl-dev libkeyutils-dev libkrb5-dev comerr-dev libidn2-0-dev libcurl4-openssl-dev uuid-dev libffi-dev linux-kernel-headers"
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then
|
||||
diff -ur /home/chasun/manylinux/docker/build_scripts/install-entrypoint.sh ./install-entrypoint.sh
|
||||
--- /home/chasun/manylinux/docker/build_scripts/install-entrypoint.sh 2022-07-19 21:37:58.452393854 +0000
|
||||
+++ ./install-entrypoint.sh 2022-07-29 02:19:58.119376443 +0000
|
||||
@@ -11,18 +11,24 @@
|
||||
|
||||
|
||||
if [ "${AUDITWHEEL_PLAT}" = "manylinux2010_i686" ] || [ "${AUDITWHEEL_PLAT}" = "manylinux2014_i686" ]; then
|
||||
- echo "i386" > /etc/yum/vars/basearch
|
||||
- fixup-mirrors
|
||||
- yum -y update
|
||||
- fixup-mirrors
|
||||
- yum install -y util-linux-ng
|
||||
- # update system packages, we already updated them but
|
||||
- # the following script takes care of cleaning-up some things
|
||||
- # and since it's also needed in the finalize step, everything's
|
||||
- # centralized in this script to avoid code duplication
|
||||
- LC_ALL=C "${MY_DIR}/update-system-packages.sh"
|
||||
+ echo "i386" > /etc/yum/vars/basearch
|
||||
+ fixup-mirrors
|
||||
+ yum -y update
|
||||
+ fixup-mirrors
|
||||
+ yum install -y util-linux-ng
|
||||
+ # update system packages, we already updated them but
|
||||
+ # the following script takes care of cleaning-up some things
|
||||
+ # and since it's also needed in the finalize step, everything's
|
||||
+ # centralized in this script to avoid code duplication
|
||||
+ LC_ALL=C "${MY_DIR}/update-system-packages.sh"
|
||||
fi
|
||||
|
||||
if [ "${AUDITWHEEL_POLICY}" = "musllinux_1_1" ]; then
|
||||
- apk add --no-cache bash
|
||||
+ apk add --no-cache bash
|
||||
+fi
|
||||
+
|
||||
+# https://www.shellcheck.net/wiki/SC3020
|
||||
+if command -v yum 2>&1 ; then
|
||||
+ yum install -y yum-plugin-versionlock
|
||||
+ yum versionlock cuda* libcudnn* libnccl*
|
||||
fi
|
||||
diff -ur /home/chasun/manylinux/docker/build_scripts/install-runtime-packages.sh ./install-runtime-packages.sh
|
||||
--- /home/chasun/manylinux/docker/build_scripts/install-runtime-packages.sh 2022-07-29 02:19:20.983860581 +0000
|
||||
+++ ./install-runtime-packages.sh 2022-07-29 02:19:58.119376443 +0000
|
||||
@@ -34,7 +34,7 @@
|
||||
# MANYLINUX_DEPS: Install development packages (except for libgcc which is provided by gcc install)
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ]; then
|
||||
MANYLINUX_DEPS="glibc-devel libstdc++-devel glib2-devel libX11-devel libXext-devel libXrender-devel mesa-libGL-devel libICE-devel libSM-devel zlib-devel expat-devel"
|
||||
-elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then
|
||||
+elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then
|
||||
MANYLINUX_DEPS="libc6-dev libstdc++-6-dev libglib2.0-dev libx11-dev libxext-dev libxrender-dev libgl1-mesa-dev libice-dev libsm-dev libz-dev libexpat1-dev"
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then
|
||||
MANYLINUX_DEPS="musl-dev libstdc++ glib-dev libx11-dev libxext-dev libxrender-dev mesa-dev libice-dev libsm-dev zlib-dev expat-dev"
|
||||
@@ -53,6 +53,9 @@
|
||||
fi
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then
|
||||
RUNTIME_DEPS="zlib1g libbz2-1.0 libexpat1 libncurses5 libreadline7 tk libgdbm3 libdb5.3 libpcap0.8 liblzma5 libssl1.1 libkeyutils1 libkrb5-3 libcomerr2 libidn2-0 libcurl3 uuid libffi6"
|
||||
+elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then
|
||||
+ # remove libgdbm3
|
||||
+ RUNTIME_DEPS="zlib1g libbz2-1.0 libexpat1 libncurses5 libreadline7 tk libdb5.3 libpcap0.8 liblzma5 libssl1.1 libkeyutils1 libkrb5-3 libcomerr2 libidn2-0 libcurl3 uuid libffi6"
|
||||
elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then
|
||||
RUNTIME_DEPS="zlib bzip2 expat ncurses5-libs readline tk gdbm db xz openssl keyutils-libs krb5-libs libcom_err libidn2 libcurl libuuid libffi"
|
||||
else
|
||||
@@ -96,12 +99,22 @@
|
||||
yum -y update
|
||||
yum -y install yum-utils curl
|
||||
yum-config-manager --enable extras
|
||||
- TOOLCHAIN_DEPS="devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-gcc-gfortran"
|
||||
+
|
||||
+ #Added by @snnn
|
||||
+ if [ -d "/usr/local/cuda-10.2" ]; then
|
||||
+ TOOLCHAIN_DEPS="devtoolset-8-binutils devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-gcc-gfortran"
|
||||
+ elif [ -d "/usr/local/cuda-11.1" ]; then
|
||||
+ TOOLCHAIN_DEPS="devtoolset-9-binutils devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-gcc-gfortran"
|
||||
+ else
|
||||
+ TOOLCHAIN_DEPS="devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-gcc-gfortran"
|
||||
+ fi
|
||||
if [ "${AUDITWHEEL_ARCH}" == "x86_64" ]; then
|
||||
# Software collection (for devtoolset-10)
|
||||
yum -y install centos-release-scl-rh
|
||||
# EPEL support (for yasm)
|
||||
- yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
||||
+ if ! rpm -q --quiet epel-release ; then
|
||||
+ yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
||||
+ fi
|
||||
TOOLCHAIN_DEPS="${TOOLCHAIN_DEPS} yasm"
|
||||
elif [ "${AUDITWHEEL_ARCH}" == "aarch64" ] || [ "${AUDITWHEEL_ARCH}" == "ppc64le" ] || [ "${AUDITWHEEL_ARCH}" == "s390x" ]; then
|
||||
# Software collection (for devtoolset-10)
|
||||
@@ -111,7 +124,7 @@
|
||||
# Install mayeut/devtoolset-10 repo to get devtoolset-10
|
||||
curl -fsSLo /etc/yum.repos.d/mayeut-devtoolset-10.repo https://copr.fedorainfracloud.org/coprs/mayeut/devtoolset-10/repo/custom-1/mayeut-devtoolset-10-custom-1.repo
|
||||
fi
|
||||
-elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then
|
||||
+elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then
|
||||
PACKAGE_MANAGER=apt
|
||||
BASETOOLS="${BASETOOLS} hardlink hostname"
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
diff -ur /home/chasun/manylinux/docker/build_scripts/python-tag-abi-tag.py ./python-tag-abi-tag.py
|
||||
--- /home/chasun/manylinux/docker/build_scripts/python-tag-abi-tag.py 2022-07-19 21:37:58.452393854 +0000
|
||||
+++ ./python-tag-abi-tag.py 2022-07-29 02:19:58.119376443 +0000
|
||||
@@ -4,7 +4,6 @@
|
||||
|
||||
from wheel.vendored.packaging.tags import sys_tags
|
||||
|
||||
-
|
||||
# first tag is always the more specific tag
|
||||
tag = next(sys_tags())
|
||||
print("{0}-{1}".format(tag.interpreter, tag.abi))
|
||||
diff -ur /home/chasun/manylinux/docker/build_scripts/update-system-packages.sh ./update-system-packages.sh
|
||||
--- /home/chasun/manylinux/docker/build_scripts/update-system-packages.sh 2022-07-29 02:19:20.987860529 +0000
|
||||
+++ ./update-system-packages.sh 2022-07-29 02:19:58.119376443 +0000
|
||||
@@ -20,7 +20,7 @@
|
||||
fi
|
||||
yum clean all
|
||||
rm -rf /var/cache/yum
|
||||
-elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then
|
||||
+elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update -qq
|
||||
apt-get upgrade -qq -y
|
||||
@@ -60,7 +60,7 @@
|
||||
if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ]; then
|
||||
mv -f ${LOCALE_ARCHIVE} ${LOCALE_ARCHIVE}.tmpl
|
||||
build-locale-archive --install-langs="en_US.utf8"
|
||||
- elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then
|
||||
+ elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then
|
||||
rm ${LOCALE_ARCHIVE}
|
||||
localedef -i en_US -f UTF-8 en_US.UTF-8
|
||||
update-locale LANG=en_US.UTF-8
|
||||
|
|
@ -46,6 +46,8 @@ elif [[ "$PYTHON_VER" = "3.9" && -d "/opt/python/cp39-cp39" ]]; then
|
|||
PYTHON_EXE="/opt/python/cp39-cp39/bin/python3.9"
|
||||
elif [[ "$PYTHON_VER" = "3.10" && -d "/opt/python/cp310-cp310" ]]; then
|
||||
PYTHON_EXE="/opt/python/cp310-cp310/bin/python3.10"
|
||||
elif [[ "$PYTHON_VER" = "3.11" && -d "/opt/python/cp311-cp311" ]]; then
|
||||
PYTHON_EXE="/opt/python/cp311-cp311/bin/python3.11"
|
||||
else
|
||||
PYTHON_EXE="/usr/bin/python${PYTHON_VER}"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -1,74 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the MIT License.
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import warnings
|
||||
|
||||
from azure.storage.blob import BlockBlobService, ContentSettings
|
||||
|
||||
|
||||
def parse_nightly_and_local_version_from_whl_name(blob_name):
|
||||
night_build = "nightly" if blob_name.find(".dev") > 0 else "stable"
|
||||
|
||||
start = blob_name.find("+")
|
||||
if start == -1:
|
||||
return night_build, None
|
||||
start = start + 1
|
||||
end = blob_name.find("-", start)
|
||||
if end == -1:
|
||||
return night_build, None
|
||||
return night_build, blob_name[start:end]
|
||||
|
||||
|
||||
def upload_whl(python_wheel_path, account_name, account_key, container_name):
|
||||
block_blob_service = BlockBlobService(account_name=account_name, account_key=account_key)
|
||||
|
||||
blob_name = os.path.basename(python_wheel_path)
|
||||
block_blob_service.create_blob_from_path(container_name, blob_name, python_wheel_path)
|
||||
|
||||
nightly_build, local_version = parse_nightly_and_local_version_from_whl_name(blob_name)
|
||||
if local_version:
|
||||
html_blob_name = "onnxruntime_{}_{}.html".format(nightly_build, local_version)
|
||||
else:
|
||||
html_blob_name = "onnxruntime_{}.html".format(nightly_build)
|
||||
|
||||
download_path_to_html = "./onnxruntime_{}.html".format(nightly_build)
|
||||
|
||||
block_blob_service.get_blob_to_path(container_name, html_blob_name, download_path_to_html)
|
||||
|
||||
blob_name_plus_replaced = blob_name.replace("+", "%2B")
|
||||
with open(download_path_to_html) as f:
|
||||
lines = f.read().splitlines()
|
||||
|
||||
new_line = '<a href="{blobname}">{blobname}</a><br>'.format(blobname=blob_name_plus_replaced)
|
||||
if new_line not in lines:
|
||||
lines.append(new_line)
|
||||
lines.sort()
|
||||
|
||||
with open(download_path_to_html, "w") as f:
|
||||
for item in lines:
|
||||
f.write("%s\n" % item)
|
||||
else:
|
||||
warnings.warn("'{}' exists in {}. The html file is not updated.".format(new_line, download_path_to_html))
|
||||
|
||||
content_settings = ContentSettings(content_type="text/html")
|
||||
block_blob_service.create_blob_from_path(
|
||||
container_name, html_blob_name, download_path_to_html, content_settings=content_settings
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description="Upload python whl to azure storage.")
|
||||
|
||||
parser.add_argument("--python_wheel_path", type=str, help="path to python wheel")
|
||||
parser.add_argument("--account_name", type=str, help="account name")
|
||||
parser.add_argument("--account_key", type=str, help="account key")
|
||||
parser.add_argument("--container_name", type=str, help="container name")
|
||||
|
||||
# TODO: figure out a way to secure args.account_key to prevent later code changes
|
||||
# that may accidentally print out it to the console.
|
||||
args = parser.parse_args()
|
||||
|
||||
upload_whl(args.python_wheel_path, args.account_name, args.account_key, args.container_name)
|
||||
Loading…
Reference in a new issue