Request: experimental `--enable-relocatable` configure option on `main`
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- python
- Domaine
- build-system
Piste de recherche
Start by reading the CPython configure documentation and the relocatable build work in the linked python/prebuilt-cpython project. The issue describes a broad, experimental effort but names no CPython files or tests to begin with. Done means Linux and macOS Python 3.16 builds made with --enable-relocatable pass the test suite after being moved.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
We'd like to add relocatable builds to CPython main as an experimental, off-by-default configure option, --enable-relocatable, and keep iterating on it in main during the 3.16 cycle. The plan is to finish the work and make the option supported before 3.16 feature freeze (May 2027).
After graduation it stays an optional configure flag, and the default build doesn't change.
Goal
A relocatable build is an install of CPython that keeps working after it's moved to another directory.
Currently, redistributors such as python-build-standalone and conda employ workarounds to achieve this goal by patching before and after the build.
The optional flag would enable publishing prebuilt relocatable binaries, as described in python/prebuilt-cpython.
Experimental status
- The option is off by default and labeled experimental in
./configure --help. It isn't mentioned in What's New until it graduates. - Some of the changes needed are guarded by the flag. Many are general fixes that apply to every build, and can land on their own merits.
- Failures in relocatable builds don't block alpha releases.
Success
We can publish prebuilt Python 3.16 binaries for Linux and macOS that are built with --enable-relocatable and pass the test suite after they've been moved to a new location.
If we drop it
Deleting the flag and the optional changes it guards should be straightforward.
filing per @warsaw's suggestion, on behalf of @brettcannon and myself
- Langage dominant
- Makefile
- Étoiles
- 182
- Forks
- 35
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de python/steering-council
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 24/100
python/steering-council#372 · 3 réactions ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 35/100
python/steering-council#370 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 25/100
python/steering-council#369 ·
-
PEP
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
python/steering-council#367 ·
-
PEP
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
python/steering-council#348 · 1 commentaire ·
Toutes les issues de python/steering-council
Issues similaires
-
bug small tooling
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 6 jours
-
bug needs-testing
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
void-linux/void-packages#63237 ·
Les mainteneurs répondent en général sous 1 jour
-
area/build-framework kind/new-feature
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
yugabyte/yugabyte-db#36023 ·
Les mainteneurs répondent en général sous 1 jour