This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
Proxied Maintainer FAQ
Proxied maintainers and Gentoo developers are invited to work on this page and collect FAQ and common mistakes here.
When an ebuild needs a revbump (-r1)
EAPI change -> revbump change patches -> revbump change HOMEPAGE -> no revbump change SRC_URI, but checksum same -> no revbump
Note: if the checksum differs after changing SRC_URI
, it is OK not to revbump if you have compared the contents of the 2 tarballs and confirmed they contain no difference. The checksum will mismatch if the 2 tarballs were compressed with different settings.
Keywording after EAPI bump
An EAPI bump requires usually that all keywords are set to `~` (unstable). This can be done with:
user $
ekeyword ~all foo-2.0.ebuild
From the package app-portage/gentoolkit.
However there are some special cases where a stabilization can remain, if the developer can be 100% sure, that the EAPI change does not change anything. But this is not the case for usual packages.
Sorting of KEYWORDS
We usually sort the KEYWORDS values as ekeyword does. This makes comparison between packages easier. Simply run ekeyword on the ebuild to let it sort.
user $
ekeyword foo-2.0.ebuild
Use the latest EAPI for a pull request
We always try to use the latest EAPI if possible. If a required eclass is not yet compatible with the latest EAPI this can not be fulfilled directly.
Breaking tests in parallel building mode
Tests after an ebuild has successfully finished the compile phase run in the same mode (environment). Individual (source-) files can be translated and compiled concurrently and independently from each other. However test-commands can fail when run in parallel!
Parallelism for the make utility is handled via the -j or --jobs Option to make i.e.: MAKEOPTS
.
In those cases the tests and test-commands should be run with the --jobs option explicitly set to 1 i.e.: -j1
.
src_test() { # Via environment method 1 MAKEOPTS+=" -j1" test-command }
Alternatively:
src_test() { # Via environment method 2 # Need check local MAKEOPTS+=" -j1" test-command }
Using the cmake-util.eclass allows for a direct setting of the --jobs Option -j1
:
# When cmake-utils.eclass src_test function src_test() { cmake-utils_src_test -j1 }