|
Packit Service |
103f6b |
Contributing to libdrm
|
|
Packit Service |
103f6b |
======================
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Submitting Patches
|
|
Packit Service |
103f6b |
------------------
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Patches should be sent to dri-devel@lists.freedesktop.org, using git
|
|
Packit Service |
103f6b |
send-email. For patches only touching driver specific code one of the driver
|
|
Packit Service |
103f6b |
mailing lists (like amd-gfx@lists.freedesktop.org) is also appropriate. See git
|
|
Packit Service |
103f6b |
documentation for help:
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
http://git-scm.com/documentation
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Since dri-devel is a very busy mailing list please use --subject-prefix="PATCH
|
|
Packit Service |
103f6b |
libdrm" to make it easier to find libdrm patches. This is best done by running
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
git config --local format.subjectprefix "PATCH libdrm"
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
The first line of a commit message should contain a prefix indicating what part
|
|
Packit Service |
103f6b |
is affected by the patch followed by one sentence that describes the change. For
|
|
Packit Service |
103f6b |
examples:
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
amdgpu: Use uint32_t i in amdgpu_find_bo_by_cpu_mapping
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
The body of the commit message should describe what the patch changes and why,
|
|
Packit Service |
103f6b |
and also note any particular side effects. For a recommended reading on
|
|
Packit Service |
103f6b |
writing commit messages, see:
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
http://who-t.blogspot.de/2009/12/on-commit-messages.html
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Your patches should also include a Signed-off-by line with your name and email
|
|
Packit Service |
103f6b |
address. If you're not the patch's original author, you should also gather
|
|
Packit Service |
103f6b |
S-o-b's by them (and/or whomever gave the patch to you.) The significance of
|
|
Packit Service |
103f6b |
this is that it certifies that you created the patch, that it was created under
|
|
Packit Service |
103f6b |
an appropriate open source license, or provided to you under those terms. This
|
|
Packit Service |
103f6b |
lets us indicate a chain of responsibility for the copyright status of the code.
|
|
Packit Service |
103f6b |
For more details:
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
https://developercertificate.org/
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
We won't reject patches that lack S-o-b, but it is strongly recommended.
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Review and Merging
|
|
Packit Service |
103f6b |
------------------
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Patches should have at least one positive review (Reviewed-by: tag) or
|
|
Packit Service |
103f6b |
indication of approval (Acked-by: tag) before merging. For any code shared
|
|
Packit Service |
103f6b |
between drivers this is mandatory.
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Please note that kernel/userspace API header files have special rules, see
|
|
Packit Service |
103f6b |
include/drm/README.
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Coding style in the project loosely follows the CodingStyle of the linux kernel:
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
https://www.kernel.org/doc/html/latest/process/coding-style.html?highlight=coding%20style
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Commit Rights
|
|
Packit Service |
103f6b |
-------------
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Commit rights will be granted to anyone who requests them and fulfills the
|
|
Packit Service |
103f6b |
below criteria:
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
- Submitted a few (5-10 as a rule of thumb) non-trivial (not just simple
|
|
Packit Service |
103f6b |
spelling fixes and whitespace adjustment) patches that have been merged
|
|
Packit Service |
103f6b |
already. Since libdrm is just a glue library between the kernel and userspace
|
|
Packit Service |
103f6b |
drivers, merged patches to those components also count towards the commit
|
|
Packit Service |
103f6b |
criteria.
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
- Are actively participating on discussions about their work (on the mailing
|
|
Packit Service |
103f6b |
list or IRC). This should not be interpreted as a requirement to review other
|
|
Packit Service |
103f6b |
peoples patches but just make sure that patch submission isn't one-way
|
|
Packit Service |
103f6b |
communication. Cross-review is still highly encouraged.
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
- Will be regularly contributing further patches. This includes regular
|
|
Packit Service |
103f6b |
contributors to other parts of the open source graphics stack who only
|
|
Packit Service |
103f6b |
do the oddball rare patch within libdrm itself.
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
- Agrees to use their commit rights in accordance with the documented merge
|
|
Packit Service |
103f6b |
criteria, tools, and processes.
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
To apply for commit rights ("Developer" role in gitlab) send a mail to
|
|
Packit Service |
103f6b |
dri-devel@lists.freedesktop.org and please ping the maintainers if your request
|
|
Packit Service |
103f6b |
is stuck.
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Committers are encouraged to request their commit rights get removed when they
|
|
Packit Service |
103f6b |
no longer contribute to the project. Commit rights will be reinstated when they
|
|
Packit Service |
103f6b |
come back to the project.
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Maintainers and committers should encourage contributors to request commit
|
|
Packit Service |
103f6b |
rights, as especially junior contributors tend to underestimate their skills.
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Code of Conduct
|
|
Packit Service |
103f6b |
---------------
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Please be aware the fd.o Code of Conduct also applies to libdrm:
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
https://www.freedesktop.org/wiki/CodeOfConduct/
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
See the gitlab project owners for contact details of the libdrm maintainers.
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Abuse of commit rights, like engaging in commit fights or willfully pushing
|
|
Packit Service |
103f6b |
patches that violate the documented merge criteria, will also be handled through
|
|
Packit Service |
103f6b |
the Code of Conduct enforcement process.
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Happy hacking!
|