Subject: Re: [bug#54412] [PATCH] python: use the posix_prefix sysconfig scheme on Debian

From: [email-masked]
Date: Wed, 16 Mar 2022 23:12:32 +0000

Hi Karl (2022.03.16_21:25:45_+0000)

> Stefano, Gianfranco - thanks for this. Forgive my ignorance, but I don't
> use Debian, or Python, and have never the term "sysconfig scheme" before.
Compare these:

$ python3.9 -m sysconfig
Current installation scheme: "posix_prefix"

Paths: 
        data = "/usr"
        include = "/usr/include/python3.9"
        platinclude = "/usr/include/python3.9"
        platlib = "/usr/lib/python3.9/site-packages"
        platstdlib = "/usr/lib/python3.9"
        purelib = "/usr/lib/python3.9/site-packages"
        scripts = "/usr/bin"
        stdlib = "/usr/lib/python3.9"
...
        prefix = "/usr"
...

To this:
$ python3.10 -m sysconfig
Current installation scheme: "posix_local"

Paths: 
        data = "/usr/local"
        include = "/usr/local/include/python3.10"
        platinclude = "/usr/local/include/python3.10"
        platlib = "/usr/local/lib/python3.10/dist-packages"
        platstdlib = "/usr/lib/python3.10"
        purelib = "/usr/local/lib/python3.10/dist-packages"
        scripts = "/usr/local/bin"
        stdlib = "/usr/lib/python3.10"
...
        prefix = "/usr"
...

The "posix_local" scheme uses {prefix}/local/lib/... That's the issue.

> Does your patch change the default behavior of Automake? I gather not,
> but ...

This patch restores the previous (pre 3.10) behaviour. If you use --prefix
/usr, it installs modules to /usr, with --prefix /usr/local, it installs to
/usr/local.

> Also, it feels like there should be some documentation about this.
> Can you write something brief? --thanks, karl.

I think it shouldn't affect users. If anything needs to be documented, it's:
Automake will select the posix_prefix scheme instead of posix_local, on Debian
Python 3.10+. To install modules into /usr/local, instead of /usr, use --prefix
/usr/local.

SR

-- 
Stefano Rivera
  http://tumbleweed.org.za/
  +1 415 683 3272