Brian Silverman | 8649792 | 2018-02-10 19:28:39 -0500 | [diff] [blame^] | 1 | The project home is http://elfutils.org/ |
| 2 | |
| 3 | The current elfutils source code can be checked out with |
| 4 | git clone git://sourceware.org/git/elfutils.git |
| 5 | |
| 6 | The developer mailinglist to send patches to is |
| 7 | elfutils-devel@sourceware.org. |
| 8 | https://sourceware.org/ml/elfutils-devel/ |
| 9 | |
| 10 | To subscribe send an email to elfutils-devel-subscribe@sourceware.org |
| 11 | Or use the form at https://sourceware.org/lists.html#ml-requestor |
| 12 | |
| 13 | Please supply patches using git format-patch or using git send-email. |
| 14 | |
| 15 | Sign your work |
| 16 | |
| 17 | To facilitate tracking of who did what, we've adopted a "sign-off" |
| 18 | procedure for patches based on the procedure used by the Linux kernel |
| 19 | project. |
| 20 | |
| 21 | The sign-off is a simple line at the end of the explanation for the |
| 22 | patch, which certifies that you wrote it or otherwise have the right |
| 23 | to pass it on as a patch under an appropriate license. The rules are |
| 24 | pretty simple: if you can certify the below: |
| 25 | |
| 26 | Developer's Certificate of Origin |
| 27 | |
| 28 | By making a contribution to this project, I certify that: |
| 29 | |
| 30 | (a) The contribution was created in whole or in part by me, |
| 31 | and I have the right to submit the contribution under each |
| 32 | license indicated in, or otherwise designated as being |
| 33 | applicable to, the file. |
| 34 | |
| 35 | (b) The contribution was provided directly to me by some other |
| 36 | person who certified (a), and I have not modified it. |
| 37 | |
| 38 | (c) I understand and agree that the project and the |
| 39 | contribution are public and that a record of the |
| 40 | contribution (including all personal information I submit |
| 41 | with it, including my sign-off) is maintained indefinitely |
| 42 | and may be redistributed. |
| 43 | |
| 44 | then you just add a line saying |
| 45 | |
| 46 | Signed-off-by: Random J Developer <random@developer.example.org> |
| 47 | |
| 48 | using your real name (sorry, no pseudonyms or anonymous contributions.) |
| 49 | |
| 50 | git commit --signoff will add such a Signed-off-by line at the end of |
| 51 | the commit log message for you. |
| 52 | |
| 53 | The ideal patch contains a ChangeLog entry and a test case for the |
| 54 | bug fixed or feature added. |
| 55 | |
| 56 | The testsuite (make check) is expected to have zero failing tests. |
| 57 | Do not knowingly add tests that FAIL. If there are architectures or |
| 58 | configurations where a tests is not supported make sure they are |
| 59 | skipped instead of failing. Adding "exit 77" in the test shell wrapper |
| 60 | indicates that a test was SKIPPED. |
| 61 | |
| 62 | We do allow binaries in the testsuite for tests that only need to |
| 63 | read ELF or DWARF data and if generating the data in the testcase |
| 64 | itself is difficult or would be architecture specific. |
| 65 | The binaries should be bzip2 compressed. Add a note in the test |
| 66 | wrapper run-<testcase>.sh script how to regenerate the binary. |
| 67 | |
| 68 | After sending your patch to the mailinglist one of the committers |
| 69 | to the project will review it, give feedback, and if perfect they |
| 70 | will commit it for you. |
| 71 | |
| 72 | You can become a maintainer/committer yourself after you have provided |
| 73 | at least a handful of accepted patches and agree to the guidelines in |
| 74 | this document for creating, reviewing, accepting and committing patches. |
| 75 | |
| 76 | To become a committer you need a sourceware account: |
| 77 | https://sourceware.org/cgi-bin/pdw/ps_form.cgi |
| 78 | Upload a SSH public key and have an existing maintainer sponsor you |
| 79 | for the elfutils group. |
| 80 | |
| 81 | committers can push patches through: |
| 82 | ssh://<user>@sourceware.org/git/elfutils.git |
| 83 | |
| 84 | The current webpages published at https://sourceware.org/elfutils/ |
| 85 | can be checked out with: |
| 86 | git clone ssh://<user>@sourceware.org/git/elfutils-htdocs.git |
| 87 | Patches should also be posted to the mailinglist. |
| 88 | |
| 89 | As a maintainer/committer you should still post patches as described |
| 90 | above. And ideally they are reviewed and approved as above. If no |
| 91 | other committer has reviewed or objected to your patch for a week |
| 92 | you may use your own judgement whether you ping your patch or push |
| 93 | it after "self-review". If you do, you should post a message to the |
| 94 | mailinglist that the patch has been pushed. |
| 95 | |
| 96 | committers may also create git branches starting with <nickname>/... |
| 97 | patches on these branches are works in progress, so might not be perfect |
| 98 | yet, but should follow the above guidelines as much as possible and should |
| 99 | be aimed at integration into master. For merging a branch into master |
| 100 | the same process as above should be followed by posting the patches |
| 101 | to the list first. |
| 102 | |
| 103 | committers/maintainers who repeatedly ignore the above guidelines, |
| 104 | are hostile or offensive towards other committers or contributors, |
| 105 | and don't correct their behavior after being asked by other committers |
| 106 | will be removed as maintainer/committer. |