Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-awscrt for openSUSE:Factory 
checked in at 2026-04-29 19:18:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-awscrt (Old)
 and      /work/SRC/openSUSE:Factory/.python-awscrt.new.30200 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-awscrt"

Wed Apr 29 19:18:37 2026 rev:6 rq:1349891 version:0.32.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-awscrt/python-awscrt.changes      
2026-04-23 19:22:19.937216673 +0200
+++ /work/SRC/openSUSE:Factory/.python-awscrt.new.30200/python-awscrt.changes   
2026-04-29 19:19:44.609750636 +0200
@@ -1,0 +2,7 @@
+Tue Apr 28 07:56:47 UTC 2026 - John Paul Adrian Glaubitz 
<[email protected]>
+
+- Update to version 0.32.2
+  * Min or higher Windows SDK Versions by @sbSteveK in (#723)
+  * Update crt versions by @DmitriyMusatkin in (#732)
+
+-------------------------------------------------------------------

Old:
----
  awscrt-0.32.1.tar.gz

New:
----
  awscrt-0.32.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-awscrt.spec ++++++
--- /var/tmp/diff_new_pack.s5nugO/_old  2026-04-29 19:19:45.441784722 +0200
+++ /var/tmp/diff_new_pack.s5nugO/_new  2026-04-29 19:19:45.441784722 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-awscrt
-Version:        0.32.1
+Version:        0.32.2
 Release:        0
 Summary:        A common runtime for AWS Python projects
 License:        Apache-2.0

++++++ awscrt-0.32.1.tar.gz -> awscrt-0.32.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-crt-python-0.32.1/.github/workflows/ci.yml 
new/aws-crt-python-0.32.2/.github/workflows/ci.yml
--- old/aws-crt-python-0.32.1/.github/workflows/ci.yml  2026-04-16 
23:42:37.000000000 +0200
+++ new/aws-crt-python-0.32.2/.github/workflows/ci.yml  2026-04-24 
22:49:53.000000000 +0200
@@ -285,6 +285,32 @@
           python -c "from urllib.request import urlretrieve; urlretrieve('${{ 
env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION 
}}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
           python builder.pyz build -p ${{ env.PACKAGE_NAME }} --python "${{ 
steps.python38.outputs.python-path }}"
 
+  windows-latest:
+    # try latest version to see if it works with a later version of Windows SDK
+    runs-on: windows-2025
+    strategy:
+      fail-fast: false
+      matrix:
+        arch: [x86, x64]
+    permissions:
+      id-token: write # This is required for requesting the JWT
+    steps:
+      - uses: actions/setup-python@v5
+        id: python38
+        with:
+          python-version: '3.8.10'
+          architecture: ${{ matrix.arch }}
+      - uses: ilammy/setup-nasm@v1
+      - name: configure AWS credentials (containers)
+        uses: aws-actions/configure-aws-credentials@v4
+        with:
+          role-to-assume: ${{ env.CRT_CI_ROLE }}
+          aws-region: ${{ env.AWS_DEFAULT_REGION }}
+      - name: Build ${{ env.PACKAGE_NAME }} + consumers
+        run: |
+          python -c "from urllib.request import urlretrieve; urlretrieve('${{ 
env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION 
}}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
+          python builder.pyz build -p ${{ env.PACKAGE_NAME }} --python "${{ 
steps.python38.outputs.python-path }}"
+
   macos:
     runs-on: macos-14 # latest
     permissions:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-crt-python-0.32.1/setup.py 
new/aws-crt-python-0.32.2/setup.py
--- old/aws-crt-python-0.32.1/setup.py  2026-04-16 23:42:37.000000000 +0200
+++ new/aws-crt-python-0.32.2/setup.py  2026-04-24 22:49:53.000000000 +0200
@@ -30,7 +30,10 @@
 
 # This is the minimum version of the Windows SDK needed for schannel.h with 
SCH_CREDENTIALS and
 # TLS_PARAMETERS. These are required to build Windows Binaries with TLS 1.3 
