Proxied Maintainer FAQ

From Gentoo Wiki
Jump to: navigation, search

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.

CODE
src_test() {
    # Via environment method 1
    MAKEOPTS+=" -j1" test-command
  }

Alternatively:

CODE
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:

CODE
# When cmake-utils.eclass src_test function
  src_test() {
    cmake-utils_src_test -j1
  }