Request: experimental `--enable-relocatable` configure option on `main`
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- python
- Domínio
- build-system
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- Makefile
- Estrelas
- 182
- Forks
- 35
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de python/steering-council
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 24/100
python/steering-council#372 · 3 reações ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
python/steering-council#370 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 25/100
python/steering-council#369 ·
-
PEP
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
python/steering-council#367 ·
-
PEP
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
python/steering-council#348 · 1 comentário ·
Todas as issues de python/steering-council
Issues semelhantes
-
nextjs-tracking
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
cloudflare/vinext#4390 ·
Mantenedores costumam responder em até 1 dia
-
Primary JSON and TTL release artefacts get wrong ontology IRI (ONTBASE instead of URIBASE)Talvez já em andamento @matentzn assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
ready-for-agent
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100