Browse Source

Python security updates to 3.7.12 (#95)

* Python security updates to 3.7.12

Signed-off-by: Steve Pham <[email protected]>
Steve Pham 3 years ago
parent
commit
a6036a2ca7

+ 1 - 1
package-system/python/darwin_x64/FindPython.cmake

@@ -24,7 +24,7 @@ endif()
 # Python_Development_FOUND - The platform we are cross compiling for can link to python
 # and a target called 3rdParty::Python that you can use to depend on
 set(PY_BASE_DIR ${CMAKE_CURRENT_LIST_DIR}/Python.framework/Versions/3.7)
-set(${MY}_VERSION 3.7.10)
+set(${MY}_VERSION 3.7.12)
 set(${MY}_INTERPRETER_ID    "Python")
 set(${MY}_EXECUTABLE        ${PY_BASE_DIR}/bin/python3)
 set(${MY}_HOME              ${PY_BASE_DIR})

+ 1 - 1
package-system/python/darwin_x64/PackageInfo.json

@@ -1,5 +1,5 @@
 {
-    "PackageName" : "python-3.7.10-rev1-darwin",
+    "PackageName" : "python-3.7.12-rev1-darwin",
     "License"     : "PSF-2.0",
     "URL"         : "https://python.org",
     "LicenseFile" : "LICENSE"

+ 5 - 4
package-system/python/darwin_x64/make-python.sh

@@ -54,7 +54,7 @@ cd temp
 mkdir $SCRIPT_DIR/package
 
 echo "-------------- Cloning python from git --------------"
-git clone https://github.com/python/cpython.git --branch "v3.7.10" --depth 1
+git clone https://github.com/python/cpython.git --branch "v3.7.12" --depth 1
 retVal=$?
 if [ $retVal -ne 0 ]; then
     echo "Error cloning python!"
@@ -116,8 +116,9 @@ echo "-------------- Building a Mac python package from official sources -------
 cd $PYTHON_SRC_DIR
 cd Mac
 cd BuildScript
+
 # the following env vars get around a problem compiling tcl/tk
-tcl_cv_strtod_buggy=1 ac_cv_func_strtod=yes SDK_TOOLS_BIN=$VENV_BIN_DIR $VENV_BIN_DIR/python3 ./build-installer.py --universal-archs=intel-64 --build-dir $SCRIPT_DIR/temp/python_build --third-party=$SCRIPT_DIR/temp/downloaded_packages --dep-target=10.9
+ac_cv_header_libintl_h=no ac_cv_lib_intl_textdomain=no tcl_cv_strtod_buggy=1 ac_cv_func_strtod=yes SDK_TOOLS_BIN=$VENV_BIN_DIR $VENV_BIN_DIR/python3 ./build-installer.py --universal-archs=intel-64 --build-dir $SCRIPT_DIR/temp/python_build --third-party=$SCRIPT_DIR/temp/downloaded_packages --dep-target=10.15
 retVal=$?
 if [ $retVal -ne 0 ]; then
     echo "Could not build python!"
@@ -130,8 +131,8 @@ FRAMEWORK_OUTPUT_FOLDER=$SCRIPT_DIR/temp/python_build/_root/Library/Frameworks
 echo Framework output folder: $FRAMEWORK_OUTPUT_FOLDER
 cd $RELOC_SRC_DIR
 echo "---------- Altering the produced framework folder to be relocatable ---------"
-echo $VENV_BIN_DIR/python3 ./make_relocatable_python_framework.py --install-wheel --upgrade-pip --python-version 3.7.10 --use-existing-framework $FRAMEWORK_OUTPUT_FOLDER/Python.framework
-$VENV_BIN_DIR/python3 ./make_relocatable_python_framework.py --install-wheel --upgrade-pip --python-version 3.7.10 --use-existing-framework $FRAMEWORK_OUTPUT_FOLDER/Python.framework
+echo $VENV_BIN_DIR/python3 ./make_relocatable_python_framework.py --install-wheel --upgrade-pip --python-version 3.7.12 --use-existing-framework $FRAMEWORK_OUTPUT_FOLDER/Python.framework
+$VENV_BIN_DIR/python3 ./make_relocatable_python_framework.py --install-wheel --upgrade-pip --python-version 3.7.12 --use-existing-framework $FRAMEWORK_OUTPUT_FOLDER/Python.framework
 retVal=$?
 if [ $retVal -ne 0 ]; then
     echo "Could not make python relocatable!"

+ 178 - 3
package-system/python/darwin_x64/open3d_python.patch

@@ -1,8 +1,183 @@
 diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py
-index 4fab4882ef..3c10e2dbe1 100755
+index 4fab488..1c9621b 100755
 --- a/Mac/BuildScript/build-installer.py
 +++ b/Mac/BuildScript/build-installer.py
-@@ -1522,6 +1522,11 @@ def buildInstaller():
+@@ -209,9 +209,9 @@ def library_recipes():
+
+     result.extend([
+           dict(
+-              name="OpenSSL 1.1.1g",
+-              url="https://www.openssl.org/source/openssl-1.1.1g.tar.gz",
+-              checksum='76766e98997660138cdaf13a187bd234',
++              name="OpenSSL 1.1.1m",
++              url="https://www.openssl.org/source/openssl-1.1.1m.tar.gz",
++              checksum='8ec70f665c145c3103f6e330f538a9db',
+               buildrecipe=build_universal_openssl,
+               configure=None,
+               install=None,
+@@ -221,9 +221,9 @@ def library_recipes():
+     if internalTk():
+         result.extend([
+           dict(
+-              name="Tcl 8.6.8",
+-              url="ftp://ftp.tcl.tk/pub/tcl//tcl8_6/tcl8.6.8-src.tar.gz",
+-              checksum='81656d3367af032e0ae6157eff134f89',
++              name="Tcl 8.6.11",
++              url="https://prdownloads.sourceforge.net/tcl/tcl8.6.12-src.tar.gz",
++              checksum='87ea890821d2221f2ab5157bc5eb885f',
+               buildDir="unix",
+               configure_pre=[
+                     '--enable-shared',
+@@ -237,12 +237,9 @@ def library_recipes():
+                   },
+               ),
+           dict(
+-              name="Tk 8.6.8",
+-              url="ftp://ftp.tcl.tk/pub/tcl//tcl8_6/tk8.6.8-src.tar.gz",
+-              checksum='5e0faecba458ee1386078fb228d008ba',
+-              patches=[
+-                  "tk868_on_10_8_10_9.patch",
+-                   ],
++              name="Tk 8.6.11",
++              url="https://prdownloads.sourceforge.net/tcl/tk8.6.12-src.tar.gz",
++              checksum='1d6dcf6120356e3d211e056dff5e462a',
+               buildDir="unix",
+               configure_pre=[
+                     '--enable-aqua',
+@@ -267,6 +264,7 @@ def library_recipes():
+               checksum='ef68674fb47a8b8e741b34e429d86e9d',
+               configure_pre=[
+                     '--disable-dependency-tracking',
++                    '--disable-nls'
+               ]
+               ),
+         ])
+@@ -307,9 +305,9 @@ def library_recipes():
+                   ),
+           ),
+           dict(
+-              name="SQLite 3.32.2",
+-              url="https://sqlite.org/2020/sqlite-autoconf-3320200.tar.gz",
+-              checksum='eb498918a33159cdf8104997aad29e83',
++              name="SQLite 3.37.2",
++              url="https://sqlite.org/2022/sqlite-autoconf-3370200.tar.gz",
++              checksum='683cc5312ee74e71079c14d24b7a6d27',
+               extra_cflags=('-Os '
+                             '-DSQLITE_ENABLE_FTS5 '
+                             '-DSQLITE_ENABLE_FTS4 '
+@@ -326,32 +324,32 @@ def library_recipes():
+                   '--disable-dependency-tracking',
+               ]
+           ),
+-        ])
+-
+-    if getDeptargetTuple() < (10, 5):
+-        result.extend([
+           dict(
+               name="Bzip2 1.0.6",
+-              url="http://bzip.org/1.0.6/bzip2-1.0.6.tar.gz",
++              url="https://sourceware.org/pub/bzip2/bzip2-1.0.6.tar.gz",
+               checksum='00b516f4704d4a7cb50a1d97e6e8e15b',
+               configure=None,
+               install='make install CC=%s CXX=%s, PREFIX=%s/usr/local/ CFLAGS="-arch %s"'%(
+                   CC, CXX,
+                   shellQuote(os.path.join(WORKDIR, 'libraries')),
+                   ' -arch '.join(ARCHLIST),
+-              ),
++              )
+           ),
+           dict(
+-              name="ZLib 1.2.3",
+-              url="http://www.gzip.org/zlib/zlib-1.2.3.tar.gz",
+-              checksum='debc62758716a169df9f62e6ab2bc634',
+-              configure=None,
+-              install='make install CC=%s CXX=%s, prefix=%s/usr/local/ CFLAGS="-arch %s"'%(
+-                  CC, CXX,
+-                  shellQuote(os.path.join(WORKDIR, 'libraries')),
+-                  ' -arch '.join(ARCHLIST),
+-              ),
+-          ),
++              name="ZLib 1.2.11",
++              url="https://zlib.net/zlib-1.2.11.tar.gz",
++              checksum='1c9f62f0778697a09d36121ead88e08e',
++              suppressCFlags=True,
++              configure='./configure',
++              configure_full=[
++                  '--prefix=%s/usr/local/' % (os.path.join(WORKDIR, 'libraries'))
++              ],
++              install='make install'
++            ),
++    ])
++
++    if getDeptargetTuple() < (10, 5):
++        result.extend([
+           dict(
+               # Note that GNU readline is GPL'd software
+               name="GNU Readline 6.1.2",
+@@ -980,7 +978,10 @@ def buildRecipe(recipe, basedir, archList):
+             #"CPP=gcc -arch %s -E"%(' -arch '.join(archList,),),
+         ]
+
+-        if 'configure_pre' in recipe:
++        if 'configure_full' in recipe:
++            configure_args = list(recipe['configure_full'])
++
++        elif 'configure_pre' in recipe:
+             args = list(recipe['configure_pre'])
+             if '--disable-static' in args:
+                 configure_args.remove('--enable-static')
+@@ -988,28 +989,29 @@ def buildRecipe(recipe, basedir, archList):
+                 configure_args.remove('--disable-shared')
+             configure_args.extend(args)
+
+-        if recipe.get('useLDFlags', 1):
+-            configure_args.extend([
+-                "CFLAGS=%s-mmacosx-version-min=%s -arch %s "
+-                            "-I%s/usr/local/include"%(
+-                        recipe.get('extra_cflags', ''),
++        if not recipe.get('suppressCFlags', False):
++            if recipe.get('useLDFlags', 1):
++                configure_args.extend([
++                    "CFLAGS=%s-mmacosx-version-min=%s -arch %s "
++                                "-I%s/usr/local/include"%(
++                            recipe.get('extra_cflags', ''),
++                            DEPTARGET,
++                            ' -arch '.join(archList),
++                            shellQuote(basedir)[1:-1],),
++                    "LDFLAGS=-mmacosx-version-min=%s -L%s/usr/local/lib -arch %s"%(
+                         DEPTARGET,
+-                        ' -arch '.join(archList),
+-                        shellQuote(basedir)[1:-1],),
+-                "LDFLAGS=-mmacosx-version-min=%s -L%s/usr/local/lib -arch %s"%(
+-                    DEPTARGET,
+-                    shellQuote(basedir)[1:-1],
+-                    ' -arch '.join(archList)),
+-            ])
+-        else:
+-            configure_args.extend([
+-                "CFLAGS=%s-mmacosx-version-min=%s -arch %s "
+-                            "-I%s/usr/local/include"%(
+-                        recipe.get('extra_cflags', ''),
+-                        DEPTARGET,
+-                        ' -arch '.join(archList),
+-                        shellQuote(basedir)[1:-1],),
+-            ])
++                        shellQuote(basedir)[1:-1],
++                        ' -arch '.join(archList)),
++                ])
++            else:
++                configure_args.extend([
++                    "CFLAGS=%s-mmacosx-version-min=%s -arch %s "
++                                "-I%s/usr/local/include"%(
++                            recipe.get('extra_cflags', ''),
++                            DEPTARGET,
++                            ' -arch '.join(archList),
++                            shellQuote(basedir)[1:-1],),
++                ])
+
+         if 'configure_post' in recipe:
+             configure_args = configure_args + list(recipe['configure_post'])
+@@ -1522,6 +1524,11 @@ def buildInstaller():
      pkgroot = os.path.join(outdir, 'Python.mpkg', 'Contents')
      pkgcontents = os.path.join(pkgroot, 'Packages')
      os.makedirs(pkgcontents)
@@ -13,4 +188,4 @@ index 4fab4882ef..3c10e2dbe1 100755
 +
      for recipe in pkg_recipes():
          packageFromRecipe(pkgcontents, recipe)
- 
+

+ 1 - 1
package-system/python/linux_x64/FindPython.cmake

@@ -8,4 +8,4 @@
 
 # force this into config mode, so that it uses the config files instead of module files.
 set(Python_DIR ${CMAKE_CURRENT_LIST_DIR})
-find_package(Python 3.7.10 REQUIRED CONFIG)
+find_package(Python 3.7.12 REQUIRED CONFIG)

+ 1 - 1
package-system/python/linux_x64/PackageInfo.json

@@ -1,5 +1,5 @@
 {
-    "PackageName" : "python-3.7.10-rev2-linux",
+    "PackageName" : "python-3.7.12-rev1-linux",
     "License"     : "PSF-2.0",
     "URL"         : "https://python.org",
     "LicenseFile" : "python/LICENSE"

+ 7 - 2
package-system/python/linux_x64/make-python.sh

@@ -48,7 +48,7 @@ mkdir -p temp
 
 echo ------------------------ GIT CLONE python 3.7 --------------------
 cd temp
-git clone https://github.com/python/cpython.git --branch 3.7 --depth 1
+git clone https://github.com/python/cpython.git --branch v3.7.12 --depth 1
 
 if [[ ! -d "cpython" ]]; then
     echo "Was unable to create cpython dir via git clone.  Is git installed?"
@@ -74,7 +74,7 @@ fi
 # Prepare the package folder
 cd $SCRIPT_DIR
 
-# Install the newly built python 3.7.10 to the package/python folder
+# Install the newly built python 3.7.12 to the package/python folder
 cd $SCRIPT_DIR
 cd temp
 cd cpython
@@ -119,6 +119,11 @@ sed -i "1s+.*+\#\!/bin/sh+" ./python/bin/pip*
 sed -i "2i\\
 \"exec\" \"\`dirname \$0\`/python\" \"\$0\" \"\$\@\" " ./python/bin/pip*
 
+# https://github.com/o3de/o3de/issues/7281 Reports NVD vulnerability in the wininst-*.exe files that
+# get included in the package. Since this is a linux only package, we can remove them 
+echo "Removing wininst*.exe files"
+rm -v $SCRIPT_DIR/package/python/lib/python3.7/distutils/command/wininst-*.exe
+
 echo ""
 echo "------ PYTHON WAS BUILT FROM SOURCE -----"
 echo ""

+ 2 - 2
package-system/python/linux_x64/python-config-version.cmake

@@ -9,7 +9,7 @@
 # this file is called to make sure that if we request a specific version
 # we respond only to that version
 
-set(PACKAGE_VERSION 3.7.10)
+set(PACKAGE_VERSION 3.7.12)
 set(PACKAGE_VERSION_EXACT False)
 set(PACKAGE_VERSION_COMPATIBLE False)
 
@@ -25,7 +25,7 @@ if (PACKAGE_FIND_VERSION_COUNT GREATER 1 AND NOT PACKAGE_FIND_VERSION_MINOR EQUA
     return()
 endif()
 
-if (PACKAGE_FIND_VERSION_COUNT GREATER 2 AND NOT PACKAGE_FIND_VERSION_PATCH EQUAL 10)
+if (PACKAGE_FIND_VERSION_COUNT GREATER 2 AND NOT PACKAGE_FIND_VERSION_PATCH EQUAL 12)
     return()
 endif()
 

+ 1 - 1
package-system/python/linux_x64/python-config.cmake

@@ -24,7 +24,7 @@ endif()
 # Python_Development_FOUND - The platform we are cross compiling for can link to python
 # and a target called 3rdParty::Python that you can use to depend on
 
-set(${MY}_VERSION 3.7.10)
+set(${MY}_VERSION 3.7.12)
 set(${MY}_INTERPRETER_ID    "Python")
 set(${MY}_EXECUTABLE        ${CMAKE_CURRENT_LIST_DIR}/python/bin/python)
 set(${MY}_HOME              ${CMAKE_CURRENT_LIST_DIR}/python)

+ 1 - 1
package-system/python/win_x64/FindPython.cmake

@@ -8,4 +8,4 @@
 
 # force this into config mode, so that it uses the config files instead of module files.
 set(Python_DIR ${CMAKE_CURRENT_LIST_DIR})
-find_package(Python 3.7.10 REQUIRED CONFIG)
+find_package(Python 3.7.12 REQUIRED CONFIG)

+ 1 - 1
package-system/python/win_x64/PackageInfo.json

@@ -1,5 +1,5 @@
 {
-    "PackageName" : "python-3.7.10-rev2-windows",
+    "PackageName" : "python-3.7.12-rev1-windows",
     "URL"         : "https://python.org",
     "License"     : "PSF-2.0",
     "LicenseFile" : "python/LICENSE.txt"

+ 22 - 11
package-system/python/win_x64/build_python.bat

@@ -49,14 +49,24 @@ mkdir %outputdir%
 mkdir %tempdir%
 cd /d %tempdir%
 
-echo Cloning python from git using v3.7.10...
-git clone https://github.com/python/cpython.git --branch "v3.7.10" --depth 1
+echo Cloning python from git using v3.7.12..
+git clone https://github.com/python/cpython.git --branch "v3.7.12" --depth 1
 if %ERRORLEVEL% NEQ 0 (
     echo "Git clone failed"
     exit /B 1
 )
 
 cd /d %python_src%
+
+set patch_file=%ScriptDir%\open3d_python.patch
+echo Applying patch file %patch_file%
+git apply --ignore-whitespace %patch_file%
+if %ERRORLEVEL% NEQ 0 (
+    echo "Git apply failed"
+    exit /B 1
+)
+
+echo Getting external libraries
 call .\PCBuild\get_externals.bat
 
 msbuild.exe "%python_src%\PCbuild\pcbuild.proj" /t:Build /m /nologo /v:m /p:Configuration=Debug /p:Platform=x64 /p:IncludeExternals=true /p:IncludeSSL=true /p:IncludeTkinter=true /p:PlatformToolset=v141
@@ -71,15 +81,6 @@ if %ERRORLEVEL% NEQ 0 (
   exit /B 1
 )
 
-cd /d %python_src%
-echo installing PIP...
-.\PCBuild\amd64\Python.exe  -m ensurepip --upgrade
-if %ERRORLEVEL% NEQ 0 (
-  echo Failed to ensure pip is present.
-  exit /B 1
-)
-.\PCBuild\amd64\Python.exe -m pip install --upgrade pip
-
 echo creating the installation image...
 rem We'll actually use the real python dist builder to do this:
 cd /d %python_src%
@@ -95,6 +96,16 @@ if %ERRORLEVEL% NEQ 0 (
   exit /B 1
 )
 
+cd /d %python_src%
+echo installing PIP...
+%outputdir%\python\Python.exe  -m ensurepip --root %outputdir%\python --upgrade
+if %ERRORLEVEL% NEQ 0 (
+  echo Failed to ensure pip is present.
+  exit /B 1
+)
+%outputdir%\python\Python.exe -m pip install --target %outputdir%\python\lib\site-packages --upgrade pip 
+
+
 echo copying package metadata and cmake files...
 rem But we do add our own few things...
 set ROBOCOPY_OPTIONS=/NJH /NJS /NP /NDL

+ 62 - 0
package-system/python/win_x64/open3d_python.patch

@@ -0,0 +1,62 @@
+diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat
+index 38fc275..a2fc80e 100644
+--- a/PCbuild/get_externals.bat
++++ b/PCbuild/get_externals.bat
+@@ -49,10 +49,10 @@ echo.Fetching external libraries...
+ 
+ set libraries=
+ set libraries=%libraries%                                       bzip2-1.0.6
+-if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries%     openssl-1.1.1g
+-set libraries=%libraries%                                       sqlite-3.31.1.0
+-if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tcl-core-8.6.9.0
+-if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tk-8.6.9.0
++if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries%     openssl-1.1.1m
++set libraries=%libraries%                                       sqlite-3.37.2.0
++if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tcl-core-8.6.12.0
++if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tk-8.6.12.0
+ if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tix-8.4.3.6
+ set libraries=%libraries%                                       xz-5.2.2
+ set libraries=%libraries%                                       zlib-1.2.11
+@@ -72,8 +72,8 @@ for %%e in (%libraries%) do (
+ echo.Fetching external binaries...
+ 
+ set binaries=
+-if NOT "%IncludeSSL%"=="false"     set binaries=%binaries% openssl-bin-1.1.1g
+-if NOT "%IncludeTkinter%"=="false" set binaries=%binaries% tcltk-8.6.9.0
++if NOT "%IncludeSSL%"=="false"     set binaries=%binaries% openssl-bin-1.1.1m
++if NOT "%IncludeTkinter%"=="false" set binaries=%binaries% tcltk-8.6.12.0
+ if NOT "%IncludeSSLSrc%"=="false"  set binaries=%binaries% nasm-2.11.06
+ 
+ for %%b in (%binaries%) do (
+diff --git a/PCbuild/python.props b/PCbuild/python.props
+index 1034e7f..b74977d 100644
+--- a/PCbuild/python.props
++++ b/PCbuild/python.props
+@@ -46,11 +46,11 @@
+     <ExternalsDir>$(EXTERNALS_DIR)</ExternalsDir>
+     <ExternalsDir Condition="$(ExternalsDir) == ''">$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals`))</ExternalsDir>
+     <ExternalsDir Condition="!HasTrailingSlash($(ExternalsDir))">$(ExternalsDir)\</ExternalsDir>
+-    <sqlite3Dir>$(ExternalsDir)sqlite-3.31.1.0\</sqlite3Dir>
++    <sqlite3Dir>$(ExternalsDir)sqlite-3.37.2.0\</sqlite3Dir>
+     <bz2Dir>$(ExternalsDir)bzip2-1.0.6\</bz2Dir>
+     <lzmaDir>$(ExternalsDir)xz-5.2.2\</lzmaDir>
+-    <opensslDir>$(ExternalsDir)openssl-1.1.1g\</opensslDir>
+-    <opensslOutDir>$(ExternalsDir)openssl-bin-1.1.1g\$(ArchName)\</opensslOutDir>
++    <opensslDir>$(ExternalsDir)openssl-1.1.1m\</opensslDir>
++    <opensslOutDir>$(ExternalsDir)openssl-bin-1.1.1m\$(ArchName)\</opensslOutDir>
+     <opensslIncludeDir>$(opensslOutDir)include</opensslIncludeDir>
+     <nasmDir>$(ExternalsDir)\nasm-2.11.06\</nasmDir>
+     <zlibDir>$(ExternalsDir)\zlib-1.2.11\</zlibDir>
+diff --git a/PCbuild/tcltk.props b/PCbuild/tcltk.props
+index b185cb7..a901998 100644
+--- a/PCbuild/tcltk.props
++++ b/PCbuild/tcltk.props
+@@ -4,7 +4,7 @@
+   <PropertyGroup>
+     <TclMajorVersion>8</TclMajorVersion>
+     <TclMinorVersion>6</TclMinorVersion>
+-    <TclPatchLevel>9</TclPatchLevel>
++    <TclPatchLevel>12</TclPatchLevel>
+     <TclRevision>0</TclRevision>
+     <TkMajorVersion>$(TclMajorVersion)</TkMajorVersion>
+     <TkMinorVersion>$(TclMinorVersion)</TkMinorVersion>

+ 2 - 2
package-system/python/win_x64/python-config-version.cmake

@@ -9,7 +9,7 @@
 # this file is called to make sure that if we request a specific version
 # we respond only to that version
 
-set(PACKAGE_VERSION 3.7.10)
+set(PACKAGE_VERSION 3.7.12)
 set(PACKAGE_VERSION_EXACT False)
 set(PACKAGE_VERSION_COMPATIBLE False)
 
@@ -25,7 +25,7 @@ if (PACKAGE_FIND_VERSION_COUNT GREATER 1 AND NOT PACKAGE_FIND_VERSION_MINOR EQUA
     return()
 endif()
 
-if (PACKAGE_FIND_VERSION_COUNT GREATER 2 AND NOT PACKAGE_FIND_VERSION_PATCH EQUAL 10)
+if (PACKAGE_FIND_VERSION_COUNT GREATER 2 AND NOT PACKAGE_FIND_VERSION_PATCH EQUAL 12)
     return()
 endif()
 

+ 1 - 1
package-system/python/win_x64/python-config.cmake

@@ -24,7 +24,7 @@ endif()
 # Python_Development_FOUND - The platform we are cross compiling for can link to python
 # and a target called 3rdParty::Python that you can use to depend on
 
-set(${MY}_VERSION 3.7.10)
+set(${MY}_VERSION 3.7.12)
 set(${MY}_INTERPRETER_ID    "Python")
 set(${MY}_EXECUTABLE        ${CMAKE_CURRENT_LIST_DIR}/python/python.exe)
 set(${MY}_HOME              ${CMAKE_CURRENT_LIST_DIR}/python)

+ 2 - 2
package_build_list_host_darwin.json

@@ -37,7 +37,7 @@
         "astc-encoder-3.2-rev5-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/astc-encoder --platform-name Mac --package-root ../../package-system --clean",
         "DirectXShaderCompilerDxc-1.6.2112-o3de-rev1-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/DirectXShaderCompiler --platform-name Mac --package-root ../../package-system --clean",
         "azslc-1.7.35-rev1-mac": "Scripts/extras/pull_and_build_from_git.py ../../package-system/azslc --platform-name Mac --package-root ../../package-system --clean",
-        "python-3.7.10-rev1-darwin": "package-system/python/build_package_image.py",
+        "python-3.7.12-rev1-darwin": "package-system/python/build_package_image.py",
         "mcpp-2.7.2_az.2-rev1-mac": "package-system/mcpp/get_and_build_mcpp.py mcpp-2.7.2_az.2-rev1",
         "mikkelsen-1.0.0.4-mac": "package-system/mikkelsen/build_package_image.py --platform mac",
         "mikkelsen-1.0.0.4-ios": "package-system/mikkelsen/build_package_image.py --platform ios",
@@ -75,7 +75,7 @@
         "ilmbase-2.3.0-rev4-mac": "package-system/ilmbase-mac",
         "tiff-4.2.0.15-rev3-mac": "package-system/tiff-mac",
         "tiff-4.2.0.15-rev3-ios": "package-system/tiff-ios",
-        "python-3.7.10-rev1-darwin": "package-system/python/darwin_x64/package",
+        "python-3.7.12-rev1-darwin": "package-system/python/darwin_x64/package",
         "asn1-0.9.27-rev2-ios": "package-system/asn1-ios",
         "PhysX-4.1.2.29882248-rev5-mac": "package-system/PhysX-mac",
         "PhysX-4.1.2.29882248-rev5-ios": "package-system/PhysX-ios",

+ 2 - 2
package_build_list_host_linux.json

@@ -30,7 +30,7 @@
         "DirectXShaderCompilerDxc-1.6.2112-o3de-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/DirectXShaderCompiler --platform-name Linux --package-root ../../package-system --clean",
         "azslc-1.7.35-rev1-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/azslc --platform-name Linux --package-root ../../package-system --clean",
         "tiff-4.2.0.15-rev3-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/tiff --platform-name Linux --package-root ../../package-system --clean",
-        "python-3.7.10-rev2-linux": "package-system/python/build_package_image.py",
+        "python-3.7.12-rev1-linux": "package-system/python/build_package_image.py",
         "mikkelsen-1.0.0.4-linux": "package-system/mikkelsen/build_package_image.py",
         "qt-5.15.2-rev5-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/Qt --platform-name Linux --package-root ../../package-system --clean",
         "zlib-1.2.11-rev5-linux": "Scripts/extras/pull_and_build_from_git.py ../../package-system/zlib --platform-name Linux --package-root ../../package-system --clean",
@@ -60,7 +60,7 @@
         "DirectXShaderCompilerDxc-1.6.2112-o3de-rev1-linux": "package-system/DirectXShaderCompilerDxc-linux",
         "azslc-1.7.35-rev1-linux": "package-system/azslc-linux",
         "tiff-4.2.0.15-rev3-linux": "package-system/tiff-linux",
-        "python-3.7.10-rev2-linux": "package-system/python/linux_x64/package",
+        "python-3.7.12-rev1-linux": "package-system/python/linux_x64/package",
         "PhysX-4.1.2.29882248-rev5-linux": "package-system/PhysX-linux",
         "NvCloth-v1.1.6-4-gd243404-pr58-rev1-linux": "package-system/NvCloth-linux",
         "mikkelsen-1.0.0.4-linux": "package-system/mikkelsen-linux",

+ 2 - 2
package_build_list_host_windows.json

@@ -41,7 +41,7 @@
         "poly2tri-7f0487a-rev1-windows": "package-system/poly2tri/build_package_image.py --platform-name windows",
         "RapidJSON-1.1.0-rev1-multiplatform": "Scripts/extras/pull_and_build_from_git.py ../../package-system/RapidJSON --platform-name multiplatform --package-root ../../package-system",
         "v-hacd-2.3-1a49edf-rev1-windows": "package-system/v-hacd/build_package_image.py --platform-name windows",
-        "python-3.7.10-rev2-windows": "package-system/python/build_package_image.py",
+        "python-3.7.12-rev1-windows": "package-system/python/build_package_image.py",
         "pybind11-2.4.3-rev3-multiplatform": "Scripts/extras/pull_and_build_from_git.py ../../package-system/pybind11 --platform-name multiplatform --package-root ../../package-system --clean",
         "mikkelsen-1.0.0.4-windows": "package-system/mikkelsen/build_package_image.py",
         "mikkelsen-1.0.0.4-android": "package-system/mikkelsen/build_package_image.py --platform android",
@@ -80,7 +80,7 @@
     "tiff-4.2.0.15-mac-ios": "package-system/tiff-mac-ios",
     "tiff-4.2.0.14-windows": "package-system/tiff-windows",
     "lux_core-2.2-rev5-multiplatform": "package-system/luxcore-multiplatform",
-    "python-3.7.10-rev1-windows": "package-system/python/win_x64/package",
+    "python-3.7.12-rev1-windows": "package-system/python/win_x64/package",
     "pybind11-2.4.3-rev3-multiplatform": "package-system/pybind11-multiplatform",
     "alembic-1.7.11-rev3-multiplatform": "package-system/alembic-multiplatform",
     "hdf5-1.0.11-rev2-multiplatform": "package-system/hdf5-multiplatform",