Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-psycopg2 for openSUSE:Factory 
checked in at 2026-05-10 16:48:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-psycopg2 (Old)
 and      /work/SRC/openSUSE:Factory/.python-psycopg2.new.1966 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-psycopg2"

Sun May 10 16:48:24 2026 rev:50 rq:1352271 version:2.9.12

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-psycopg2/python-psycopg2.changes  
2025-11-24 17:17:40.230133545 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-psycopg2.new.1966/python-psycopg2.changes    
    2026-05-10 16:49:19.355230505 +0200
@@ -1,0 +2,6 @@
+Sun May 10 11:30:28 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 2.9.12:
+  * Fix infinite loop with malformed interval (:ticket:`1835`).
+
+-------------------------------------------------------------------

Old:
----
  psycopg2-2.9.11.tar.gz

New:
----
  psycopg2-2.9.12.tar.gz

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

Other differences:
------------------
++++++ python-psycopg2.spec ++++++
--- /var/tmp/diff_new_pack.Trlzfk/_old  2026-05-10 16:49:19.955255060 +0200
+++ /var/tmp/diff_new_pack.Trlzfk/_new  2026-05-10 16:49:19.955255060 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-psycopg2
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,10 +18,10 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-psycopg2
-Version:        2.9.11
+Version:        2.9.12
 Release:        0
 Summary:        Python-PostgreSQL Database Adapter
-License:        LGPL-3.0-or-later AND (LGPL-3.0-or-later OR ZPL-2.0) AND 
SUSE-GPL-2.0-with-openssl-exception
+License:        LGPL-3.0-or-later AND (LGPL-3.0-or-later OR ZPL-2.0) AND 
LicenseRef-SUSE-GPL-2.0-with-openssl-exception
 URL:            https://www.psycopg.org/
 Source:         
https://files.pythonhosted.org/packages/source/p/psycopg2/psycopg2-%{version}.tar.gz
 BuildRequires:  %{python_module devel >= 3.9}

++++++ psycopg2-2.9.11.tar.gz -> psycopg2-2.9.12.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/psycopg2-2.9.11/NEWS new/psycopg2-2.9.12/NEWS
--- old/psycopg2-2.9.11/NEWS    2025-10-10 01:33:17.000000000 +0200
+++ new/psycopg2-2.9.12/NEWS    2026-04-21 00:40:56.000000000 +0200
@@ -1,12 +1,19 @@
 Current release
 ---------------
 
+What's new in psycopg 2.9.12
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- Fix infinite loop with malformed interval (:ticket:`1835`).
+
+
 What's new in psycopg 2.9.11
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 - Add support for Python 3.14.
 - Avoid a segfault passing more arguments than placeholders if Python is built
   with assertions enabled (:ticket:`#1791`).
