소스 검색

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 년 전
부모
커밋
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
 # 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
 # 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(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}_INTERPRETER_ID    "Python")
 set(${MY}_EXECUTABLE        ${PY_BASE_DIR}/bin/python3)
 set(${MY}_EXECUTABLE        ${PY_BASE_DIR}/bin/python3)
 set(${MY}_HOME              ${PY_BASE_DIR})
 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",
     "License"     : "PSF-2.0",
     "URL"         : "https://python.org",
     "URL"         : "https://python.org",
     "LicenseFile" : "LICENSE"
     "LicenseFile" : "LICENSE"

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

@@ -54,7 +54,7 @@ cd temp
 mkdir $SCRIPT_DIR/package
 mkdir $SCRIPT_DIR/package
 
 
 echo "-------------- Cloning python from git --------------"
 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=$?
 retVal=$?
 if [ $retVal -ne 0 ]; then
 if [ $retVal -ne 0 ]; then
     echo "Error cloning python!"
     echo "Error cloning python!"
@@ -116,8 +116,9 @@ echo "-------------- Building a Mac python package from official sources -------
 cd $PYTHON_SRC_DIR
 cd $PYTHON_SRC_DIR
 cd Mac
 cd Mac
 cd BuildScript
 cd BuildScript
+
 # the following env vars get around a problem compiling tcl/tk
 # 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=$?
 retVal=$?
 if [ $retVal -ne 0 ]; then
 if [ $retVal -ne 0 ]; then
     echo "Could not build python!"
     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
 echo Framework output folder: $FRAMEWORK_OUTPUT_FOLDER
 cd $RELOC_SRC_DIR
 cd $RELOC_SRC_DIR
 echo "---------- Altering the produced framework folder to be relocatable ---------"
 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=$?
 retVal=$?
 if [ $retVal -ne 0 ]; then
 if [ $retVal -ne 0 ]; then
     echo "Could not make python relocatable!"
     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
 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
 --- a/Mac/BuildScript/build-installer.py
 +++ b/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')
      pkgroot = os.path.join(outdir, 'Python.mpkg', 'Contents')
      pkgcontents = os.path.join(pkgroot, 'Packages')
      pkgcontents = os.path.join(pkgroot, 'Packages')
      os.makedirs(pkgcontents)
      os.makedirs(pkgcontents)
@@ -13,4 +188,4 @@ index 4fab4882ef..3c10e2dbe1 100755
 +
 +
      for recipe in pkg_recipes():
      for recipe in pkg_recipes():
          packageFromRecipe(pkgcontents, recipe)
          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.
 # force this into config mode, so that it uses the config files instead of module files.
 set(Python_DIR ${CMAKE_CURRENT_LIST_DIR})
 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",
     "License"     : "PSF-2.0",
     "URL"         : "https://python.org",
     "URL"         : "https://python.org",
     "LicenseFile" : "python/LICENSE"
     "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 --------------------
 echo ------------------------ GIT CLONE python 3.7 --------------------
 cd temp
 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
 if [[ ! -d "cpython" ]]; then
     echo "Was unable to create cpython dir via git clone.  Is git installed?"
     echo "Was unable to create cpython dir via git clone.  Is git installed?"
@@ -74,7 +74,7 @@ fi
 # Prepare the package folder
 # Prepare the package folder
 cd $SCRIPT_DIR
 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 $SCRIPT_DIR
 cd temp
 cd temp
 cd cpython
 cd cpython
