Hi,

This batch includes some minor refactoring, plus two major experimental
features (to be enabled via `make.conf` by people ready to test them):

1. DISTUTILS_ALLOW_PYC_SYMLINKS to symlink matching .pyc files across
   optimization levels, e.g.:

     __init__.opt-2.pyc -> __init__.opt-1.pyc
     __init__.opt-1.pyc -> __init__.pyc

2. DISTUTILS_ALLOW_CROSS_IMPL_SYMLINKS to symlink matching files across
   different Python implementations and save lots of space, e.g.:

     python3.11/site-packages/frobnicate.py
     python3.12/site-packages/frobnicate.py -> 
../../python3.11/site-packages/frobnicate.py
     python3.13/site-packages/frobnicate.py -> 
../../python3.11/site-packages/frobnicate.py

   This can specifically help with large .py files, lots of data
   installed in package directory and stable ABI extensions.

Both features are opt-in, and at this point considered experimental
and dangerous.  We may consider making the first one opt-out
in the future, but I want to test both extensively first.

Note that we may independently of this start moving package data
out of site-packages and into /usr/share for some large packages.


Michał Górny (4):
  python-utils-r1.eclass: Simplify _python_impl_matches
  distutils-r1.eclass: Quote DISTUTILS_ALLOW_WHEEL_REUSE
  distutils-r1.eclass: Support .pyc symlinking
  distutils-r1.eclass: Support cross-impl symlinks

 eclass/distutils-r1.eclass    | 81 ++++++++++++++++++++++++++++++++++-
 eclass/python-utils-r1.eclass |  4 +-
 2 files changed, 81 insertions(+), 4 deletions(-)


Reply via email to