Proxied Maintainer FAQ

Proxied maintainers and Gentoo developers are invited to work on this page and collect FAQ and common mistakes here. Please also see the style guide.

Adding acct-{group,user}/packages as a proxied maintainer
Check the latest state of uid-gid.txt file, and choose the first available number when counting downwards from 500. There's a helper script in,  to aid with picking free numbers. Creating a pull request to api.gentoo.org reserving an ID is not necessary - if it's taken while your submission is being reviewed, new first available number will be assigned while merging your contribution.

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

In those cases the tests and test-commands should be run with the --jobs option explicitly set to 1 i.e.:.

Alternatively:

Using the cmake.eclass allows for a direct setting of the --jobs Option :

"Copy/paste" style of contributions
If you commit new version bump and base your new ebuild on an old ebuild that uses old EAPI and has multiple modern QA issues, you are asked to update your new ebuild contribution to match today's Gentoo standards. However if you fix a bug on a current ebuild that requires a revbump and therefore a new ebuild copy, we will use common sense and accept the contribution to current ebuild revision.

Unfortunately ::gentoo tree is full of outdated ebuilds by modern standards. You can read the devmanual and QA Policy Guide, in addition to EAPI 6 & 7 guides if unsure about state of the current ebuild you're working on.

Handling an extra file which size exceeds 20 KiB
Per devmanual a file inside  mustn't exceed the file size of 20 KiB. These files get synced to everyone, yet not many users necessarily need them. They influence the overall size of portage tree, and worldwide bandwith caps.

You can host a file exceeding 20 KiB in your Github, Gitlab etc hosting service, add it to  and call either   or. This is flagged by pkgcheck and repoman tools.

Keywording after EAPI bump
An EAPI bump requires usually that all keywords are set to `~` (unstable). This can be done with:

From the package.

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.

Retiring from proxied maintainer status
We get it, sometimes life happens, distro hop happens. If you have packages assigned to you and you wish to stop being a proxied maintainer for them, please open a pull request where you update metadata.xml files putting maintainer status to, using a   tag against your proxy-maint bug, and sending a "packages up for grabs" e-mail to gentoo-dev mailing list.

Or at least please inform us by messaging your updated status in your proxy-maint bug, and we will do the rest for you.

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.

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.

Using a sub-slot binder
Refer to devmanual in case sub-slots are not familiar to you. Sub-slot binders should only be used when your program links to specific SONAME of a library during build-time. It can be used even if the dependency doesn't have a subslot already defined, as long as your program properly links to a library.

When an ebuild needs a revbump (-r1)
Refer to the devmanual.

When and how to stabilize a package?
Common rules for stabilization. If you don't want to keep a calendar and count days for stabilization, tool can be utilized to help.

Stabilization is requested through bugzilla which uses nattka tool for its syntax. If nattka informs that sanity check succeeds, sit back and relax, arch teams will handle the stabilization next. If sanity check doesn't succeed, most likely some required dep is not stabilized/keyworded yet, and you will either need to handle it in a new bug, or add it to package list.