diff --git a/.github/workflows/build-cross-action.yml b/.github/workflows/build-cross-action.yml index 747ecd0c..81b27865 100644 --- a/.github/workflows/build-cross-action.yml +++ b/.github/workflows/build-cross-action.yml @@ -19,10 +19,10 @@ jobs: fail-fast: false matrix: version: - - 3.10.15 - - 3.11.10 - - 3.12.7 - - 3.13.0 + - 3.10.16 + - 3.11.11 + - 3.12.9 + - 3.13.2 host: - x86_64 - aarch64 @@ -115,10 +115,10 @@ jobs: fail-fast: false matrix: version: - - 3.10.15 - - 3.11.10 - - 3.12.7 - - 3.13.0 + - 3.10.16 + - 3.11.11 + - 3.12.9 + - 3.13.2 arch: - x86_64 @@ -171,10 +171,10 @@ jobs: fail-fast: false matrix: version: - - 3.10.15 - - 3.11.10 - - 3.12.7 - - 3.13.0 + - 3.10.16 + - 3.11.11 + - 3.12.9 + - 3.13.2 arch: - amd64 - x86 diff --git a/.github/workflows/build-native-action.yml b/.github/workflows/build-native-action.yml index 3f77305b..8baadaab 100644 --- a/.github/workflows/build-native-action.yml +++ b/.github/workflows/build-native-action.yml @@ -16,10 +16,10 @@ jobs: fail-fast: false matrix: version: - - 3.10.15 - - 3.11.10 - - 3.12.7 - - 3.13.0 + - 3.10.16 + - 3.11.11 + - 3.12.9 + - 3.13.2 host: - x86_64 - aarch64 @@ -102,10 +102,10 @@ jobs: fail-fast: false matrix: version: - - 3.10.15 - - 3.11.10 - - 3.12.7 - - 3.13.0 + - 3.10.16 + - 3.11.11 + - 3.12.9 + - 3.13.2 arch: - x86_64 @@ -160,10 +160,10 @@ jobs: fail-fast: false matrix: version: - - 3.10.15 - - 3.11.10 - - 3.12.7 - - 3.13.0 + - 3.10.16 + - 3.11.11 + - 3.12.9 + - 3.13.2 arch: - arm64 @@ -217,10 +217,10 @@ jobs: fail-fast: false matrix: version: - - 3.10.15 - - 3.11.10 - - 3.12.7 - - 3.13.0 + - 3.10.16 + - 3.11.11 + - 3.12.9 + - 3.13.2 arch: - amd64 - x86 diff --git a/.github/workflows/deploy-build-action.yml b/.github/workflows/deploy-build-action.yml index 444a6687..c9398f24 100644 --- a/.github/workflows/deploy-build-action.yml +++ b/.github/workflows/deploy-build-action.yml @@ -22,78 +22,78 @@ jobs: include: - platform: linux-gnu arch: x86_64 - python: 3.10.15 + python: 3.10.16 - platform: linux-gnu arch: x86_64 - python: 3.11.10 + python: 3.11.11 - platform: linux-gnu arch: x86_64 - python: 3.12.7 + python: 3.12.9 - platform: linux-gnu arch: x86_64 - python: 3.13.0 + python: 3.13.2 - platform: linux-gnu arch: aarch64 - python: 3.10.15 + python: 3.10.16 - platform: linux-gnu arch: aarch64 - python: 3.11.10 + python: 3.11.11 - platform: linux-gnu arch: aarch64 - python: 3.12.7 + python: 3.12.9 - platform: linux-gnu arch: aarch64 - python: 3.13.0 + python: 3.13.2 - platform: win arch: x86 - python: 3.10.15 + python: 3.10.16 - platform: win arch: x86 - python: 3.11.10 + python: 3.11.11 - platform: win arch: x86 - python: 3.12.7 + python: 3.12.9 - platform: win arch: x86 - python: 3.13.0 + python: 3.13.2 - platform: win arch: amd64 - python: 3.10.15 + python: 3.10.16 - platform: win arch: amd64 - python: 3.11.10 + python: 3.11.11 - platform: win arch: amd64 - python: 3.12.7 + python: 3.12.9 - platform: win arch: amd64 - python: 3.13.0 + python: 3.13.2 - platform: macos arch: x86_64 - python: 3.10.15 + python: 3.10.16 - platform: macos arch: x86_64 - python: 3.11.10 + python: 3.11.11 - platform: macos arch: x86_64 - python: 3.12.7 + python: 3.12.9 - platform: macos arch: x86_64 - python: 3.13.0 + python: 3.13.2 - platform: macos arch: arm64 - python: 3.10.15 + python: 3.10.16 - platform: macos arch: arm64 - python: 3.11.10 + python: 3.11.11 - platform: macos arch: arm64 - python: 3.12.7 + python: 3.12.9 - platform: macos arch: arm64 - python: 3.13.0 + python: 3.13.2 steps: - name: Download Artifacts diff --git a/.github/workflows/github-release.yml b/.github/workflows/github-release.yml index 61207658..54d28d09 100644 --- a/.github/workflows/github-release.yml +++ b/.github/workflows/github-release.yml @@ -75,78 +75,78 @@ jobs: include: - platform: linux-gnu arch: x86_64 - python: 3.10.15 + python: 3.10.16 - platform: linux-gnu arch: x86_64 - python: 3.11.10 + python: 3.11.11 - platform: linux-gnu arch: x86_64 - python: 3.12.7 + python: 3.12.9 - platform: linux-gnu arch: x86_64 - python: 3.13.0 + python: 3.13.2 - platform: linux-gnu arch: aarch64 - python: 3.10.15 + python: 3.10.16 - platform: linux-gnu arch: aarch64 - python: 3.11.10 + python: 3.11.11 - platform: linux-gnu arch: aarch64 - python: 3.12.7 + python: 3.12.9 - platform: linux-gnu arch: aarch64 - python: 3.13.0 + python: 3.13.2 - platform: win arch: x86 - python: 3.10.15 + python: 3.10.16 - platform: win arch: x86 - python: 3.11.10 + python: 3.11.11 - platform: win arch: x86 - python: 3.12.7 + python: 3.12.9 - platform: win arch: x86 - python: 3.13.0 + python: 3.13.2 - platform: win arch: amd64 - python: 3.10.15 + python: 3.10.16 - platform: win arch: amd64 - python: 3.11.10 + python: 3.11.11 - platform: win arch: amd64 - python: 3.12.7 + python: 3.12.9 - platform: win arch: amd64 - python: 3.13.0 + python: 3.13.2 - platform: macos arch: x86_64 - python: 3.10.15 + python: 3.10.16 - platform: macos arch: x86_64 - python: 3.11.10 + python: 3.11.11 - platform: macos arch: x86_64 - python: 3.12.7 + python: 3.12.9 - platform: macos arch: x86_64 - python: 3.13.0 + python: 3.13.2 - platform: macos arch: arm64 - python: 3.10.15 + python: 3.10.16 - platform: macos arch: arm64 - python: 3.11.10 + python: 3.11.11 - platform: macos arch: arm64 - python: 3.12.7 + python: 3.12.9 - platform: macos arch: arm64 - python: 3.13.0 + python: 3.13.2 steps: - name: Download Artifacts uses: actions/download-artifact@v4 diff --git a/.github/workflows/test-fips-action.yml b/.github/workflows/test-fips-action.yml index 1aebcc0c..590d6bad 100644 --- a/.github/workflows/test-fips-action.yml +++ b/.github/workflows/test-fips-action.yml @@ -14,10 +14,10 @@ jobs: fail-fast: false matrix: version: - - 3.10.15 - - 3.11.10 - - 3.12.7 - - 3.13.0 + - 3.10.16 + - 3.11.11 + - 3.12.9 + - 3.13.2 arch: - x86_64 env: diff --git a/relenv/build/darwin.py b/relenv/build/darwin.py index c58db0ae..46be6080 100644 --- a/relenv/build/darwin.py +++ b/relenv/build/darwin.py @@ -72,7 +72,7 @@ def build_python(env, dirs, logfp): runcmd(["make", "install"], env=env, stderr=logfp, stdout=logfp) -build = builds.add("darwin", populate_env=populate_env, version="3.10.15") +build = builds.add("darwin", populate_env=populate_env, version="3.10.16") build.add( "openssl", @@ -117,7 +117,7 @@ def build_python(env, dirs, logfp): "url": "https://www.python.org/ftp/python/{version}/Python-{version}.tar.xz", "fallback_url": "https://woz.io/relenv/dependencies/Python-{version}.tar.gz", "version": build.version, - "checksum": "f498fd8921e3c37e6aded9acb11ed23c8daa0bbe", + "checksum": "401e6a504a956c8f0aab76c4f3ad9df601a83eb1", }, ) @@ -131,16 +131,16 @@ def build_python(env, dirs, logfp): ) build = build.copy( - version="3.11.10", checksum="eb0ee5c84407445809a556592008cfc1867a39bc" + version="3.11.11", checksum="acf539109b024d3c5f1fc63d6e7f08cd294ba56d" ) builds.add("darwin", builder=build) build = build.copy( - version="3.12.7", checksum="5a760bbc42c67f1a0aef5bcf7c329348fb88448b" + version="3.12.9", checksum="465d8a664e63dc5aa1f0d90cd1d0000a970ee2fb" ) builds.add("darwin", builder=build) build = build.copy( - version="3.13.0", checksum="0f71dce4a3251460985a944bbd1d1b7db1660a91" + version="3.13.2", checksum="da39a3ee5e6b4b0d3255bfef95601890afd80709" ) builds.add("darwin", builder=build) diff --git a/relenv/build/linux.py b/relenv/build/linux.py index b127db17..df16d675 100644 --- a/relenv/build/linux.py +++ b/relenv/build/linux.py @@ -444,14 +444,14 @@ def build_python(env, dirs, logfp): # runcmd([str(python), "-m", "ensurepip", "-U"], env=env, stderr=logfp, stdout=logfp) -build = builds.add("linux", populate_env=populate_env, version="3.10.15") +build = builds.add("linux", populate_env=populate_env, version="3.10.16") build.add( "openssl", build_func=build_openssl, download={ "url": "https://github.com/openssl/openssl/releases/download/openssl-{version}/openssl-{version}.tar.gz", - "fallback_url": "https://woz.io/relenv/dependencies/openssl-{version}.tar.gz", + # "fallback_url": "https://woz.io/relenv/dependencies/openssl-{version}.tar.gz", "version": "3.2.4", "checksum": "2247802a1193c0f8eb41c870e8de45a2241422d5", "checkfunc": tarball_version, @@ -466,7 +466,7 @@ def build_python(env, dirs, logfp): wait_on=["openssl"], download={ "url": "https://www.openssl.org/source/openssl-{version}.tar.gz", - "fallback_url": "https://woz.io/relenv/dependencies/openssl-{version}.tar.gz", + # "fallback_url": "https://woz.io/relenv/dependencies/openssl-{version}.tar.gz", "version": "3.0.8", "checksum": "580d8a7232327fe1fa6e7db54ac060d4321f40ab", "checkfunc": tarball_version, @@ -490,7 +490,7 @@ def build_python(env, dirs, logfp): "XZ", download={ "url": "http://tukaani.org/xz/xz-{version}.tar.gz", - "fallback_url": "https://woz.io/relenv/dependencies/xz-{version}.tar.gz", + # "fallback_url": "https://woz.io/relenv/dependencies/xz-{version}.tar.gz", "version": "5.6.2", "checksum": "0d6b10e4628fe08e19293c65e8dbcaade084a083", "checkfunc": tarball_version, @@ -502,7 +502,7 @@ def build_python(env, dirs, logfp): build_func=build_sqlite, download={ "url": "https://sqlite.org/2024/sqlite-autoconf-{version}.tar.gz", - "fallback_url": "https://woz.io/relenv/dependencies/sqlite-autoconf-{version}.tar.gz", + # "fallback_url": "https://woz.io/relenv/dependencies/sqlite-autoconf-{version}.tar.gz", "version": "3460100", "checksum": "1fdbada080f3285ac864c314bfbfc581b13e804b", "checkfunc": sqlite_version, @@ -515,7 +515,7 @@ def build_python(env, dirs, logfp): build_func=build_bzip2, download={ "url": "https://sourceware.org/pub/bzip2/bzip2-{version}.tar.gz", - "fallback_url": "https://woz.io/relenv/dependencies/bzip2-{version}.tar.gz", + # "fallback_url": "https://woz.io/relenv/dependencies/bzip2-{version}.tar.gz", "version": "1.0.8", "checksum": "bf7badf7e248e0ecf465d33c2f5aeec774209227", "checkfunc": tarball_version, @@ -527,7 +527,7 @@ def build_python(env, dirs, logfp): build_func=build_gdbm, download={ "url": "https://ftp.gnu.org/gnu/gdbm/gdbm-{version}.tar.gz", - "fallback_url": "https://woz.io/relenv/dependencies/gdbm-{version}.tar.gz", + # "fallback_url": "https://woz.io/relenv/dependencies/gdbm-{version}.tar.gz", "version": "1.24", "checksum": "7bd455f28c9e4afacc042e0c712aac1b2391fef2", "checkfunc": tarball_version, @@ -539,7 +539,7 @@ def build_python(env, dirs, logfp): build_func=build_ncurses, download={ "url": "https://ftp.gnu.org/pub/gnu/ncurses/ncurses-{version}.tar.gz", - "fallback_url": "https://woz.io/relenv/dependencies/ncurses-{version}.tar.gz", + # "fallback_url": "https://woz.io/relenv/dependencies/ncurses-{version}.tar.gz", # XXX: Need to work out tinfo linkage # "version": "6.5", # "checksum": "cde3024ac3f9ef21eaed6f001476ea8fffcaa381", @@ -554,7 +554,7 @@ def build_python(env, dirs, logfp): build_libffi, download={ "url": "https://github.com/libffi/libffi/releases/download/v{version}/libffi-{version}.tar.gz", - "fallback_url": "https://woz.io/relenv/dependencies/libffi-{version}.tar.gz", + # "fallback_url": "https://woz.io/relenv/dependencies/libffi-{version}.tar.gz", "version": "3.4.7", "checksum": "b07136211f47fa30c0512ebd7484fde724978d99", "checkfunc": github_version, @@ -567,7 +567,7 @@ def build_python(env, dirs, logfp): build_zlib, download={ "url": "https://zlib.net/fossils/zlib-{version}.tar.gz", - "fallback_url": "https://woz.io/relenv/dependencies/zlib-{version}.tar.gz", + # "fallback_url": "https://woz.io/relenv/dependencies/zlib-{version}.tar.gz", "version": "1.3.1", "checksum": "f535367b1a11e2f9ac3bec723fb007fbc0d189e5", "checkfunc": tarball_version, @@ -578,7 +578,7 @@ def build_python(env, dirs, logfp): "uuid", download={ "url": "https://sourceforge.net/projects/libuuid/files/libuuid-{version}.tar.gz", - "fallback_url": "https://woz.io/relenv/dependencies/libuuid-{version}.tar.gz", + # "fallback_url": "https://woz.io/relenv/dependencies/libuuid-{version}.tar.gz", "version": "1.0.3", "checksum": "46eaedb875ae6e63677b51ec583656199241d597", "checkfunc": uuid_version, @@ -591,7 +591,7 @@ def build_python(env, dirs, logfp): wait_on=["openssl"], download={ "url": "https://kerberos.org/dist/krb5/{version}/krb5-{version}.tar.gz", - "fallback_url": "https://woz.io/relenv/dependencies/krb5-{version}.tar.gz", + # "fallback_url": "https://woz.io/relenv/dependencies/krb5-{version}.tar.gz", "version": "1.21", "checksum": "e2ee531443122376ac8b62b3848d94376f646089", "checkfunc": krb_version, @@ -605,7 +605,7 @@ def build_python(env, dirs, logfp): wait_on=["ncurses"], download={ "url": "https://ftp.gnu.org/gnu/readline/readline-{version}.tar.gz", - "fallback_url": "https://woz.io/relenv/dependencies/readline-{version}.tar.gz", + # "fallback_url": "https://woz.io/relenv/dependencies/readline-{version}.tar.gz", "version": "8.2.13", "checksum": "5ffb6a334c2422acbe8f4d2cb11e345265c8d930", "checkfunc": tarball_version, @@ -620,7 +620,7 @@ def build_python(env, dirs, logfp): download={ "url": "https://sourceforge.net/projects/libtirpc/files/libtirpc-{version}.tar.bz2", # "url": "https://downloads.sourceforge.net/projects/libtirpc/files/libtirpc-{version}.tar.bz2", - "fallback_url": "https://woz.io/relenv/dependencies/libtirpc-{version}.tar.bz2", + # "fallback_url": "https://woz.io/relenv/dependencies/libtirpc-{version}.tar.bz2", "version": "1.3.4", "checksum": "63c800f81f823254d2706637bab551dec176b99b", "checkfunc": tarball_version, @@ -647,9 +647,9 @@ def build_python(env, dirs, logfp): ], download={ "url": "https://www.python.org/ftp/python/{version}/Python-{version}.tar.xz", - "fallback_url": "https://woz.io/relenv/dependencies/Python-{version}.tar.xz", + # "fallback_url": "https://woz.io/relenv/dependencies/Python-{version}.tar.xz", "version": build.version, - "checksum": "f498fd8921e3c37e6aded9acb11ed23c8daa0bbe", + "checksum": "401e6a504a956c8f0aab76c4f3ad9df601a83eb1", "checkfunc": python_version, "checkurl": "https://www.python.org/ftp/python/", }, @@ -666,16 +666,16 @@ def build_python(env, dirs, logfp): ) build = build.copy( - version="3.11.10", checksum="eb0ee5c84407445809a556592008cfc1867a39bc" + version="3.11.11", checksum="acf539109b024d3c5f1fc63d6e7f08cd294ba56d" ) builds.add("linux", builder=build) build = build.copy( - version="3.12.7", checksum="5a760bbc42c67f1a0aef5bcf7c329348fb88448b" + version="3.12.9", checksum="465d8a664e63dc5aa1f0d90cd1d0000a970ee2fb" ) builds.add("linux", builder=build) build = build.copy( - version="3.13.0", checksum="0f71dce4a3251460985a944bbd1d1b7db1660a91" + version="3.13.2", checksum="da39a3ee5e6b4b0d3255bfef95601890afd80709" ) builds.add("linux", builder=build) diff --git a/relenv/build/windows.py b/relenv/build/windows.py index 93b6290c..a417efc4 100644 --- a/relenv/build/windows.py +++ b/relenv/build/windows.py @@ -60,7 +60,9 @@ def build_python(env, dirs, logfp): plat, "--no-tkinter", ] + log.info("Start PCbuild") runcmd(cmd, env=env, stderr=logfp, stdout=logfp) + log.info("PCbuild finished") # This is where build.bat puts everything # TODO: For now we'll only support 64bit @@ -128,7 +130,7 @@ def build_python(env, dirs, logfp): ) -build = builds.add("win32", populate_env=populate_env, version="3.10.15") +build = builds.add("win32", populate_env=populate_env, version="3.10.16") build.add( "python", @@ -136,7 +138,7 @@ def build_python(env, dirs, logfp): download={ "url": "https://www.python.org/ftp/python/{version}/Python-{version}.tar.xz", "version": build.version, - "checksum": "f498fd8921e3c37e6aded9acb11ed23c8daa0bbe", + "checksum": "401e6a504a956c8f0aab76c4f3ad9df601a83eb1", }, ) @@ -153,7 +155,6 @@ def finalize(env, dirs, logfp): :type logfp: file """ # Lay down site customize - bindir = pathlib.Path(dirs.prefix) / "Scripts" sitepackages = dirs.prefix / "Lib" / "site-packages" install_runtime(sitepackages) @@ -164,11 +165,12 @@ def finalize(env, dirs, logfp): def runpip(pkg): # XXX Support cross pip installs on windows - pip = bindir / "pip3.exe" env = os.environ.copy() target = None cmd = [ - str(pip), + str(python), + "-m", + "pip", "install", str(pkg), ] @@ -210,16 +212,16 @@ def runpip(pkg): ) build = build.copy( - version="3.11.10", checksum="eb0ee5c84407445809a556592008cfc1867a39bc" + version="3.11.11", checksum="acf539109b024d3c5f1fc63d6e7f08cd294ba56d" ) builds.add("win32", builder=build) build = build.copy( - version="3.12.7", checksum="5a760bbc42c67f1a0aef5bcf7c329348fb88448b" + version="3.12.9", checksum="465d8a664e63dc5aa1f0d90cd1d0000a970ee2fb" ) builds.add("win32", builder=build) build = build.copy( - version="3.13.0", checksum="0f71dce4a3251460985a944bbd1d1b7db1660a91" + version="3.13.2", checksum="da39a3ee5e6b4b0d3255bfef95601890afd80709" ) builds.add("win32", builder=build) diff --git a/relenv/common.py b/relenv/common.py index 6e080983..65c41e80 100644 --- a/relenv/common.py +++ b/relenv/common.py @@ -370,6 +370,7 @@ def fetch_url(url, fp, backoff=3, timeout=30): import urllib.error import urllib.request + last = time.time() if backoff < 1: backoff = 1 n = 0 @@ -384,16 +385,24 @@ def fetch_url(url, fp, backoff=3, timeout=30): ) as exc: if n >= backoff: raise RelenvException(f"Error fetching url {url} {exc}") + log.debug("Unable to connect %s", url) time.sleep(n * 10) + log.info("url opened %s", url) try: + total = 0 size = 1024 * 300 block = fin.read(size) while block: + total += size + if time.time() - last > 10: + log.info("%s > %d", url, total) + last = time.time() fp.write(block) block = fin.read(10240) finally: fin.close() # fp.close() + log.info("Download complete %s", url) def download_url(url, dest, verbose=True, backoff=3, timeout=60): diff --git a/relenv/runtime.py b/relenv/runtime.py index 03ee0bd1..440e709e 100644 --- a/relenv/runtime.py +++ b/relenv/runtime.py @@ -137,7 +137,9 @@ def wrapped(self, *args, **kwargs): return func(self, *args, **kwargs) debug(f"Relenv - _build_shebang {scripts} {interpreter}") if sys.platform == "win32": - return str(pathlib.Path("#!") / interpreter).encode() + return ( + str(pathlib.Path("#!") / interpreter).encode() + b"\r\n" + ) return common().format_shebang("/" / interpreter).encode() return wrapped