Speed up zip/tar by allowing performant tool replacements.
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Ambito
- build-system, tooling
Direzione di ricerca
Look at the existing zip and tar builders in the rules_pkg codebase, likely under pkg/ or tools/. Understand the current Python reference implementation and its interface. The goal is to design toolchains allowing alternate implementations in Go or Rust, adding features like md5sum and uncompressed size calculation. Start by examining MODULE.bazel for toolchain configuration patterns and review related issues #795, #1057, #1079 for context.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Building on inspiration from #795 and #1057 and #1079
The problem
- The current zip and tar builders are too slow.
- We use python for the reference implementation of the zip and tar builders.
- We want to continue to use python for maximal portability. Switching to any other language gets into a pointless culture war.
- We need more capabilities for deb and rpm packaging, such as computing checksums of files, and total expanded file size.
- How do we make the existing implementation Nx faster and add features which scan the content in a peformant way.
Proposal
- Create a well defined toolchains for the zip and tar writers.
- Create a toolchain for the "compressor"
- Continue to provide a reference implementation in python.
- Provide alternate implementations in Go and Rust.
- The user selects the implementation in MODULE.bazel, depending on their preferred language.
- Add the features for md5sum calculation and uncompressed size into the zip/tar tools.
- Future: Consider a plugin technique to the tool, so that the user can provide other scanners along the way. Imagine doing forbidding string detection while building the zip file..
How?
- Use AI to generate the alternate language implementions.
- Come up with a review guideline we can agree on first. Perhaps using a combination of alternate agent as a reviewer along with human audit is sufficient.
- Require all new features to be added for each language implementation at the same time.
- Lingua principale
- Starlark
- Stelle
- 254
- Fork
- 225
- Merge medio
- 2g 4h
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di bazelbuild/rules_pkg
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
bazelbuild/rules_pkg#1093 ·
I maintainer di solito rispondono entro 1 giorno
-
Targets rely on implicit `__init__.py` creation, causing rules_python deprecation warningsForse già presa @onnosteenbergen-samotics l’ha presa 32 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
bazelbuild/rules_pkg#1081 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
bazelbuild/rules_pkg#1075 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
bazelbuild/rules_pkg#1066 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
feature-request
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
bazelbuild/rules_pkg#1057 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di bazelbuild/rules_pkg
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
aws/context-ontology-accelerator#325 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
objectionary/jeo-maven-plugin#1926 ·
I maintainer di solito rispondono entro 2 giorni
-
orchestration.migration.data.tasks.retry values are ignored by the 8.8 data migration jobForse già presa @irisfield l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
camunda/camunda-platform-helm#7773 ·
I maintainer di solito rispondono entro 1 giorno
-
0.kind: enhancement 6.topic: reproducible builds
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
NixOS/nixpkgs#580765 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
win_build: parallel PostBuildEvent race in example_app_atiopencl and example_app_nvopencl copying openclapp_kernels.clForse già presa @qixuancao l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno