[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[automake-commit] branch master updated: python: use deb_system instead
From: |
Karl Berry |
Subject: |
[automake-commit] branch master updated: python: use deb_system instead of posix_local if prefix = /usr. |
Date: |
Sat, 20 Jan 2024 17:33:25 -0500 |
This is an automated email from the git hooks/post-receive script.
karl pushed a commit to branch master
in repository automake.
View the commit online:
https://git.savannah.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=70128b8bcc2ea71118384b197a3dd3d766f3a73d
The following commit(s) were added to refs/heads/master by this push:
new 70128b8bc python: use deb_system instead of posix_local if prefix =
/usr.
70128b8bc is described below
commit 70128b8bcc2ea71118384b197a3dd3d766f3a73d
Author: Karl Berry <karl@freefriends.org>
AuthorDate: Sat Jan 20 14:33:14 2024 -0800
python: use deb_system instead of posix_local if prefix = /usr.
Continuing with https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54412.
* m4/python.m4 (AM_PATH_PYTHON) <am_python_setup_scheme>:
factor out common scheme-related code to this new variable.
If the scheme is posix_local and the prefix is /usr,
use deb_system (for Debian package builds).
* NEWS: more explanations (and unrelated references, en passant).
---
NEWS | 16 ++++++++++++----
m4/python.m4 | 35 ++++++++++++++++++-----------------
2 files changed, 30 insertions(+), 21 deletions(-)
diff --git a/NEWS b/NEWS
index 2b2da0908..153cb7733 100644
--- a/NEWS
+++ b/NEWS
@@ -20,10 +20,12 @@ New in 1.17:
- AM_TEXI2FLAGS may be defined to pass extra flags to TEXI2DVI & TEXI2PDF.
- New option "posix" to emit the special target .POSIX for make.
+ (bug#55025, bug#67891)
- Systems with non-POSIX "rm -f" behavior are now supported, and the
prior intent to drop support for them has been reversed.
The ACCEPT_INFERIOR_RM_PROGRAM setting no longer exists.
+ (bug#10828)
- Variables using escaped \# will trigger portability warnings, but be
retained when appended. GNU Make & BSD Makes are known to support it.
@@ -40,6 +42,7 @@ New in 1.17:
(bug#54063)
- The missing script also supports autoreconf, autogen, and perl.
+ (https://lists.gnu.org/archive/html/automake-patches/2015-08/msg00000.html)
* Bugs fixed
@@ -67,10 +70,15 @@ New in 1.17:
- Compiling Python modules with Python 3.5+ uses multiple optimization
levels. (bug#38043)
- - The installation directory for Python files again defaults to
- "site-packages" under the usual installation prefix, even on systems
- (generally Debian-based) that would normally use the "dist-packages"
- subdirectory under /usr/local. (bug#54412, bug#64837)
+ - If the Python installation "scheme" is set to posix_local (Debian),
+ it is reset to either deb_system (if the prefix = /usr), or
+ posix_prefix (otherwise). (bug#54412, bug#64837)
+
+ - As a result of the Python scheme change, the installation directory
+ for Python files again defaults to "site-packages" under the usual
+ installation prefix, even on systems (generally Debian-based) that
+ would normally use the "dist-packages" subdirectory under
+ /usr/local.
- When compiling Emacs Lisp files, emacs is run with --no-site-file to
disable user config files that might hang or access the terminal;
diff --git a/m4/python.m4 b/m4/python.m4
index f90c73d93..0b1db2689 100644
--- a/m4/python.m4
+++ b/m4/python.m4
@@ -237,7 +237,21 @@ try:
if python_implementation() == 'CPython' and sys.version[[:3]] == '2.7':
can_use_sysconfig = 0
except ImportError:
- pass"
+ pass" # end of am_python_setup_sysconfig
+
+ # More repeated code, for figuring out the installation scheme to use.
+ am_python_setup_scheme="if hasattr(sysconfig, 'get_default_scheme'):
+ scheme = sysconfig.get_default_scheme()
+ else:
+ scheme = sysconfig._get_default_scheme()
+ if scheme == 'posix_local':
+ if '$am_py_prefix' == '/usr':
+ scheme = 'deb_system' # should only happen during Debian package builds
+ else:
+ # Debian's default scheme installs to /usr/local/ but we want to
+ # follow the prefix, as we always have.
+ # See bugs#54412, #64837, et al.
+ scheme = 'posix_prefix'" # end of am_python_setup_scheme
dnl emacs-page Set up 4 directories:
@@ -258,15 +272,7 @@ except ImportError:
$am_python_setup_sysconfig
if can_use_sysconfig:
try:
- if hasattr(sysconfig, 'get_default_scheme'):
- scheme = sysconfig.get_default_scheme()
- else:
- scheme = sysconfig._get_default_scheme()
- if scheme == 'posix_local':
- # Debian's default scheme installs to /usr/local/ but we want to
- # follow the prefix, as we always have.
- # See bugs#54412, #64837, et al.
- scheme = 'posix_prefix'
+ $am_python_setup_scheme
sitedir = sysconfig.get_path('purelib', scheme,
vars={'base':'$am_py_prefix'})
except:
sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
@@ -300,6 +306,7 @@ sys.stdout.write(sitedir)"`
dnl 3. pyexecdir: directory for installing python extension modules
dnl (shared libraries).
dnl Query sysconfig or distutils for this directory.
+ dnl Much of this is the same as for prefix setup above.
dnl
AC_CACHE_CHECK([for $am_display_PYTHON extension module directory
(pyexecdir)],
[am_cv_python_pyexecdir],
@@ -312,13 +319,7 @@ sys.stdout.write(sitedir)"`
$am_python_setup_sysconfig
if can_use_sysconfig:
try:
- if hasattr(sysconfig, 'get_default_scheme'):
- scheme = sysconfig.get_default_scheme()
- else:
- scheme = sysconfig._get_default_scheme()
- if scheme == 'posix_local':
- # See scheme comments above.
- scheme = 'posix_prefix'
+ $am_python_setup_scheme
sitedir = sysconfig.get_path('platlib', scheme,
vars={'platbase':'$am_py_exec_prefix'})
except:
sitedir = sysconfig.get_path('platlib',
vars={'platbase':'$am_py_exec_prefix'})
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [automake-commit] branch master updated: python: use deb_system instead of posix_local if prefix = /usr.,
Karl Berry <=