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