diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2012-07-02 10:20:20 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-07-04 14:48:15 +0100 |
commit | 257e61a2cb85cb849f18e9d2f314cab467be3c80 (patch) | |
tree | cd61bccfa71c5ab94f5c4ce62724d836049685f8 /documentation/dev-manual | |
parent | dd5f6ae551bd074926771091326c4152af8cbc4b (diff) | |
download | poky-257e61a2cb85cb849f18e9d2f314cab467be3c80.tar.gz |
dev-manual: tidy up "How to Submit a Change" section
* Change some of the language and patch submission directions to
correctly represent how we work together with OpenEmbedded (this
changed with the introduction of OE-Core a few releases ago).
* Correct --help option to -h for pull request scripts
* Clarify commit message guidelines
* Touch up a few other bits and pieces
Fixes [YOCTO #2671].
(From yocto-docs rev: 3170ce5e0757951afee13207c117316e33449b39)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r-- | documentation/dev-manual/dev-manual-newbie.xml | 119 |
1 files changed, 59 insertions, 60 deletions
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml index 94f3471f13..a67a173810 100644 --- a/documentation/dev-manual/dev-manual-newbie.xml +++ b/documentation/dev-manual/dev-manual-newbie.xml | |||
@@ -874,54 +874,53 @@ | |||
874 | <listitem><para>Submit the bug by clicking the "Submit Bug" button.</para></listitem> | 874 | <listitem><para>Submit the bug by clicking the "Submit Bug" button.</para></listitem> |
875 | </orderedlist> | 875 | </orderedlist> |
876 | </para> | 876 | </para> |
877 | |||
878 | <note> | ||
879 | Bugs in the Yocto Project Bugzilla follow naming convention: | ||
880 | <filename>[YOCTO #<number>]</filename>, where <filename><number></filename> is the | ||
881 | assigned defect ID used in Bugzilla. | ||
882 | So, for example, a valid way to refer to a defect would be <filename>[YOCTO #1011]</filename>. | ||
883 | This convention becomes important if you are submitting patches against the Yocto Project | ||
884 | code itself. | ||
885 | </note> | ||
886 | </section> | 877 | </section> |
887 | 878 | ||
888 | <section id='how-to-submit-a-change'> | 879 | <section id='how-to-submit-a-change'> |
889 | <title>How to Submit a Change</title> | 880 | <title>How to Submit a Change</title> |
890 | 881 | ||
891 | <para> | 882 | <para> |
892 | Contributions to the Yocto Project are very welcome. | 883 | Contributions to the Yocto Project and OpenEmbedded are very welcome. |
893 | Because the Yocto Project is extremely configurable and flexible, we recognize that developers | 884 | Because the system is extremely configurable and flexible, we recognize that developers |
894 | will want to extend, configure or optimize it for their specific uses. | 885 | will want to extend, configure or optimize it for their specific uses. |
895 | You should send patches to the appropriate Yocto Project mailing list to get them | 886 | You should send patches to the appropriate mailing list so that they |
896 | in front of the Yocto Project Maintainer. | 887 | can be reviewed and merged by the appropriate maintainer. |
897 | For a list of the Yocto Project mailing lists, see the | 888 | For a list of the Yocto Project and related mailing lists, see the |
898 | "<ulink url='&YOCTO_DOCS_REF_URL;#resources-mailinglist'>Mailing lists</ulink>" section in | 889 | "<ulink url='&YOCTO_DOCS_REF_URL;#resources-mailinglist'>Mailing lists</ulink>" section in |
899 | The Yocto Project Reference Manual. | 890 | The Yocto Project Reference Manual. |
900 | </para> | 891 | </para> |
901 | 892 | ||
902 | <para> | 893 | <para> |
903 | The following is some guidance on which mailing list to use for what type of defect: | 894 | The following is some guidance on which mailing list to use for what type of change: |
904 | <itemizedlist> | 895 | <itemizedlist> |
905 | <listitem><para>For defects against the Yocto Project build system Poky, send | 896 | <listitem><para>For changes to the core metadata, send your patch to the |
906 | your patch to the | 897 | <ulink url='&OE_LISTS_URL;/listinfo/openembedded-core'>openembedded-core</ulink> mailing list. |
907 | <ulink url='&YOCTO_LISTS_URL;/listinfo/poky'></ulink> mailing list. | 898 | For example, a change to anything under the <filename>meta</filename> or |
908 | This mailing list corresponds to issues that are not specific to the Yocto Project but | 899 | <filename>scripts</filename> directories |
909 | are part of the OE-core. | 900 | should be sent to this mailing list.</para></listitem> |
910 | For example, a defect against anything in the <filename>meta</filename> layer | 901 | <listitem><para>For changes to BitBake (anything under the <filename>bitbake</filename> |
911 | or the BitBake Manual could be sent to this mailing list.</para></listitem> | 902 | directory), send your patch to the |
912 | <listitem><para>For defects against Yocto-specific layers, tools, and Yocto Project | 903 | <ulink url='&OE_LISTS_URL;/listinfo/bitbake-devel'>bitbake-devel</ulink> mailing list.</para></listitem> |
913 | documentation use the | 904 | <listitem><para>For changes to <filename>meta-yocto</filename>, send your patch to the |
914 | <ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'></ulink> mailing list. | 905 | <ulink url='&YOCTO_LISTS_URL;/listinfo/poky'>poky</ulink> mailing list.</para></listitem> |
915 | This mailing list corresponds to Yocto-specific areas such as | 906 | <listitem><para>For changes to other layers hosted on yoctoproject.org (unless the |
916 | <filename>meta-yocto</filename>, <filename>meta-intel</filename>, | 907 | layer's documentation specifies otherwise), tools, and Yocto Project |
917 | <filename>linux-yocto</filename>, and <filename>documentation</filename>.</para></listitem> | 908 | documentation, use the |
909 | <ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'>yocto</ulink> mailing list.</para></listitem> | ||
910 | <listitem><para>For additional recipes that do not fit into the core metadata, | ||
911 | you should determine which layer the recipe should go into and submit the | ||
912 | change in the manner recommended by the documentation (e.g. README) supplied | ||
913 | with the layer. If in doubt, please ask on the | ||
914 | <ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'>yocto</ulink> or | ||
915 | <ulink url='&OE_LISTS_URL;/listinfo/openembedded-devel'>openembedded-devel</ulink> | ||
916 | mailing lists.</para></listitem> | ||
918 | </itemizedlist> | 917 | </itemizedlist> |
919 | </para> | 918 | </para> |
920 | 919 | ||
921 | <para> | 920 | <para> |
922 | When you send a patch, be sure to include a "Signed-off-by:" | 921 | When you send a patch, be sure to include a "Signed-off-by:" |
923 | line in the same style as required by the Linux kernel. | 922 | line in the same style as required by the Linux kernel. |
924 | Adding this line signifies the developer has agreed to the Developer's Certificate of Origin 1.1 | 923 | Adding this line signifies that you, the submitter, have agreed to the Developer's Certificate of Origin 1.1 |
925 | as follows: | 924 | as follows: |
926 | <literallayout class='monospaced'> | 925 | <literallayout class='monospaced'> |
927 | Developer's Certificate of Origin 1.1 | 926 | Developer's Certificate of Origin 1.1 |
@@ -950,52 +949,52 @@ | |||
950 | maintained indefinitely and may be redistributed consistent with | 949 | maintained indefinitely and may be redistributed consistent with |
951 | this project or the open source license(s) involved. | 950 | this project or the open source license(s) involved. |
952 | </literallayout> | 951 | </literallayout> |
953 | A Poky contributions tree (<filename>poky-contrib</filename>, | ||
954 | <filename>git://git.yoctoproject.org/poky-contrib.git</filename>) | ||
955 | exists for contributors to stage contributions. | ||
956 | If people desire such access, please ask on the mailing list. | ||
957 | Usually, the Yocto Project team will grant access to anyone with a proven track | ||
958 | record of good patches. | ||
959 | </para> | 952 | </para> |
960 | 953 | ||
961 | <para> | 954 | <para> |
962 | In a collaborative environment, it is necessary to have some sort of standard | 955 | In a collaborative environment, it is necessary to have some sort of standard |
963 | or method through which you submit changes. | 956 | or method through which you submit changes. |
964 | Otherwise, things could get quite chaotic. | 957 | Otherwise, things could get quite chaotic. |
965 | One general practice to follow is to make small, controlled changes to the | 958 | One general practice to follow is to make small, controlled changes. |
966 | Yocto Project. | 959 | Keeping changes small and isolated aids review, makes merging/rebasing easier |
967 | Keeping changes small and isolated lets you best keep pace with future Yocto Project changes. | 960 | and keeps the change history clean when anyone needs to refer to it in future. |
968 | </para> | 961 | </para> |
969 | 962 | ||
970 | <para> | 963 | <para> |
971 | When you create a commit, you must follow certain standards established by the | 964 | When you make a commit, you must follow certain standards established by the |
972 | Yocto Project development team. | 965 | OpenEmbedded and Yocto Project development teams. |
973 | For each commit, you must provide a single-line summary of the change and you | 966 | For each commit, you must provide a single-line summary of the change and you |
974 | almost always provide a more detailed description of what you did (i.e. the body | 967 | should almost always provide a more detailed description of what you did (i.e. |
975 | of the commit). | 968 | the body of the commit message). |
976 | The only exceptions for not providing a detailed description would be if your | 969 | The only exceptions for not providing a detailed description would be if your |
977 | change is a simple, self-explanatory change that needs no description. | 970 | change is a simple, self-explanatory change that needs no description. |
978 | Here are the Yocto Project commit message guidelines: | 971 | Here are the guidelines for composing a commit message: |
979 | <itemizedlist> | 972 | <itemizedlist> |
980 | <listitem><para>Provide a single-line, short summary of the change. | 973 | <listitem><para>Provide a single-line, short summary of the change. |
981 | This summary is typically viewable by source control systems. | 974 | This summary is typically viewable in the "shortlist" of changes. |
982 | Thus, providing something short and descriptive that gives the reader | 975 | Thus, providing something short and descriptive that gives the reader |
983 | a summary of the change is useful when viewing a list of many commits. | 976 | a summary of the change is useful when viewing a list of many commits. |
977 | This should be prefixed by the recipe name (if changing a recipe), or | ||
978 | else the short form path to the file being changed. | ||
984 | </para></listitem> | 979 | </para></listitem> |
985 | <listitem><para>For the body of the commit message, provide detailed information | 980 | <listitem><para>For the body of the commit message, provide detailed information |
986 | that describes what you changed, why you made the change, and the approach | 981 | that describes what you changed, why you made the change, and the approach |
987 | you used. | 982 | you used. It may also be helpful if you mention how you tested the change. |
988 | Provide as much detail as you can in the body of the commit message. | 983 | Provide as much detail as you can in the body of the commit message. |
989 | </para></listitem> | 984 | </para></listitem> |
990 | <listitem><para>If the change addresses a specific bug or issue that is | 985 | <listitem><para>If the change addresses a specific bug or issue that is |
991 | associated with a bug-tracking ID, prefix your detailed description | 986 | associated with a bug-tracking ID, include a reference to that ID in |
992 | with the bug or issue ID. | 987 | your detailed description. |
993 | For example, the Yocto Project tracks bugs using a bug-naming convention. | 988 | For example, the Yocto Project uses a specific convention for bug |
994 | Any commits that address a bug must start with the bug ID in the description | 989 | references - any commit that addresses a specific bug should include the |
995 | as follows: | 990 | bug ID in the description (typically at the end) as follows: |
996 | <literallayout class='monospaced'> | 991 | <literallayout class='monospaced'> |
997 | YOCTO #<bug-id>: <Detailed description of commit> | 992 | <detailed description of change> |
993 | |||
994 | [YOCTO #<bug-id>] | ||
998 | </literallayout></para></listitem> | 995 | </literallayout></para></listitem> |
996 | Where <bug-id> is replaced with the specific bug ID from the | ||
997 | Yocto Project Bugzilla instance. | ||
999 | </itemizedlist> | 998 | </itemizedlist> |
1000 | </para> | 999 | </para> |
1001 | 1000 | ||
@@ -1016,11 +1015,11 @@ | |||
1016 | The basic flow for pushing a change to an upstream "contrib" Git repository is as follows: | 1015 | The basic flow for pushing a change to an upstream "contrib" Git repository is as follows: |
1017 | <itemizedlist> | 1016 | <itemizedlist> |
1018 | <listitem><para>Make your changes in your local Git repository.</para></listitem> | 1017 | <listitem><para>Make your changes in your local Git repository.</para></listitem> |
1019 | <listitem><para>Stage your commit (or change) by using the <filename>git add</filename> | 1018 | <listitem><para>Stage your changes by using the <filename>git add</filename> |
1020 | command.</para></listitem> | 1019 | command on each file you changed.</para></listitem> |
1021 | <listitem><para>Commit the change by using the <filename>git commit</filename> | 1020 | <listitem><para>Commit the change by using the <filename>git commit</filename> |
1022 | command and push it to the "contrib" repository. | 1021 | command and push it to the "contrib" repository. |
1023 | Be sure to provide a commit message that follows the project’s commit standards | 1022 | Be sure to provide a commit message that follows the project’s commit message standards |
1024 | as described earlier.</para></listitem> | 1023 | as described earlier.</para></listitem> |
1025 | <listitem><para>Notify the maintainer that you have pushed a change by making a pull | 1024 | <listitem><para>Notify the maintainer that you have pushed a change by making a pull |
1026 | request. | 1025 | request. |
@@ -1031,10 +1030,10 @@ | |||
1031 | You can find these scripts in the <filename>scripts</filename> directory of the | 1030 | You can find these scripts in the <filename>scripts</filename> directory of the |
1032 | Yocto Project file structure.</para> | 1031 | Yocto Project file structure.</para> |
1033 | <para>For help on using these scripts, simply provide the | 1032 | <para>For help on using these scripts, simply provide the |
1034 | <filename>--help</filename> argument as follows: | 1033 | <filename>-h</filename> argument as follows: |
1035 | <literallayout class='monospaced'> | 1034 | <literallayout class='monospaced'> |
1036 | $ ~/poky/scripts/create-pull-request --help | 1035 | $ ~/poky/scripts/create-pull-request -h |
1037 | $ ~/poky/scripts/send-pull-request --help | 1036 | $ ~/poky/scripts/send-pull-request -h |
1038 | </literallayout></para></listitem> | 1037 | </literallayout></para></listitem> |
1039 | </itemizedlist> | 1038 | </itemizedlist> |
1040 | </para> | 1039 | </para> |
@@ -1054,8 +1053,8 @@ | |||
1054 | Here is a general procedure: | 1053 | Here is a general procedure: |
1055 | <itemizedlist> | 1054 | <itemizedlist> |
1056 | <listitem><para>Make your changes in your local Git repository.</para></listitem> | 1055 | <listitem><para>Make your changes in your local Git repository.</para></listitem> |
1057 | <listitem><para>Stage your commit (or change) by using the <filename>git add</filename> | 1056 | <listitem><para>Stage your changes by using the <filename>git add</filename> |
1058 | command.</para></listitem> | 1057 | command on each file you changed.</para></listitem> |
1059 | <listitem><para>Commit the change by using the | 1058 | <listitem><para>Commit the change by using the |
1060 | <filename>git commit --signoff</filename> command. | 1059 | <filename>git commit --signoff</filename> command. |
1061 | Using the <filename>--signoff</filename> option identifies you as the person | 1060 | Using the <filename>--signoff</filename> option identifies you as the person |