support.
-WINDOWS_SDK_VERSION_TLS1_3_SUPPORT = "10.0.17763.0"
+WINDOWS_SDK_MIN_VERSION_TLS1_3_SUPPORT = "10.0.17763.0"
+
+# Regex to match a Windows SDK version directory name in the format of 
major.minor.build.revision
+SDK_VERSION_RE = re.compile(r'^(\d+)\.(\d+)\.(\d+)\.(\d+)$')
 
 
 def parse_version(version_string):
@@ -91,6 +94,75 @@
     return []
 
 
+def get_windows_sdk_versions():
+    """Return a list of installed Windows SDK versions, sorted from newest to 
oldest.
+
+    Uses the Windows registry to find the SDK installation path.
+    """
+    if sys.platform != 'win32':
+        return []
+
+    import winreg
+
+    sdk_versions = []
+    sdk_paths = []
+
+    # Try to get SDK path from registry
+    try:
+        with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE,
+                            r"SOFTWARE\Microsoft\Windows Kits\Installed 
Roots") as key:
+            sdk_root = winreg.QueryValueEx(key, "KitsRoot10")[0]
+            sdk_paths.append(os.path.join(sdk_root, "Include"))
+    except (OSError, FileNotFoundError):
+        # Registry key not found, fall back to common installation paths
+        sdk_paths = [
+            os.path.join(os.environ.get('ProgramFiles(x86)', 'C:\\Program 
Files (x86)'),
+                         'Windows Kits', '10', 'Include'),
+            os.path.join(os.environ.get('ProgramFiles', 'C:\\Program Files'),
+                         'Windows Kits', '10', 'Include'),
+        ]
+
+    for sdk_path in sdk_paths:
+        if os.path.exists(sdk_path):
+            try:
+                for entry in os.listdir(sdk_path):
+                    # SDK version directories look like 
"major.minor.build.revision" (e.g. "10.0.17763.0")
+                    if SDK_VERSION_RE.match(entry) and 
os.path.isdir(os.path.join(sdk_path, entry)):
+                        if entry not in sdk_versions:
+                            sdk_versions.append(entry)
+            except OSError:
+                continue
+
+    # Sort versions from newest to oldest
+    sdk_versions.sort(key=parse_version, reverse=True)
+    return sdk_versions
+
+
+def get_best_windows_sdk_version():
+    """Return the best Windows SDK version to use for TLS 1.3 support.
+
+    Returns the latest installed SDK version that is >= 
WINDOWS_SDK_MIN_VERSION_TLS1_3_SUPPORT.
+    Raises RuntimeError if no suitable SDK is found.
+    """
+    installed_versions = get_windows_sdk_versions()
+
+    if installed_versions:
+        # We only need to check against the newest available version.
+        if parse_version(installed_versions[0]) >= 
parse_version(WINDOWS_SDK_MIN_VERSION_TLS1_3_SUPPORT):
+            version = installed_versions[0]
+            print(f"Found Windows SDK {version} (>= 
{WINDOWS_SDK_MIN_VERSION_TLS1_3_SUPPORT} required for TLS 1.3)")
+            return version
+        else:
+            raise RuntimeError(
+                f"No Windows SDK >= {WINDOWS_SDK_MIN_VERSION_TLS1_3_SUPPORT} 
found. "
+                f"Installed versions: {', '.join(installed_versions)}. "
+                f"Please install Windows SDK 
{WINDOWS_SDK_MIN_VERSION_TLS1_3_SUPPORT} or later for TLS 1.3 support.")
+    else:
+        raise RuntimeError(
+            f"No Windows SDK found. "
+            f"Please install Windows SDK 
{WINDOWS_SDK_MIN_VERSION_TLS1_3_SUPPORT} or later for TLS 1.3 support.")
+
+
 def determine_generator_args(cmake_version=None, windows_sdk_version=None):
     if sys.platform == 'win32':
         try:
@@ -275,7 +347,7 @@
         if sys.platform == 'win32':
             windows_sdk_version = os.getenv('AWS_CRT_WINDOWS_SDK_VERSION')
             if windows_sdk_version is None:
-                windows_sdk_version = WINDOWS_SDK_VERSION_TLS1_3_SUPPORT
+                windows_sdk_version = get_best_windows_sdk_version()
 
             cmake_version = get_cmake_version()
 

Reply via email to