diff --git a/contrib/build-linux/sdist/build.sh b/contrib/build-linux/sdist/build.sh index 300c05455..62cf2c553 100755 --- a/contrib/build-linux/sdist/build.sh +++ b/contrib/build-linux/sdist/build.sh @@ -9,6 +9,15 @@ DISTDIR="$PROJECT_ROOT/dist" . "$CONTRIB"/build_tools_util.sh +python3 --version || fail "python interpreter not found" + +# upgrade to modern pip so that it knows the flags we need. +# we will then install a pinned version of pip as part of requirements-sdist-build +python3 -m pip install --upgrade pip + +info "Installing pinned requirements." +python3 -m pip install --no-dependencies --no-warn-script-location -r "$CONTRIB"/deterministic-build/requirements-sdist-build.txt + "$CONTRIB"/make_packages || fail "make_packages failed" diff --git a/contrib/deterministic-build/requirements-sdist-build.txt b/contrib/deterministic-build/requirements-sdist-build.txt new file mode 100644 index 000000000..7fa59d2bb --- /dev/null +++ b/contrib/deterministic-build/requirements-sdist-build.txt @@ -0,0 +1,9 @@ +pip==20.1.1 \ + --hash=sha256:27f8dc29387dd83249e06e681ce087e6061826582198a425085e0bf4c1cf3a55 \ + --hash=sha256:b27c4dedae8c41aa59108f2fa38bf78e0890e590545bc8ece7cdceb4ba60f6e4 +setuptools==46.4.0 \ + --hash=sha256:4334fc63121aafb1cc98fd5ae5dd47ea8ad4a38ad638b47af03a686deb14ef5b \ + --hash=sha256:d05c2c47bbef97fd58632b63dd2b83426db38af18f65c180b2423fea4b67e6b8 +wheel==0.34.2 \ + --hash=sha256:8788e9155fe14f54164c1b9eb0a319d98ef02c160725587ad60f14ddc57b6f96 \ + --hash=sha256:df277cb51e61359aba502208d680f90c0493adec6f0e848af94948778aed386e \ No newline at end of file diff --git a/contrib/freeze_packages.sh b/contrib/freeze_packages.sh index 64f063327..46578fe50 100755 --- a/contrib/freeze_packages.sh +++ b/contrib/freeze_packages.sh @@ -20,7 +20,7 @@ which virtualenv > /dev/null 2>&1 || { echo "Please install virtualenv" && exit ${SYSTEM_PYTHON} -m hashin -h > /dev/null 2>&1 || { ${SYSTEM_PYTHON} -m pip install hashin; } -for i in '' '-hw' '-binaries' '-wine-build' '-mac-build'; do +for i in '' '-hw' '-binaries' '-wine-build' '-mac-build' '-sdist-build'; do rm -rf "$venv_dir" virtualenv -p ${SYSTEM_PYTHON} $venv_dir diff --git a/contrib/requirements/requirements-sdist-build.txt b/contrib/requirements/requirements-sdist-build.txt new file mode 100644 index 000000000..c367eb47a --- /dev/null +++ b/contrib/requirements/requirements-sdist-build.txt @@ -0,0 +1,3 @@ +# need modern versions of pip (and maybe other build tools), the one in apt had issues +pip +setuptools