| 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 a known identity (sorry, no anonymous contributions.) | |
| The name you use as your identity should not be an anonymous id | |
| or false name that misrepresents who you are. | |
| 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 for the commit message and | |
| a test case for the bug fixed or feature added. | |
| The commit message is expected to start with a one line summary of | |
| what the patch does, prefixed with the main subdir the patch applies | |
| to. e.g libelf: Rewind the elf_frob function bar definitions. | |
| Finally please include an ChangeLog entry explicitly listing the files | |
| and what changed in each of them in the commit message. This will help | |
| a reviewer understand which changes are expected (and which might be | |
| accidential). Try to follow the GNU Change Log style: | |
| https://www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html | |
| Note that elfutils previously maintained separate ChangeLog | |
| files. These are no longer used. All changes should be documented in | |
| the git commit message. | |
| 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. | |
| All patches sent to the mailing list are tracked at | |
| https://patchwork.sourceware.org/project/elfutils/list/ | |
| To use this from the command line you can use git-pw | |
| https://patchwork.readthedocs.io/projects/git-pw/en/latest/ | |
| For using it with git-pw use these .git/config settings: | |
| [pw] | |
| server = https://patchwork.sourceware.org/api/1.2/ | |
| project = elfutils | |
| token = <hex-token> | |
| states = committed,accepted,superseded,deferred,rejected,under-review | |
| If you would like to help maintain the pending patch list your | |
| patchwork account can be added as maintainer for the elfutils project. | |
| 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 main. For merging a branch into main | |
| the same process as above should be followed by posting the patches | |
| to the list first. | |
| Note that a branch starting with <nickname>/try... will be picked up | |
| by the Sourceware buildbot and can be used to test your patches before | |
| merging into the main branch: | |
| https://builder.sourceware.org/buildbot/#/builders?tags=elfutils-try | |
| 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. |