107 lines
4.4 KiB
Plaintext
107 lines
4.4 KiB
Plaintext
|
The project home is http://elfutils.org/
|
||
|
|
||
|
The current elfutils source code can be checked out with
|
||
|
git clone git://sourceware.org/git/elfutils.git
|
||
|
|
||
|
The developer mailinglist to send patches to is
|
||
|
elfutils-devel@sourceware.org.
|
||
|
https://sourceware.org/ml/elfutils-devel/
|
||
|
|
||
|
To subscribe send an email to elfutils-devel-subscribe@sourceware.org
|
||
|
Or use the form at https://sourceware.org/mailman/listinfo/elfutils-devel
|
||
|
|
||
|
Please supply patches using git format-patch or using git send-email.
|
||
|
|
||
|
Sign your work
|
||
|
|
||
|
To facilitate tracking of who did what, we've adopted a "sign-off"
|
||
|
procedure for patches based on the procedure used by the Linux kernel
|
||
|
project.
|
||
|
|
||
|
The sign-off is a simple line at the end of the explanation for the
|
||
|
patch, which certifies that you wrote it or otherwise have the right
|
||
|
to pass it on as a patch under an appropriate license. The rules are
|
||
|
pretty simple: if you can certify the below:
|
||
|
|
||
|
Developer's Certificate of Origin
|
||
|
|
||
|
By making a contribution to this project, I certify that:
|
||
|
|
||
|
(a) The contribution was created in whole or in part by me,
|
||
|
and I have the right to submit the contribution under each
|
||
|
license indicated in, or otherwise designated as being
|
||
|
applicable to, the file.
|
||
|
|
||
|
(b) The contribution was provided directly to me by some other
|
||
|
person who certified (a), and I have not modified it.
|
||
|
|
||
|
(c) I understand and agree that the project and the
|
||
|
contribution are public and that a record of the
|
||
|
contribution (including all personal information I submit
|
||
|
with it, including my sign-off) is maintained indefinitely
|
||
|
and may be redistributed.
|
||
|
|
||
|
then you just add a line saying
|
||
|
|
||
|
Signed-off-by: Random J Developer <random@developer.example.org>
|
||
|
|
||
|
using your real name (sorry, no pseudonyms or anonymous contributions.)
|
||
|
|
||
|
git commit --signoff will add such a Signed-off-by line at the end of
|
||
|
the commit log message for you.
|
||
|
|
||
|
The ideal patch contains a ChangeLog entry and a test case for the
|
||
|
bug fixed or feature added.
|
||
|
|
||
|
The testsuite (make check) is expected to have zero failing tests.
|
||
|
Do not knowingly add tests that FAIL. If there are architectures or
|
||
|
configurations where a tests is not supported make sure they are
|
||
|
skipped instead of failing. Adding "exit 77" in the test shell wrapper
|
||
|
indicates that a test was SKIPPED.
|
||
|
|
||
|
We do allow binaries in the testsuite for tests that only need to
|
||
|
read ELF or DWARF data and if generating the data in the testcase
|
||
|
itself is difficult or would be architecture specific.
|
||
|
The binaries should be bzip2 compressed. Add a note in the test
|
||
|
wrapper run-<testcase>.sh script how to regenerate the binary.
|
||
|
|
||
|
After sending your patch to the mailinglist one of the committers
|
||
|
to the project will review it, give feedback, and if perfect they
|
||
|
will commit it for you.
|
||
|
|
||
|
You can become a maintainer/committer yourself after you have provided
|
||
|
at least a handful of accepted patches and agree to the guidelines in
|
||
|
this document for creating, reviewing, accepting and committing patches.
|
||
|
|
||
|
To become a committer you need a sourceware account:
|
||
|
https://sourceware.org/cgi-bin/pdw/ps_form.cgi
|
||
|
Upload a SSH public key and have an existing maintainer sponsor you
|
||
|
for the elfutils group.
|
||
|
|
||
|
committers can push patches through:
|
||
|
ssh://<user>@sourceware.org/git/elfutils.git
|
||
|
|
||
|
The current webpages published at https://sourceware.org/elfutils/
|
||
|
can be checked out with:
|
||
|
git clone ssh://<user>@sourceware.org/git/elfutils-htdocs.git
|
||
|
Patches should also be posted to the mailinglist.
|
||
|
|
||
|
As a maintainer/committer you should still post patches as described
|
||
|
above. And ideally they are reviewed and approved as above. If no
|
||
|
other committer has reviewed or objected to your patch for a week
|
||
|
you may use your own judgement whether you ping your patch or push
|
||
|
it after "self-review". If you do, you should post a message to the
|
||
|
mailinglist that the patch has been pushed.
|
||
|
|
||
|
committers may also create git branches starting with <nickname>/...
|
||
|
patches on these branches are works in progress, so might not be perfect
|
||
|
yet, but should follow the above guidelines as much as possible and should
|
||
|
be aimed at integration into master. For merging a branch into master
|
||
|
the same process as above should be followed by posting the patches
|
||
|
to the list first.
|
||
|
|
||
|
committers/maintainers who repeatedly ignore the above guidelines,
|
||
|
are hostile or offensive towards other committers or contributors,
|
||
|
and don't correct their behavior after being asked by other committers
|
||
|
will be removed as maintainer/committer.
|