@@ -119,6 +119,11 @@ sed -i "1s+.*+\#\!/bin/sh+" ./python/bin/pip*
 sed -i "2i\\
 sed -i "2i\\
 \"exec\" \"\`dirname \$0\`/python\" \"\$0\" \"\$\@\" " ./python/bin/pip*
 \"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 ""
 echo "------ PYTHON WAS BUILT FROM SOURCE -----"
 echo "------ PYTHON WAS BUILT FROM SOURCE -----"
 echo ""
 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
 # this file is called to make sure that if we request a specific version
 # we respond only to that 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_EXACT False)
 set(PACKAGE_VERSION_COMPATIBLE 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()
     return()
 endif()
 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()
     return()
 endif()
 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
 # 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
 # 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}_INTERPRETER_ID    "Python")
 set(${MY}_EXECUTABLE        ${CMAKE_CURRENT_LIST_DIR}/python/bin/python)
 set(${MY}_EXECUTABLE        ${CMAKE_CURRENT_LIST_DIR}/python/bin/python)
 set(${MY}_HOME              ${CMAKE_CURRENT_LIST_DIR}/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.
 # force this into config mode, so that it uses the config files instead of module files.
 set(Python_DIR ${CMAKE_CURRENT_LIST_DIR})
 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",
     "URL"         : "https://python.org",
     "License"     : "PSF-2.0",
     "License"     : "PSF-2.0",
     "LicenseFile" : "python/LICENSE.txt"
     "LicenseFile" : "python/LICENSE.txt"

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

@@ -49,14 +49,24 @@ mkdir %outputdir%
 mkdir %tempdir%
 mkdir %tempdir%
 cd /d %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 (
 if %ERRORLEVEL% NEQ 0 (
     echo "Git clone failed"
     echo "Git clone failed"
     exit /B 1
     exit /B 1
 )
 )
 
 
 cd /d %python_src%
 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
 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
 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
   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...
 echo creating the installation image...
 rem We'll actually use the real python dist builder to do this:
 rem We'll actually use the real python dist builder to do this:
 cd /d %python_src%
 cd /d %python_src%
@@ -95,6 +96,16 @@ if %ERRORLEVEL% NEQ 0 (
   exit /B 1
   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...
 echo copying package metadata and cmake files...
 rem But we do add our own few things...
 rem But we do add our own few things...
 set ROBOCOPY_OPTIONS=/NJH /NJS /NP /NDL
 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
 # this file is called to make sure that if we request a specific version
 # we respond only to that 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_EXACT False)
 set(PACKAGE_VERSION_COMPATIBLE 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()
     return()
 endif()
 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()
     return()
 endif()
 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
 # 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
 # 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}_INTERPRETER_ID    "Python")
 set(${MY}_EXECUTABLE        ${CMAKE_CURRENT_LIST_DIR}/python/python.exe)
 set(${MY}_EXECUTABLE        ${CMAKE_CURRENT_LIST_DIR}/python/python.exe)
 set(${MY}_HOME              ${CMAKE_CURRENT_LIST_DIR}/python)
 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",
         "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",
         "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",
         "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",
         "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-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",
         "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",
         "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-mac": "package-system/tiff-mac",
         "tiff-4.2.0.15-rev3-ios": "package-system/tiff-ios",
         "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",
         "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-mac": "package-system/PhysX-mac",
         "PhysX-4.1.2.29882248-rev5-ios": "package-system/PhysX-ios",
         "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",
         "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",
         "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",
         "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",
         "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",
         "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",
         "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",
         "DirectXShaderCompilerDxc-1.6.2112-o3de-rev1-linux": "package-system/DirectXShaderCompilerDxc-linux",
         "azslc-1.7.35-rev1-linux": "package-system/azslc-linux",
         "azslc-1.7.35-rev1-linux": "package-system/azslc-linux",
         "tiff-4.2.0.15-rev3-linux": "package-system/tiff-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",
         "PhysX-4.1.2.29882248-rev5-linux": "package-system/PhysX-linux",
         "NvCloth-v1.1.6-4-gd243404-pr58-rev1-linux": "package-system/NvCloth-linux",
         "NvCloth-v1.1.6-4-gd243404-pr58-rev1-linux": "package-system/NvCloth-linux",
         "mikkelsen-1.0.0.4-linux": "package-system/mikkelsen-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",
         "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",
         "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",
         "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",
         "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-windows": "package-system/mikkelsen/build_package_image.py",
         "mikkelsen-1.0.0.4-android": "package-system/mikkelsen/build_package_image.py --platform android",
         "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.15-mac-ios": "package-system/tiff-mac-ios",
     "tiff-4.2.0.14-windows": "package-system/tiff-windows",
     "tiff-4.2.0.14-windows": "package-system/tiff-windows",
     "lux_core-2.2-rev5-multiplatform": "package-system/luxcore-multiplatform",
     "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",
     "pybind11-2.4.3-rev3-multiplatform": "package-system/pybind11-multiplatform",
     "alembic-1.7.11-rev3-multiplatform": "package-system/alembic-multiplatform",
     "alembic-1.7.11-rev3-multiplatform": "package-system/alembic-multiplatform",
     "hdf5-1.0.11-rev2-multiplatform": "package-system/hdf5-multiplatform",
     "hdf5-1.0.11-rev2-multiplatform": "package-system/hdf5-multiplatform",