Blame CONTRIBUTING

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