Re: Replace uses of deprecated Python module distutils.sysconfig

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Replace uses of deprecated Python module distutils.sysconfig
Date: 2022-01-23 23:07:47
Message-ID: 20220123230747.c2ijbujkordzwbjb@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2022-01-23 16:06:21 -0500, Tom Lane wrote:
> (I don't know
> enough about Debian packaging to find the smoking gun though;
> what apt-get claims is the source package contains no trace of
> this diff.) There's no sign of comparable changes in
> /usr/lib/python3.5/sysconfig.py on the same machine, either.

FWIW, here's the steps to find it (on a debian 9 instance):

dpkg -S /usr/lib/python2.7/sysconfig.py
libpython2.7-minimal:amd64: /usr/lib/python2.7/sysconfig.py
mkdir /tmp/aptsrc
cd /tmp/aptsrc
apt-get source libpython2.7-minimal
root(at)283a48b8d701:/tmp/aptsrc# grep -lR sysconfig.py python2.7*/debian/
python2.7-2.7.13/debian/changelog
python2.7-2.7.13/debian/patches/distutils-install-layout.diff
python2.7-2.7.13/debian/patches/mangle-fstack-protector.diff
python2.7-2.7.13/debian/patches/ext-no-libpython-link.diff
python2.7-2.7.13/debian/patches/multiarch.diff
python2.7-2.7.13/debian/patches/issue9189.diff
python2.7-2.7.13/debian/patches/debug-build.diff
python2.7-2.7.13/debian/patches/distutils-sysconfig.diff
python2.7-2.7.13/debian/patches/disable-some-tests.patch

The relevant part of distutils-install-layout.diff explaining this is:

+(0)
+ Starting with Python-2.6 Debian/Ubuntu uses for the Python which comes within
+ the Linux distribution a non-default name for the installation directory. This
+ is to avoid overwriting of the python modules which come with the distribution,
+ which unfortunately is the upstream behaviour of the installation tools. The
+ non-default name in :file:`/usr/local` is used not to overwrite a local python
+ installation (defaulting to :file:`/usr/local`).

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2022-01-23 23:11:41 Re: Replace uses of deprecated Python module distutils.sysconfig
Previous Message Andres Freund 2022-01-23 22:59:32 Re: Replace uses of deprecated Python module distutils.sysconfig