+- Add riscv64 platform binary packages (:ticket:`#1813`).
 - `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to
   PostgreSQL 18.
 - Drop support for Python 3.8.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/psycopg2-2.9.11/PKG-INFO new/psycopg2-2.9.12/PKG-INFO
--- old/psycopg2-2.9.11/PKG-INFO        2025-10-10 01:33:18.222200000 +0200
+++ new/psycopg2-2.9.12/PKG-INFO        2026-04-21 00:40:56.593032000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: psycopg2
-Version: 2.9.11
+Version: 2.9.12
 Summary: psycopg2 - Python-PostgreSQL Database Adapter
 Home-page: https://psycopg.org/
 Author: Federico Di Gregorio
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/psycopg2-2.9.11/doc/src/conf.py 
new/psycopg2-2.9.12/doc/src/conf.py
--- old/psycopg2-2.9.11/doc/src/conf.py 2025-10-10 01:33:17.000000000 +0200
+++ new/psycopg2-2.9.12/doc/src/conf.py 2026-04-21 00:40:56.000000000 +0200
@@ -277,7 +277,7 @@
     cur.execute("SAVEPOINT drop_test_table;")
     try:
         cur.execute("DROP TABLE %s;" % name)
-    except:
+    except Exception:
         cur.execute("ROLLBACK TO SAVEPOINT drop_test_table;")
     conn.commit()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/psycopg2-2.9.11/psycopg/typecast_datetime.c 
new/psycopg2-2.9.12/psycopg/typecast_datetime.c
--- old/psycopg2-2.9.11/psycopg/typecast_datetime.c     2025-10-10 
01:33:17.000000000 +0200
+++ new/psycopg2-2.9.12/psycopg/typecast_datetime.c     2026-04-21 
00:40:56.000000000 +0200
@@ -358,7 +358,12 @@
                 v = v1;
             }
             if (part == 6) {
-                denom *= 10;
+                /* if denom would overflow it means that an excess of decimal
+                 * digits is being pushed. Postgres should never send more than
+                 * 6. Therefore we can quietly discard the extra. */
+                if (denom <= INT_MAX / 10) {
+                    denom *= 10;
+                }
             }
             break;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/psycopg2-2.9.11/psycopg2.egg-info/PKG-INFO 
new/psycopg2-2.9.12/psycopg2.egg-info/PKG-INFO
--- old/psycopg2-2.9.11/psycopg2.egg-info/PKG-INFO      2025-10-10 
01:33:18.000000000 +0200
+++ new/psycopg2-2.9.12/psycopg2.egg-info/PKG-INFO      2026-04-21 
00:40:56.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: psycopg2
-Version: 2.9.11
+Version: 2.9.12
 Summary: psycopg2 - Python-PostgreSQL Database Adapter
 Home-page: https://psycopg.org/
 Author: Federico Di Gregorio
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/psycopg2-2.9.11/scripts/build/build_libpq.sh 
new/psycopg2-2.9.12/scripts/build/build_libpq.sh
--- old/psycopg2-2.9.11/scripts/build/build_libpq.sh    2025-10-10 
01:33:17.000000000 +0200
+++ new/psycopg2-2.9.12/scripts/build/build_libpq.sh    2026-04-21 
00:40:56.000000000 +0200
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-# Build a modern version of libpq and depending libs from source on Centos 5, 
Alpine or macOS
+# Build a modern version of libpq and depending libs from source on Centos 5, 
Rocky, Alpine or macOS
 
 set -euo pipefail
 
@@ -12,13 +12,10 @@
 openssl_version="${OPENSSL_VERSION}"
 
 # Latest release: https://kerberos.org/dist/
-krb5_version="1.21.3"
+krb5_version="1.22.2"
 
 # Latest release: https://openldap.org/software/download/
-ldap_version="2.6.9"
-
-# Latest release: https://github.com/cyrusimap/cyrus-sasl/releases
-sasl_version="2.1.28"
+ldap_version="2.6.13"
 
 export LIBPQ_BUILD_PREFIX=${LIBPQ_BUILD_PREFIX:-/tmp/libpq.build}
 
@@ -43,7 +40,7 @@
 # we will build the libpq or not.
 case "$ID" in
     alpine)
-        apk add --no-cache krb5-libs
+        apk add --no-cache tzdata krb5-libs
         ;;
 esac
 
@@ -54,9 +51,10 @@
 
 # Install packages required to build the libpq.
 case "$ID" in
-    centos)
+    centos|almalinux|rocky)
         yum update -y
-        yum install -y flex krb5-devel pam-devel perl-IPC-Cmd perl-Time-Piece 
zlib-devel
+        yum install -y flex cyrus-sasl-devel krb5-devel pam-devel \
+            perl perl-IPC-Cmd perl-Time-Piece zlib-devel
         ;;
 
     alpine)
@@ -66,7 +64,7 @@
         ;;
 
     macos)
-        brew install automake m4 libtool
+        brew install automake cyrus-sasl libtool m4
         # If available, libpq seemingly insists on linking against homebrew's
         # openssl no matter what so remove it. Since homebrew's curl depends on
         # it, force use of system curl.
@@ -104,7 +102,7 @@
     )
 fi
 
-if [ "$ID" == "centos" ] || [ "$ID" == "macos" ]; then
+if [ "$ID" == "centos" ] || [ "$ID" == "almalinux" ] || [ "$ID" == "rocky" ] 
|| [ "$ID" == "macos" ]; then
   if [[ ! -f "${LIBPQ_BUILD_PREFIX}/openssl.cnf" ]]; then
 
     # Build openssl if needed
@@ -120,9 +118,9 @@
         options=(--prefix=${LIBPQ_BUILD_PREFIX} 
--openssldir=${LIBPQ_BUILD_PREFIX} \
             zlib -fPIC shared)
         if [ -z "${MACOSX_ARCHITECTURE:-}" ]; then
-            ./config $options
+            ./config ${options[*]}
         else
-            ./configure "darwin64-$MACOSX_ARCHITECTURE-cc" $options
+            ./config "darwin64-$MACOSX_ARCHITECTURE-cc" ${options[*]}
         fi
 
         make -s depend
@@ -160,40 +158,7 @@
 fi
 
 
-if [ "$ID" == "centos" ] || [ "$ID" == "macos" ]; then
-  if [[ ! -f "${LIBPQ_BUILD_PREFIX}/lib/libsasl2.${library_suffix}" ]]; then
-
-    # Build libsasl2 if needed
-    # The system package (cyrus-sasl-devel) causes an amazing error on i686:
-    # "unsupported version 0 of Verneed record"
-    # https://github.com/pypa/manylinux/issues/376
-    sasl_tag="cyrus-sasl-${sasl_version}"
-    sasl_dir="cyrus-sasl-${sasl_tag}"
-    if [ ! -d "${sasl_dir}" ]; then
-        curl -fsSL \
-            https://github.com/cyrusimap/cyrus-sasl/archive/${sasl_tag}.tar.gz 
\
-            | tar xzf -
-
-        pushd "${sasl_dir}"
-
-        autoreconf -i
-        ./configure "${make_configure_standard_flags[@]}" 
--disable-macos-framework
-        make -s
-    else
-        pushd "${sasl_dir}"
-    fi
-
-    # Install libsasl2
-    # requires missing nroff to build
-    touch saslauthd/saslauthd.8
-    make install
-    popd
-
-  fi
-fi
-
-
-if [ "$ID" == "centos" ] || [ "$ID" == "macos" ]; then
+if [ "$ID" == "centos" ] || [ "$ID" == "almalinux" ] || [ "$ID" == "rocky" ] 
|| [ "$ID" == "macos" ]; then
   if [[ ! -f "${LIBPQ_BUILD_PREFIX}/lib/libldap.${library_suffix}" ]]; then
 
     # Build openldap if needed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/psycopg2-2.9.11/scripts/build/print_so_versions.sh 
new/psycopg2-2.9.12/scripts/build/print_so_versions.sh
--- old/psycopg2-2.9.11/scripts/build/print_so_versions.sh      2025-10-10 
01:33:17.000000000 +0200
+++ new/psycopg2-2.9.12/scripts/build/print_so_versions.sh      2026-04-21 
00:40:56.000000000 +0200
@@ -26,7 +26,7 @@
         done) | sort | uniq
         ;;
 
-    centos)
+    centos|rocky|almalinux)
         echo "TODO!"
         ;;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/psycopg2-2.9.11/scripts/build/wheel_linux_before_all.sh 
new/psycopg2-2.9.12/scripts/build/wheel_linux_before_all.sh
--- old/psycopg2-2.9.11/scripts/build/wheel_linux_before_all.sh 2025-10-10 
01:33:17.000000000 +0200
+++ new/psycopg2-2.9.12/scripts/build/wheel_linux_before_all.sh 2026-04-21 
00:40:56.000000000 +0200
@@ -4,7 +4,6 @@
 # This script is designed to be used by cibuildwheel as CIBW_BEFORE_ALL_LINUX
 
 set -euo pipefail
-set -x
 
 dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 prjdir="$( cd "${dir}/../.." && pwd )"
@@ -26,16 +25,16 @@
             # TODO: On 2021-11-09 curl fails on 'ppc64le' with:
             #   curl: (60) SSL certificate problem: certificate has expired
             # Test again later if -k can be removed.
-            curl -skf https://www.postgresql.org/media/keys/ACCC4CF8.asc \
+            curl -fsSLk https://www.postgresql.org/media/keys/ACCC4CF8.asc \
                 > /etc/apt/trusted.gpg.d/postgresql.asc
         fi
 
         apt-get update
         apt-get -y upgrade
-        apt-get -y install libpq-dev
+        apt-get -y install libpq-dev flex
         ;;
 
-    centos)
+    centos | rocky | almalinux)
         "${dir}/build_libpq.sh" > /dev/null
         ;;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/psycopg2-2.9.11/setup.py new/psycopg2-2.9.12/setup.py
--- old/psycopg2-2.9.11/setup.py        2025-10-10 01:33:17.000000000 +0200
+++ new/psycopg2-2.9.12/setup.py        2026-04-21 00:40:56.000000000 +0200
@@ -40,7 +40,7 @@
 # Take a look at https://www.python.org/dev/peps/pep-0440/
 # for a consistent versioning pattern.
 
-PSYCOPG_VERSION = '2.9.11'
+PSYCOPG_VERSION = '2.9.12'
 
 
 # note: if you are changing the list of supported Python version please fix
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/psycopg2-2.9.11/tests/test_dates.py 
new/psycopg2-2.9.12/tests/test_dates.py
--- old/psycopg2-2.9.11/tests/test_dates.py     2025-10-10 01:33:17.000000000 
+0200
+++ new/psycopg2-2.9.12/tests/test_dates.py     2026-04-21 00:40:56.000000000 
+0200
@@ -479,6 +479,12 @@
         cur.execute("select '1 day 2 hours'::interval")
         self.assertRaises(psycopg2.NotSupportedError, cur.fetchone)
 
+    def test_bug_1835(self):
+        for digits in (8, 31, 100):
+            self.assertEqual(
+                psycopg2.extensions.INTERVAL(b"0:0:0." + b"0" * digits, None),
+                timedelta(0))
+
 
 class FromTicksTestCase(unittest.TestCase):
     # bug "TimestampFromTicks() throws ValueError (2-2.0.14)"

Reply via email to