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 2023-04-04 21:26:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-psycopg2 (Old)
and /work/SRC/openSUSE:Factory/.python-psycopg2.new.19717 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-psycopg2"
Tue Apr 4 21:26:00 2023 rev:42 rq:1077060 version:2.9.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-psycopg2/python-psycopg2.changes
2022-11-01 13:42:23.991842340 +0100
+++
/work/SRC/openSUSE:Factory/.python-psycopg2.new.19717/python-psycopg2.changes
2023-04-04 21:26:19.503204175 +0200
@@ -1,0 +2,8 @@
+Mon Apr 3 19:55:26 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 2.9.6:
+ * Package manylinux 2014 for aarch64 and ppc64le platforms, in
+ order to include libpq 15 in the binary package (:ticket:`#1396`).
+ * Wheel package compiled against OpenSSL 1.1.1t.
+
+-------------------------------------------------------------------
Old:
----
psycopg2-2.9.5.tar.gz
New:
----
psycopg2-2.9.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-psycopg2.spec ++++++
--- /var/tmp/diff_new_pack.JT1g28/_old 2023-04-04 21:26:20.151207853 +0200
+++ /var/tmp/diff_new_pack.JT1g28/_new 2023-04-04 21:26:20.163207921 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-psycopg2
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-psycopg2
-Version: 2.9.5
+Version: 2.9.6
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
++++++ psycopg2-2.9.5.tar.gz -> psycopg2-2.9.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/NEWS new/psycopg2-2.9.6/NEWS
--- old/psycopg2-2.9.5/NEWS 2022-10-25 13:05:48.000000000 +0200
+++ new/psycopg2-2.9.6/NEWS 2023-04-02 17:59:20.000000000 +0200
@@ -1,6 +1,14 @@
Current release
---------------
+What's new in psycopg 2.9.6
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- Package manylinux 2014 for aarch64 and ppc64le platforms, in order to
+ include libpq 15 in the binary package (:ticket:`#1396`).
+- Wheel package compiled against OpenSSL 1.1.1t.
+
+
What's new in psycopg 2.9.5
^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/PKG-INFO new/psycopg2-2.9.6/PKG-INFO
--- old/psycopg2-2.9.5/PKG-INFO 2022-10-25 13:05:49.455371100 +0200
+++ new/psycopg2-2.9.6/PKG-INFO 2023-04-02 17:59:20.529322100 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
Name: psycopg2
-Version: 2.9.5
+Version: 2.9.6
Summary: psycopg2 - Python-PostgreSQL Database Adapter
Home-page: https://psycopg.org/
Author: Federico Di Gregorio
@@ -13,77 +13,6 @@
Project-URL: Code, https://github.com/psycopg/psycopg2
Project-URL: Issue Tracker, https://github.com/psycopg/psycopg2/issues
Project-URL: Download, https://pypi.org/project/psycopg2/
-Description: Psycopg is the most popular PostgreSQL database adapter for the
Python
- programming language. Its main features are the complete
implementation of
- the Python DB API 2.0 specification and the thread safety (several
threads can
- share the same connection). It was designed for heavily multi-threaded
- applications that create and destroy lots of cursors and make a large
number
- of concurrent "INSERT"s or "UPDATE"s.
-
- Psycopg 2 is mostly implemented in C as a libpq wrapper, resulting in
being
- both efficient and secure. It features client-side and server-side
cursors,
- asynchronous communication and notifications, "COPY TO/COPY FROM"
support.
- Many Python types are supported out-of-the-box and adapted to matching
- PostgreSQL data types; adaptation can be extended and customized
thanks to a
- flexible objects adaptation system.
-
- Psycopg 2 is both Unicode and Python 3 friendly.
-
-
- Documentation
- -------------
-
- Documentation is included in the ``doc`` directory and is `available
online`__.
-
- .. __: https://www.psycopg.org/docs/
-
- For any other resource (source code repository, bug tracker, mailing
list)
- please check the `project homepage`__.
-
- .. __: https://psycopg.org/
-
-
- Installation
- ------------
-
- Building Psycopg requires a few prerequisites (a C compiler, some
development
- packages): please check the install_ and the faq_ documents in the
``doc`` dir
- or online for the details.
-
- If prerequisites are met, you can install psycopg like any other Python
- package, using ``pip`` to download it from PyPI_::
-
- $ pip install psycopg2
-
- or using ``setup.py`` if you have downloaded the source package
locally::
-
- $ python setup.py build
- $ sudo python setup.py install
-
- You can also obtain a stand-alone package, not requiring a compiler or
- external libraries, by installing the `psycopg2-binary`_ package from
PyPI::
-
- $ pip install psycopg2-binary
-
- The binary package is a practical choice for development and testing
but in
- production it is advised to use the package built from sources.
-
- .. _PyPI: https://pypi.org/project/psycopg2/
- .. _psycopg2-binary: https://pypi.org/project/psycopg2-binary/
- .. _install:
https://www.psycopg.org/docs/install.html#install-from-source
- .. _faq: https://www.psycopg.org/docs/faq.html#faq-compile
-
- :Linux/OSX: |gh-actions|
- :Windows: |appveyor|
-
- .. |gh-actions| image::
https://github.com/psycopg/psycopg2/actions/workflows/tests.yml/badge.svg
- :target:
https://github.com/psycopg/psycopg2/actions/workflows/tests.yml
- :alt: Linux and OSX build status
-
- .. |appveyor| image::
https://ci.appveyor.com/api/projects/status/github/psycopg/psycopg2?branch=master&svg=true
- :target:
https://ci.appveyor.com/project/psycopg/psycopg2/branch/master
- :alt: Windows build status
-
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
@@ -107,3 +36,77 @@
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: Unix
Requires-Python: >=3.6
+License-File: LICENSE
+
+Psycopg is the most popular PostgreSQL database adapter for the Python
+programming language. Its main features are the complete implementation of
+the Python DB API 2.0 specification and the thread safety (several threads can
+share the same connection). It was designed for heavily multi-threaded
+applications that create and destroy lots of cursors and make a large number
+of concurrent "INSERT"s or "UPDATE"s.
+
+Psycopg 2 is mostly implemented in C as a libpq wrapper, resulting in being
+both efficient and secure. It features client-side and server-side cursors,
+asynchronous communication and notifications, "COPY TO/COPY FROM" support.
+Many Python types are supported out-of-the-box and adapted to matching
+PostgreSQL data types; adaptation can be extended and customized thanks to a
+flexible objects adaptation system.
+
+Psycopg 2 is both Unicode and Python 3 friendly.
+
+
+Documentation
+-------------
+
+Documentation is included in the ``doc`` directory and is `available online`__.
+
+.. __: https://www.psycopg.org/docs/
+
+For any other resource (source code repository, bug tracker, mailing list)
+please check the `project homepage`__.
+
+.. __: https://psycopg.org/
+
+
+Installation
+------------
+
+Building Psycopg requires a few prerequisites (a C compiler, some development
+packages): please check the install_ and the faq_ documents in the ``doc`` dir
+or online for the details.
+
+If prerequisites are met, you can install psycopg like any other Python
+package, using ``pip`` to download it from PyPI_::
+
+ $ pip install psycopg2
+
+or using ``setup.py`` if you have downloaded the source package locally::
+
+ $ python setup.py build
+ $ sudo python setup.py install
+
+You can also obtain a stand-alone package, not requiring a compiler or
+external libraries, by installing the `psycopg2-binary`_ package from PyPI::
+
+ $ pip install psycopg2-binary
+
+The binary package is a practical choice for development and testing but in
+production it is advised to use the package built from sources.
+
+.. _PyPI: https://pypi.org/project/psycopg2/
+.. _psycopg2-binary: https://pypi.org/project/psycopg2-binary/
+.. _install: https://www.psycopg.org/docs/install.html#install-from-source
+.. _faq: https://www.psycopg.org/docs/faq.html#faq-compile
+
+:Linux/OSX: |gh-actions|
+:Windows: |appveyor|
+
+.. |gh-actions| image::
https://github.com/psycopg/psycopg2/actions/workflows/tests.yml/badge.svg
+ :target: https://github.com/psycopg/psycopg2/actions/workflows/tests.yml
+ :alt: Linux and OSX build status
+
+.. |appveyor| image::
https://ci.appveyor.com/api/projects/status/github/psycopg/psycopg2?branch=master&svg=true
+ :target: https://ci.appveyor.com/project/psycopg/psycopg2/branch/master
+ :alt: Windows build status
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/doc/COPYING.LESSER
new/psycopg2-2.9.6/doc/COPYING.LESSER
--- old/psycopg2-2.9.5/doc/COPYING.LESSER 2022-10-25 13:05:48.000000000
+0200
+++ new/psycopg2-2.9.6/doc/COPYING.LESSER 2023-04-02 17:59:20.000000000
+0200
@@ -1,7 +1,7 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/psycopg2.egg-info/PKG-INFO
new/psycopg2-2.9.6/psycopg2.egg-info/PKG-INFO
--- old/psycopg2-2.9.5/psycopg2.egg-info/PKG-INFO 2022-10-25
13:05:49.000000000 +0200
+++ new/psycopg2-2.9.6/psycopg2.egg-info/PKG-INFO 2023-04-02
17:59:20.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
Name: psycopg2
-Version: 2.9.5
+Version: 2.9.6
Summary: psycopg2 - Python-PostgreSQL Database Adapter
Home-page: https://psycopg.org/
Author: Federico Di Gregorio
@@ -13,77 +13,6 @@
Project-URL: Code, https://github.com/psycopg/psycopg2
Project-URL: Issue Tracker, https://github.com/psycopg/psycopg2/issues
Project-URL: Download, https://pypi.org/project/psycopg2/
-Description: Psycopg is the most popular PostgreSQL database adapter for the
Python
- programming language. Its main features are the complete
implementation of
- the Python DB API 2.0 specification and the thread safety (several
threads can
- share the same connection). It was designed for heavily multi-threaded
- applications that create and destroy lots of cursors and make a large
number
- of concurrent "INSERT"s or "UPDATE"s.
-
- Psycopg 2 is mostly implemented in C as a libpq wrapper, resulting in
being
- both efficient and secure. It features client-side and server-side
cursors,
- asynchronous communication and notifications, "COPY TO/COPY FROM"
support.
- Many Python types are supported out-of-the-box and adapted to matching
- PostgreSQL data types; adaptation can be extended and customized
thanks to a
- flexible objects adaptation system.
-
- Psycopg 2 is both Unicode and Python 3 friendly.
-
-
- Documentation
- -------------
-
- Documentation is included in the ``doc`` directory and is `available
online`__.
-
- .. __: https://www.psycopg.org/docs/
-
- For any other resource (source code repository, bug tracker, mailing
list)
- please check the `project homepage`__.
-
- .. __: https://psycopg.org/
-
-
- Installation
- ------------
-
- Building Psycopg requires a few prerequisites (a C compiler, some
development
- packages): please check the install_ and the faq_ documents in the
``doc`` dir
- or online for the details.
-
- If prerequisites are met, you can install psycopg like any other Python
- package, using ``pip`` to download it from PyPI_::
-
- $ pip install psycopg2
-
- or using ``setup.py`` if you have downloaded the source package
locally::
-
- $ python setup.py build
- $ sudo python setup.py install
-
- You can also obtain a stand-alone package, not requiring a compiler or
- external libraries, by installing the `psycopg2-binary`_ package from
PyPI::
-
- $ pip install psycopg2-binary
-
- The binary package is a practical choice for development and testing
but in
- production it is advised to use the package built from sources.
-
- .. _PyPI: https://pypi.org/project/psycopg2/
- .. _psycopg2-binary: https://pypi.org/project/psycopg2-binary/
- .. _install:
https://www.psycopg.org/docs/install.html#install-from-source
- .. _faq: https://www.psycopg.org/docs/faq.html#faq-compile
-
- :Linux/OSX: |gh-actions|
- :Windows: |appveyor|
-
- .. |gh-actions| image::
https://github.com/psycopg/psycopg2/actions/workflows/tests.yml/badge.svg
- :target:
https://github.com/psycopg/psycopg2/actions/workflows/tests.yml
- :alt: Linux and OSX build status
-
- .. |appveyor| image::
https://ci.appveyor.com/api/projects/status/github/psycopg/psycopg2?branch=master&svg=true
- :target:
https://ci.appveyor.com/project/psycopg/psycopg2/branch/master
- :alt: Windows build status
-
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
@@ -107,3 +36,77 @@
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: Unix
Requires-Python: >=3.6
+License-File: LICENSE
+
+Psycopg is the most popular PostgreSQL database adapter for the Python
+programming language. Its main features are the complete implementation of
+the Python DB API 2.0 specification and the thread safety (several threads can
+share the same connection). It was designed for heavily multi-threaded
+applications that create and destroy lots of cursors and make a large number
+of concurrent "INSERT"s or "UPDATE"s.
+
+Psycopg 2 is mostly implemented in C as a libpq wrapper, resulting in being
+both efficient and secure. It features client-side and server-side cursors,
+asynchronous communication and notifications, "COPY TO/COPY FROM" support.
+Many Python types are supported out-of-the-box and adapted to matching
+PostgreSQL data types; adaptation can be extended and customized thanks to a
+flexible objects adaptation system.
+
+Psycopg 2 is both Unicode and Python 3 friendly.
+
+
+Documentation
+-------------
+
+Documentation is included in the ``doc`` directory and is `available online`__.
+
+.. __: https://www.psycopg.org/docs/
+
+For any other resource (source code repository, bug tracker, mailing list)
+please check the `project homepage`__.
+
+.. __: https://psycopg.org/
+
+
+Installation
+------------
+
+Building Psycopg requires a few prerequisites (a C compiler, some development
+packages): please check the install_ and the faq_ documents in the ``doc`` dir
+or online for the details.
+
+If prerequisites are met, you can install psycopg like any other Python
+package, using ``pip`` to download it from PyPI_::
+
+ $ pip install psycopg2
+
+or using ``setup.py`` if you have downloaded the source package locally::
+
+ $ python setup.py build
+ $ sudo python setup.py install
+
+You can also obtain a stand-alone package, not requiring a compiler or
+external libraries, by installing the `psycopg2-binary`_ package from PyPI::
+
+ $ pip install psycopg2-binary
+
+The binary package is a practical choice for development and testing but in
+production it is advised to use the package built from sources.
+
+.. _PyPI: https://pypi.org/project/psycopg2/
+.. _psycopg2-binary: https://pypi.org/project/psycopg2-binary/
+.. _install: https://www.psycopg.org/docs/install.html#install-from-source
+.. _faq: https://www.psycopg.org/docs/faq.html#faq-compile
+
+:Linux/OSX: |gh-actions|
+:Windows: |appveyor|
+
+.. |gh-actions| image::
https://github.com/psycopg/psycopg2/actions/workflows/tests.yml/badge.svg
+ :target: https://github.com/psycopg/psycopg2/actions/workflows/tests.yml
+ :alt: Linux and OSX build status
+
+.. |appveyor| image::
https://ci.appveyor.com/api/projects/status/github/psycopg/psycopg2?branch=master&svg=true
+ :target: https://ci.appveyor.com/project/psycopg/psycopg2/branch/master
+ :alt: Windows build status
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/psycopg2.egg-info/SOURCES.txt
new/psycopg2-2.9.6/psycopg2.egg-info/SOURCES.txt
--- old/psycopg2-2.9.5/psycopg2.egg-info/SOURCES.txt 2022-10-25
13:05:49.000000000 +0200
+++ new/psycopg2-2.9.6/psycopg2.egg-info/SOURCES.txt 2023-04-02
17:59:20.000000000 +0200
@@ -137,16 +137,15 @@
scripts/refcounter.py
scripts/build/appveyor.py
scripts/build/build_libpq.sh
-scripts/build/build_macos.sh
scripts/build/build_macos_arm64.sh
-scripts/build/build_manylinux2014.sh
-scripts/build/build_manylinux_2_24.sh
-scripts/build/build_musllinux_1_1.sh
scripts/build/build_sdist.sh
scripts/build/download_packages_appveyor.py
scripts/build/download_packages_github.py
+scripts/build/print_so_versions.sh
scripts/build/run_build_macos_arm64.sh
scripts/build/strip_wheel.sh
+scripts/build/wheel_linux_before_all.sh
+scripts/build/wheel_macos_before_all.sh
tests/__init__.py
tests/dbapi20.py
tests/dbapi20_tpc.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/scripts/build/appveyor.py
new/psycopg2-2.9.6/scripts/build/appveyor.py
--- old/psycopg2-2.9.5/scripts/build/appveyor.py 2022-10-25
13:05:48.000000000 +0200
+++ new/psycopg2-2.9.6/scripts/build/appveyor.py 2023-04-02
17:59:20.000000000 +0200
@@ -655,9 +655,12 @@
@property
def py_ver(self):
- """The Python version to build as 2 digits string."""
+ """The Python version to build as 2 digits string.
+
+ For large values of 2, occasionally.
+ """
rv = os.environ['PY_VER']
- assert rv in ('36', '37', '38', '39', '310'), rv
+ assert rv in ('36', '37', '38', '39', '310', '311'), rv
return rv
@property
@@ -744,6 +747,7 @@
'38': '14.0',
'39': '16.0',
'310': '16.0',
+ '311': '16.0',
}
return vsvers[self.py_ver]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/scripts/build/build_libpq.sh
new/psycopg2-2.9.6/scripts/build/build_libpq.sh
--- old/psycopg2-2.9.5/scripts/build/build_libpq.sh 2022-10-25
13:05:48.000000000 +0200
+++ new/psycopg2-2.9.6/scripts/build/build_libpq.sh 2023-04-02
17:59:20.000000000 +0200
@@ -6,94 +6,134 @@
set -x
# Last release: https://www.postgresql.org/ftp/source/
-postgres_version="15.0"
+# IMPORTANT! Change the cache key in packages.yml when upgrading libraries
+postgres_version="${LIBPQ_VERSION:-15.0}"
+
# last release: https://www.openssl.org/source/
-openssl_version="1.1.1r"
+openssl_version="${OPENSSL_VERSION:-1.1.1t}"
+
# last release: https://openldap.org/software/download/
-ldap_version="2.4.59"
+ldap_version="2.6.3"
+
# last release: https://github.com/cyrusimap/cyrus-sasl/releases
sasl_version="2.1.28"
-yum install -y zlib-devel krb5-devel pam-devel
+export LIBPQ_BUILD_PREFIX=${LIBPQ_BUILD_PREFIX:-/tmp/libpq.build}
+if [[ -f "${LIBPQ_BUILD_PREFIX}/lib/libpq.so" ]]; then
+ echo "libpq already available: build skipped" >&2
+ exit 0
+fi
-# Build openssl if needed
-openssl_tag="OpenSSL_${openssl_version//./_}"
-openssl_dir="openssl-${openssl_tag}"
-if [ ! -d "${openssl_dir}" ]; then curl -sL \
- https://github.com/openssl/openssl/archive/${openssl_tag}.tar.gz \
- | tar xzf -
+source /etc/os-release
- cd "${openssl_dir}"
+case "$ID" in
+ centos)
+ yum update -y
+ yum install -y zlib-devel krb5-devel pam-devel
+ ;;
+
+ alpine)
+ apk upgrade
+ apk add --no-cache zlib-dev krb5-dev linux-pam-dev openldap-dev
+ ;;
+
+ *)
+ echo "$0: unexpected Linux distribution: '$ID'" >&2
+ exit 1
+ ;;
+esac
+
+if [ "$ID" == "centos" ]; then
+
+ # Build openssl if needed
+ openssl_tag="OpenSSL_${openssl_version//./_}"
+ openssl_dir="openssl-${openssl_tag}"
+ if [ ! -d "${openssl_dir}" ]; then curl -sL \
+ https://github.com/openssl/openssl/archive/${openssl_tag}.tar.gz \
+ | tar xzf -
+
+ cd "${openssl_dir}"
+
+ ./config --prefix=${LIBPQ_BUILD_PREFIX}
--openssldir=${LIBPQ_BUILD_PREFIX} \
+ zlib -fPIC shared
+ make depend
+ make
+ else
+ cd "${openssl_dir}"
+ fi
+
+ # Install openssl
+ make install_sw
+ cd ..
- ./config --prefix=/usr/local/ --openssldir=/usr/local/ \
- zlib -fPIC shared
- make depend
- make
-else
- cd "${openssl_dir}"
fi
-# Install openssl
-make install_sw
-cd ..
+if [ "$ID" == "centos" ]; 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 -sL \
- https://github.com/cyrusimap/cyrus-sasl/archive/${sasl_tag}.tar.gz \
- | tar xzf -
+ # 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 -sL \
+ https://github.com/cyrusimap/cyrus-sasl/archive/${sasl_tag}.tar.gz
\
+ | tar xzf -
+
+ cd "${sasl_dir}"
+
+ autoreconf -i
+ ./configure --prefix=${LIBPQ_BUILD_PREFIX} \
+ CPPFLAGS=-I${LIBPQ_BUILD_PREFIX}/include/
LDFLAGS=-L${LIBPQ_BUILD_PREFIX}/lib
+ make
+ else
+ cd "${sasl_dir}"
+ fi
- cd "${sasl_dir}"
+ # Install libsasl2
+ # requires missing nroff to build
+ touch saslauthd/saslauthd.8
+ make install
+ cd ..
- autoreconf -i
- ./configure
- make
-else
- cd "${sasl_dir}"
fi
-# Install libsasl2
-# requires missing nroff to build
-touch saslauthd/saslauthd.8
-make install
-cd ..
+if [ "$ID" == "centos" ]; then
-# Build openldap if needed
-ldap_tag="${ldap_version}"
-ldap_dir="openldap-${ldap_tag}"
-if [ ! -d "${ldap_dir}" ]; then
- curl -sL \
-
https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-${ldap_tag}.tgz
\
- | tar xzf -
+ # Build openldap if needed
+ ldap_tag="${ldap_version}"
+ ldap_dir="openldap-${ldap_tag}"
+ if [ ! -d "${ldap_dir}" ]; then
+ curl -sL \
+
https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-${ldap_tag}.tgz
\
+ | tar xzf -
+
+ cd "${ldap_dir}"
+
+ ./configure --prefix=${LIBPQ_BUILD_PREFIX} --enable-backends=no
--enable-null \
+ CPPFLAGS=-I${LIBPQ_BUILD_PREFIX}/include/
LDFLAGS=-L${LIBPQ_BUILD_PREFIX}/lib
+
+ make depend
+ make -C libraries/liblutil/
+ make -C libraries/liblber/
+ make -C libraries/libldap/
+ else
+ cd "${ldap_dir}"
+ fi
- cd "${ldap_dir}"
+ # Install openldap
+ make -C libraries/liblber/ install
+ make -C libraries/libldap/ install
+ make -C include/ install
+ chmod +x ${LIBPQ_BUILD_PREFIX}/lib/{libldap,liblber}*.so*
+ cd ..
- ./configure --enable-backends=no --enable-null
- make depend
- make -C libraries/liblutil/
- make -C libraries/liblber/
- make -C libraries/libldap/
- make -C libraries/libldap_r/
-else
- cd "${ldap_dir}"
fi
-# Install openldap
-make -C libraries/liblber/ install
-make -C libraries/libldap/ install
-make -C libraries/libldap_r/ install
-make -C include/ install
-chmod +x /usr/local/lib/{libldap,liblber}*.so*
-cd ..
-
# Build libpq if needed
postgres_tag="REL_${postgres_version//./_}"
@@ -111,14 +151,12 @@
'|#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql"|' \
src/include/pg_config_manual.h
- # Without this, libpq ./configure fails on i686
- if [[ "$(uname -m)" == "i686" ]]; then
- export LD_LIBRARY_PATH=/usr/local/lib
- fi
+ # Often needed, but currently set by the workflow
+ # export LD_LIBRARY_PATH="${LIBPQ_BUILD_PREFIX}/lib"
- ./configure --prefix=/usr/local --without-readline \
- --with-gssapi --with-openssl --with-pam --with-ldap \
- --sysconfdir=/etc/postgresql-common
+ ./configure --prefix=${LIBPQ_BUILD_PREFIX}
--sysconfdir=/etc/postgresql-common \
+ --without-readline --with-gssapi --with-openssl --with-pam --with-ldap
\
+ CPPFLAGS=-I${LIBPQ_BUILD_PREFIX}/include/
LDFLAGS=-L${LIBPQ_BUILD_PREFIX}/lib
make -C src/interfaces/libpq
make -C src/bin/pg_config
make -C src/include
@@ -132,4 +170,4 @@
make -C src/include install
cd ..
-find /usr/local/ -name \*.so.\* -type f -exec strip --strip-unneeded {} \;
+find ${LIBPQ_BUILD_PREFIX} -name \*.so.\* -type f -exec strip --strip-unneeded
{} \;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/scripts/build/build_macos.sh
new/psycopg2-2.9.6/scripts/build/build_macos.sh
--- old/psycopg2-2.9.5/scripts/build/build_macos.sh 2022-10-25
13:05:48.000000000 +0200
+++ new/psycopg2-2.9.6/scripts/build/build_macos.sh 1970-01-01
01:00:00.000000000 +0100
@@ -1,82 +0,0 @@
-#!/bin/bash
-
-# Create macOS wheels for psycopg2
-#
-# Following instructions from
https://github.com/MacPython/wiki/wiki/Spinning-wheels
-# Cargoculting pieces of implementation from
https://github.com/matthew-brett/multibuild
-
-set -euo pipefail
-set -x
-
-dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-prjdir="$( cd "${dir}/../.." && pwd )"
-
-brew update
-brew install gnu-sed postgresql@14
-# Fetch 14.1 if 14.0 is still the default version
-brew reinstall postgresql
-
-# Start the database for testing
-brew services start postgresql
-
-for i in $(seq 10 -1 0); do
- eval pg_isready && break
- if [ $i == 0 ]; then
- echo "PostgreSQL service not ready, giving up"
- exit 1
- fi
- echo "PostgreSQL service not ready, waiting a bit, attempts left: $i"
- sleep 5
-done
-
-# Find psycopg version
-version=$(grep -e ^PSYCOPG_VERSION "${prjdir}/setup.py" | gsed
"s/.*'\(.*\)'/\1/")
-# A gratuitous comment to fix broken vim syntax file: '")
-distdir="${prjdir}/dist/psycopg2-$version"
-mkdir -p "$distdir"
-
-# Install required python packages
-pip install -U pip wheel delocate
-
-# Replace the package name
-if [[ "${PACKAGE_NAME:-}" ]]; then
- gsed -i "s/^setup(name=\"psycopg2\"/setup(name=\"${PACKAGE_NAME}\"/" \
- "${prjdir}/setup.py"
-fi
-
-# Build the wheels
-wheeldir="${prjdir}/wheels"
-pip wheel -w ${wheeldir} .
-delocate-listdeps ${wheeldir}/*.whl
-
-# Check where is the libpq. I'm gonna kill it for testing
-if [[ -z "${LIBPQ:-}" ]]; then
- export LIBPQ=$(delocate-listdeps ${wheeldir}/*.whl | grep libpq)
-fi
-
-delocate-wheel ${wheeldir}/*.whl
-#
https://github.com/MacPython/wiki/wiki/Spinning-wheels#question-will-pip-give-me-a-broken-wheel
-delocate-addplat --rm-orig -x 10_9 -x 10_10 ${wheeldir}/*.whl
-cp ${wheeldir}/*.whl ${distdir}
-
-# kill the libpq to make sure tests don't depend on it
-mv "$LIBPQ" "${LIBPQ}-bye"
-
-# Install and test the built wheel
-pip install ${PACKAGE_NAME:-psycopg2} --no-index -f "$distdir"
-
-# Print psycopg and libpq versions
-python -c "import psycopg2; print(psycopg2.__version__)"
-python -c "import psycopg2; print(psycopg2.__libpq_version__)"
-python -c "import psycopg2; print(psycopg2.extensions.libpq_version())"
-
-# fail if we are not using the expected libpq library
-# Disabled as we just use what's available on the system on macOS
-# if [[ "${WANT_LIBPQ:-}" ]]; then
-# python -c "import psycopg2, sys; sys.exit(${WANT_LIBPQ} !=
psycopg2.extensions.libpq_version())"
-# fi
-
-python -c "import tests; tests.unittest.main(defaultTest='tests.test_suite')"
-
-# just because I'm a boy scout
-mv "${LIBPQ}-bye" "$LIBPQ"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/scripts/build/build_macos_arm64.sh
new/psycopg2-2.9.6/scripts/build/build_macos_arm64.sh
--- old/psycopg2-2.9.5/scripts/build/build_macos_arm64.sh 2022-10-25
13:05:48.000000000 +0200
+++ new/psycopg2-2.9.6/scripts/build/build_macos_arm64.sh 2023-04-02
17:59:20.000000000 +0200
@@ -10,8 +10,8 @@
set -euo pipefail
set -x
-python_versions="3.8.10 3.9.13 3.10.5 3.11"
-postgres_version=15
+python_versions="3.8.10 3.9.13 3.10.5 3.11.0"
+pg_version=15
# Move to the root of the project
dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@@ -35,17 +35,26 @@
eval "$(/opt/homebrew/bin/brew shellenv)"
fi
+export PGDATA=/opt/homebrew/var/postgresql@${pg_version}
+
# Install PostgreSQL, if necessary
command -v pg_config > /dev/null || (
- brew install postgresql@${postgres_version}
- # Currently not working
- # brew services start postgresql@${postgres_version}
- pg_ctl \
- -D /opt/homebrew/var/postgresql@${postgres_version} \
- -l /opt/homebrew/var/log/postgresql@${postgres_version}.log \
- start
+ brew install postgresql@${pg_version}
)
+# After PostgreSQL 15, the bin path is not in the path.
+export PATH=$(ls -d1 /opt/homebrew/Cellar/postgresql@${pg_version}/*/bin):$PATH
+
+# Make sure the server is running
+
+# Currently not working
+# brew services start postgresql@${pg_version}
+
+if ! pg_ctl status; then
+ pg_ctl -l /opt/homebrew/var/log/postgresql@${pg_version}.log start
+fi
+
+
# Install the Python versions we want to build
for ver3 in $python_versions; do
ver2=$(echo $ver3 | sed 's/\([^\.]*\)\(\.[^\.]*\)\(.*\)/\1\2/')
@@ -68,7 +77,7 @@
# Build the binary packages
export CIBW_PLATFORM=macos
export CIBW_ARCHS=arm64
-export CIBW_BUILD='cp{38,39,310}-*'
+export CIBW_BUILD='cp{38,39,310,311}-*'
export CIBW_TEST_COMMAND='python -c "import tests;
tests.unittest.main(defaultTest=\"tests.test_suite\")"'
export PSYCOPG2_TESTDB=postgres
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/scripts/build/build_manylinux2014.sh
new/psycopg2-2.9.6/scripts/build/build_manylinux2014.sh
--- old/psycopg2-2.9.5/scripts/build/build_manylinux2014.sh 2022-10-25
13:05:48.000000000 +0200
+++ new/psycopg2-2.9.6/scripts/build/build_manylinux2014.sh 1970-01-01
01:00:00.000000000 +0100
@@ -1,76 +0,0 @@
-#!/bin/bash
-
-# Create manylinux2014 wheels for psycopg2
-#
-# manylinux2014 is built on CentOS 7, which packages an old version of the
-# libssl, (1.0, which has concurrency problems with the Python libssl). So we
-# need to build these libraries from source.
-#
-# Look at the .github/workflows/packages.yml file for hints about how to use
it.
-
-set -euo pipefail
-set -x
-
-dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-prjdir="$( cd "${dir}/../.." && pwd )"
-
-# Build all the available versions, or just the ones specified in PYVERS
-if [ ! "${PYVERS:-}" ]; then
- PYVERS="$(ls /opt/python/)"
-fi
-
-# Find psycopg version
-version=$(grep -e ^PSYCOPG_VERSION "${prjdir}/setup.py" | sed
"s/.*'\(.*\)'/\1/")
-# A gratuitous comment to fix broken vim syntax file: '")
-distdir="${prjdir}/dist/psycopg2-$version"
-
-# Replace the package name
-if [[ "${PACKAGE_NAME:-}" ]]; then
- sed -i "s/^setup(name=\"psycopg2\"/setup(name=\"${PACKAGE_NAME}\"/" \
- "${prjdir}/setup.py"
-fi
-
-# Build depending libraries
-"${dir}/build_libpq.sh" > /dev/null
-
-# Create the wheel packages
-for pyver in $PYVERS; do
- pybin="/opt/python/${pyver}/bin"
- "${pybin}/pip" wheel "${prjdir}" -w "${prjdir}/dist/"
-done
-
-# Bundle external shared libraries into the wheels
-for whl in "${prjdir}"/dist/*.whl; do
- "${dir}/strip_wheel.sh" "$whl"
- auditwheel repair "$whl" -w "$distdir"
-done
-
-# Make sure the libpq is not in the system
-for f in $(find /usr/local/lib -name libpq\*) ; do
- mkdir -pv "/libpqbak/$(dirname $f)"
- mv -v "$f" "/libpqbak/$(dirname $f)"
-done
-
-# Install packages and test
-cd "${prjdir}"
-for pyver in $PYVERS; do
- pybin="/opt/python/${pyver}/bin"
- "${pybin}/pip" install ${PACKAGE_NAME:-psycopg2} --no-index -f "$distdir"
-
- # Print psycopg and libpq versions
- "${pybin}/python" -c "import psycopg2; print(psycopg2.__version__)"
- "${pybin}/python" -c "import psycopg2; print(psycopg2.__libpq_version__)"
- "${pybin}/python" -c "import psycopg2;
print(psycopg2.extensions.libpq_version())"
-
- # Fail if we are not using the expected libpq library
- if [[ "${WANT_LIBPQ:-}" ]]; then
- "${pybin}/python" -c "import psycopg2, sys; sys.exit(${WANT_LIBPQ} !=
psycopg2.extensions.libpq_version())"
- fi
-
- "${pybin}/python" -c "import tests;
tests.unittest.main(defaultTest='tests.test_suite')"
-done
-
-# Restore the libpq packages
-for f in $(cd /libpqbak/ && find . -not -type d); do
- mv -v "/libpqbak/$f" "/$f"
-done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/scripts/build/build_manylinux_2_24.sh
new/psycopg2-2.9.6/scripts/build/build_manylinux_2_24.sh
--- old/psycopg2-2.9.5/scripts/build/build_manylinux_2_24.sh 2022-10-25
13:05:48.000000000 +0200
+++ new/psycopg2-2.9.6/scripts/build/build_manylinux_2_24.sh 1970-01-01
01:00:00.000000000 +0100
@@ -1,76 +0,0 @@
-#!/bin/bash
-
-# Create manylinux_2_24 wheels for psycopg2
-#
-# Look at the .github/workflows/packages.yml file for hints about how to use
it.
-
-set -euo pipefail
-set -x
-
-dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-prjdir="$( cd "${dir}/../.." && pwd )"
-
-# Build all the available versions, or just the ones specified in PYVERS
-if [ ! "${PYVERS:-}" ]; then
- PYVERS="$(ls /opt/python/)"
-fi
-
-# Find psycopg version
-version=$(grep -e ^PSYCOPG_VERSION "${prjdir}/setup.py" | sed
"s/.*'\(.*\)'/\1/")
-# A gratuitous comment to fix broken vim syntax file: '")
-distdir="${prjdir}/dist/psycopg2-$version"
-
-# Replace the package name
-if [[ "${PACKAGE_NAME:-}" ]]; then
- sed -i "s/^setup(name=\"psycopg2\"/setup(name=\"${PACKAGE_NAME}\"/" \
- "${prjdir}/setup.py"
-fi
-
-# Install prerequisite libraries
-curl -k -s https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
-echo "deb http://apt.postgresql.org/pub/repos/apt stretch-pgdg main" \
- > /etc/apt/sources.list.d/pgdg.list
-apt-get -y update
-apt-get install -y libpq-dev
-
-# Create the wheel packages
-for pyver in $PYVERS; do
- pybin="/opt/python/${pyver}/bin"
- "${pybin}/pip" wheel "${prjdir}" -w "${prjdir}/dist/"
-done
-
-# Bundle external shared libraries into the wheels
-for whl in "${prjdir}"/dist/*.whl; do
- "${dir}/strip_wheel.sh" "$whl"
- auditwheel repair "$whl" -w "$distdir"
-done
-
-# Make sure the libpq is not in the system
-for f in $(find /usr/lib /usr/lib64 -name libpq\*) ; do
- mkdir -pv "/libpqbak/$(dirname $f)"
- mv -v "$f" "/libpqbak/$(dirname $f)"
-done
-
-# Install packages and test
-cd "${prjdir}"
-for pyver in $PYVERS; do
- pybin="/opt/python/${pyver}/bin"
- "${pybin}/pip" install ${PACKAGE_NAME:-psycopg2} --no-index -f "$distdir"
-
- # Print psycopg and libpq versions
- "${pybin}/python" -c "import psycopg2; print(psycopg2.__version__)"
- "${pybin}/python" -c "import psycopg2; print(psycopg2.__libpq_version__)"
- "${pybin}/python" -c "import psycopg2;
print(psycopg2.extensions.libpq_version())"
-
- # Fail if we are not using the expected libpq library
- if [[ "${WANT_LIBPQ:-}" ]]; then
- "${pybin}/python" -c "import psycopg2, sys; sys.exit(${WANT_LIBPQ} !=
psycopg2.extensions.libpq_version())"
- fi
-
- "${pybin}/python" -c "import tests;
tests.unittest.main(defaultTest='tests.test_suite')"
-done
-
-# Restore the libpq packages
-for f in $(cd /libpqbak/ && find . -not -type d); do
- mv -v "/libpqbak/$f" "/$f"
-done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/scripts/build/build_musllinux_1_1.sh
new/psycopg2-2.9.6/scripts/build/build_musllinux_1_1.sh
--- old/psycopg2-2.9.5/scripts/build/build_musllinux_1_1.sh 2022-10-25
13:05:48.000000000 +0200
+++ new/psycopg2-2.9.6/scripts/build/build_musllinux_1_1.sh 1970-01-01
01:00:00.000000000 +0100
@@ -1,68 +0,0 @@
-#!/bin/bash
-
-# Create musllinux_1_1 wheels for psycopg2
-#
-# Look at the .github/workflows/packages.yml file for hints about how to use
it.
-
-set -euo pipefail
-set -x
-
-dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-prjdir="$( cd "${dir}/../.." && pwd )"
-
-# Build all the available versions, or just the ones specified in PYVERS
-if [ ! "${PYVERS:-}" ]; then
- PYVERS="$(ls /opt/python/)"
-fi
-
-# Find psycopg version
-version=$(grep -e ^PSYCOPG_VERSION "${prjdir}/setup.py" | sed
"s/.*'\(.*\)'/\1/")
-# A gratuitous comment to fix broken vim syntax file: '")
-distdir="${prjdir}/dist/psycopg2-$version"
-
-# Replace the package name
-if [[ "${PACKAGE_NAME:-}" ]]; then
- sed -i "s/^setup(name=\"psycopg2\"/setup(name=\"${PACKAGE_NAME}\"/" \
- "${prjdir}/setup.py"
-fi
-
-# Install prerequisite libraries
-apk update
-apk add postgresql-dev
-# Add findutils because the Busybox version lacks the `-ls` flag, used by the
-# `strip_wheel.sh` script.
-apk add findutils
-
-# Create the wheel packages
-for pyver in $PYVERS; do
- pybin="/opt/python/${pyver}/bin"
- "${pybin}/python" -m build -w -o "${prjdir}/dist/" "${prjdir}"
-done
-
-# Bundle external shared libraries into the wheels
-for whl in "${prjdir}"/dist/*.whl; do
- "${dir}/strip_wheel.sh" "$whl"
- auditwheel repair "$whl" -w "$distdir"
-done
-
-# Make sure the postgresql-dev is not in the system
-apk del postgresql-dev
-
-# Install packages and test
-cd "${prjdir}"
-for pyver in $PYVERS; do
- pybin="/opt/python/${pyver}/bin"
- "${pybin}/pip" install ${PACKAGE_NAME:-psycopg2} --no-index -f "$distdir"
-
- # Print psycopg and libpq versions
- "${pybin}/python" -c "import psycopg2; print(psycopg2.__version__)"
- "${pybin}/python" -c "import psycopg2; print(psycopg2.__libpq_version__)"
- "${pybin}/python" -c "import psycopg2;
print(psycopg2.extensions.libpq_version())"
-
- # Fail if we are not using the expected libpq library
- if [[ "${WANT_LIBPQ:-}" ]]; then
- "${pybin}/python" -c "import psycopg2, sys; sys.exit(${WANT_LIBPQ} !=
psycopg2.extensions.libpq_version())"
- fi
-
- "${pybin}/python" -c "import tests;
tests.unittest.main(defaultTest='tests.test_suite')"
-done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/scripts/build/build_sdist.sh
new/psycopg2-2.9.6/scripts/build/build_sdist.sh
--- old/psycopg2-2.9.5/scripts/build/build_sdist.sh 2022-10-25
13:05:48.000000000 +0200
+++ new/psycopg2-2.9.6/scripts/build/build_sdist.sh 2023-04-02
17:59:20.000000000 +0200
@@ -9,7 +9,7 @@
# Find psycopg version
version=$(grep -e ^PSYCOPG_VERSION setup.py | sed "s/.*'\(.*\)'/\1/")
# A gratuitous comment to fix broken vim syntax file: '")
-distdir="${prjdir}/dist/psycopg2-$version"
+distdir="${prjdir}/dist"
# Replace the package name
if [[ "${PACKAGE_NAME:-}" ]]; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/scripts/build/print_so_versions.sh
new/psycopg2-2.9.6/scripts/build/print_so_versions.sh
--- old/psycopg2-2.9.5/scripts/build/print_so_versions.sh 1970-01-01
01:00:00.000000000 +0100
+++ new/psycopg2-2.9.6/scripts/build/print_so_versions.sh 2023-04-02
17:59:20.000000000 +0200
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# Take a .so file as input and print the Debian packages and versions of the
+# libraries it links.
+
+set -euo pipefail
+# set -x
+
+source /etc/os-release
+
+sofile="$1"
+
+case "$ID" in
+ alpine)
+ depfiles=$( (ldd "$sofile" 2>/dev/null || true) | grep '=>' | sed
's/.*=> \(.*\) (.*)/\1/')
+ (for depfile in $depfiles; do
+ echo "$(basename "$depfile") => $(apk info --who-owns
"${depfile}" | awk '{print $(NF)}')"
+ done) | sort | uniq
+ ;;
+
+ debian)
+ depfiles=$(ldd "$sofile" | grep '=>' | sed 's/.*=> \(.*\) (.*)/\1/')
+ (for depfile in $depfiles; do
+ pkgname=$(dpkg -S "${depfile}" | sed 's/\(\): .*/\1/')
+ dpkg -l "${pkgname}" | grep '^ii' | awk '{print $2 " => " $3}'
+ done) | sort | uniq
+ ;;
+
+ centos)
+ echo "TODO!"
+ ;;
+
+ *)
+ echo "$0: unexpected Linux distribution: '$ID'" >&2
+ exit 1
+ ;;
+esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/scripts/build/strip_wheel.sh
new/psycopg2-2.9.6/scripts/build/strip_wheel.sh
--- old/psycopg2-2.9.5/scripts/build/strip_wheel.sh 2022-10-25
13:05:48.000000000 +0200
+++ new/psycopg2-2.9.6/scripts/build/strip_wheel.sh 2023-04-02
17:59:20.000000000 +0200
@@ -14,28 +14,36 @@
# This script is designed to run on a wheel archive before auditwheel.
set -euo pipefail
-set -x
+# set -x
+
+source /etc/os-release
+dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
wheel=$(realpath "$1")
shift
-# python or python3?
-if which python > /dev/null; then
- py=python
-else
- py=python3
-fi
-
tmpdir=$(mktemp -d)
trap "rm -r ${tmpdir}" EXIT
cd "${tmpdir}"
-$py -m zipfile -e "${wheel}" .
+python -m zipfile -e "${wheel}" .
+
+echo "
+Libs before:"
+# Busybox doesn't have "find -ls"
+find . -name \*.so | xargs ls -l
+
+# On Debian, print the package versions libraries come from
+echo "
+Dependencies versions of '_psycopg.so' library:"
+"${dir}/print_so_versions.sh" "$(find . -name \*_psycopg\*.so)"
+
+find . -name \*.so -exec strip "$@" {} \;
-find . -name *.so -ls -exec strip "$@" {} \;
-# Display the size after strip
-find . -name *.so -ls
+echo "
+Libs after:"
+find . -name \*.so | xargs ls -l
-$py -m zipfile -c "${wheel}" *
+python -m zipfile -c ${wheel} *
cd -
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/psycopg2-2.9.5/scripts/build/wheel_linux_before_all.sh
new/psycopg2-2.9.6/scripts/build/wheel_linux_before_all.sh
--- old/psycopg2-2.9.5/scripts/build/wheel_linux_before_all.sh 1970-01-01
01:00:00.000000000 +0100
+++ new/psycopg2-2.9.6/scripts/build/wheel_linux_before_all.sh 2023-04-02
17:59:20.000000000 +0200
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+# Configure the libraries needed to build wheel packages on linux.
+# 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 )"
+
+source /etc/os-release
+
+# Install PostgreSQL development files.
+case "$ID" in
+ alpine)
+ "${dir}/build_libpq.sh" > /dev/null
+ ;;
+
+ debian)
+ # Note that the pgdg doesn't have an aarch64 repository so wheels are
+ # build with the libpq packaged with Debian 9, which is 9.6.
+ if [ "$AUDITWHEEL_ARCH" != 'aarch64' ]; then
+ echo "deb http://apt.postgresql.org/pub/repos/apt
$VERSION_CODENAME-pgdg main" \
+ > /etc/apt/sources.list.d/pgdg.list
+ # 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 \
+ > /etc/apt/trusted.gpg.d/postgresql.asc
+ fi
+
+ apt-get update
+ apt-get -y upgrade
+ apt-get -y install libpq-dev
+ ;;
+
+ centos)
+ "${dir}/build_libpq.sh" > /dev/null
+ ;;
+
+ *)
+ echo "$0: unexpected Linux distribution: '$ID'" >&2
+ exit 1
+ ;;
+esac
+
+# Replace the package name
+if [[ "${PACKAGE_NAME:-}" ]]; then
+ sed -i "s/^setup(name=\"psycopg2\"/setup(name=\"${PACKAGE_NAME}\"/" \
+ "${prjdir}/setup.py"
+fi
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/psycopg2-2.9.5/scripts/build/wheel_macos_before_all.sh
new/psycopg2-2.9.6/scripts/build/wheel_macos_before_all.sh
--- old/psycopg2-2.9.5/scripts/build/wheel_macos_before_all.sh 1970-01-01
01:00:00.000000000 +0100
+++ new/psycopg2-2.9.6/scripts/build/wheel_macos_before_all.sh 2023-04-02
17:59:20.000000000 +0200
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+# Configure the environment needed to build wheel packages on Mac OS.
+# This script is designed to be used by cibuildwheel as CIBW_BEFORE_ALL_MACOS
+
+set -euo pipefail
+set -x
+
+dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+prjdir="$( cd "${dir}/../.." && pwd )"
+
+brew install gnu-sed postgresql@15
+
+# Start the database for testing
+brew services start postgresql
+
+# Wait for postgres to come up
+for i in $(seq 10 -1 0); do
+ eval pg_isready && break
+ if [ $i == 0 ]; then
+ echo "PostgreSQL service not ready, giving up"
+ exit 1
+ fi
+ echo "PostgreSQL service not ready, waiting a bit, attempts left: $i"
+ sleep 5
+done
+
+# Replace the package name
+if [[ "${PACKAGE_NAME:-}" ]]; then
+ gsed -i "s/^setup(name=\"psycopg2\"/setup(name=\"${PACKAGE_NAME}\"/" \
+ "${prjdir}/setup.py"
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/psycopg2-2.9.5/setup.py new/psycopg2-2.9.6/setup.py
--- old/psycopg2-2.9.5/setup.py 2022-10-25 13:05:48.000000000 +0200
+++ new/psycopg2-2.9.6/setup.py 2023-04-02 17:59:20.000000000 +0200
@@ -44,7 +44,7 @@
# Take a look at https://www.python.org/dev/peps/pep-0440/
# for a consistent versioning pattern.
-PSYCOPG_VERSION = '2.9.5'
+PSYCOPG_VERSION = '2.9.6'
# note: if you are changing the list of supported Python version please fix