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)"