[go: nahoru, domu]

Evolving QA tooling

QA support in Gentoo has been a fluid, amorphous goal over the project’s history. Throughout the years, developers have invented their own scripts and extensions to work around the limitations of official tooling. More recently, the relaxed standards have been tightened up a fair amount, but it should be possible to achieve more results with further improvement.

Metadata cache generation

Bash is slow. Supporting a nested inheritance structure on top of bash makes it even slower. Without metadata caches, processing ebuilds would be extraordinarily more painful than it already is. Imagine the extra time it would take to source all relevant ebuilds while resolving dependencies.

Binding the World

One of Gentoo’s major weaknesses is the lack of a shared implementation that natively supports bindings to other languages for core, specification-level features such as dependency format parsing. Due to this deficiency, over the years the same algorithms have been implemented in Python, C, Bash, Go, and more at varying levels of quality and completeness.

Rustifying Bash

In the previous post on extending bash, using builtins was mentioned as a way to improve extensibility. Rather than writing native functions or spawning external tools, pkgcraft implements all its bash command support using builtins enabling it to achieve much lower overhead for EAPI related functionality.