User-submitted ebuilds
User-submitted ebuilds should never be blindly trusted and should always be well-tested and audited before being committed to the tree. The developer committing the user-submitted ebuild is vouching that the ebuild meets all Gentoo Linux development standards.
The user-submitted ebuild must not contain custom headers like this:
# Ebuild updated by: me <[email protected]>
Such information should be included in the git commit message instead.
The use of tags such as Suggested-By:
or Reported-By:
in
the commit message, as explained in the
commit message format section, is highly encouraged.
Note that ebuilds received in the form of git patches or pull requests
will have the user as the commit author by default, in which case
including the user information in the commit message explicitly
may not be necessary. If that is not the case, you may wish to use
git commit's --author
parameter to explicitly give them credit.
Developers must check for a valid Signed-off-by
line either within
the provided patches by a user or within a comment on e.g. Bugzilla.
See Certificate of Origin
for details.
Users should be encouraged to submit diffs to an existing ebuild if they
are submitting an upgrade. Doing this will help to avoid re-introduction
of previously fixed bugs into "new" ebuilds. When not working from a
diff but from a complete user-submitted ebuild, the diff -u
command
should be used to see what has changed; attention should be payed for
anything from the current ebuild that should appear in the new ebuild,
or anything in the new ebuild that should be fixed or removed.
In general, it is preferable to have the user do the work required to get their ebuild up to par, so that they can learn from their mistakes and submit cleaner ebuilds in the future. Be sure to be thankful for any submission, even if it isn't very good. Be polite but honest — if an ebuild isn't usable, the user can be told in a way that does not insult their current ebuild-writing abilities. Remember that the user who submitted that broken ebuild may be a skilled and productive member of our project in the future — that is, if they receive the right amount of encouragement and support and continue to improve in their abilities.