X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fcontributing%2Fpatches.rst;h=59442824a17717f6141e8048841832faf87ef9b3;hb=770fabcd36ec11d64544e86ed7d2dda9f5c64daf;hp=d8404e623af8d1e20acd5edcbfa3b194014d6f02;hpb=99889bd85228bdf6fa28e160308444d82dca68cd;p=dpdk.git diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst index d8404e623a..59442824a1 100644 --- a/doc/guides/contributing/patches.rst +++ b/doc/guides/contributing/patches.rst @@ -8,7 +8,7 @@ Contributing Code to DPDK This document outlines the guidelines for submitting code to DPDK. -The DPDK development process is modelled (loosely) on the Linux Kernel development model so it is worth reading the +The DPDK development process is modeled (loosely) on the Linux Kernel development model so it is worth reading the Linux kernel guide on submitting patches: `How to Get Your Change Into the Linux Kernel `_. The rationale for many of the DPDK guidelines is explained in greater detail in the kernel guidelines. @@ -75,7 +75,6 @@ Trees and maintainers are listed in the ``MAINTAINERS`` file. For example:: Crypto Drivers -------------- M: Some Name - B: Another Name T: git://dpdk.org/next/dpdk-next-crypto Intel AES-NI GCM PMD @@ -86,7 +85,6 @@ Trees and maintainers are listed in the ``MAINTAINERS`` file. For example:: Where: * ``M`` is a tree or component maintainer. -* ``B`` is a tree backup maintainer. * ``T`` is a repository tree. * ``F`` is a maintained file or directory. @@ -148,9 +146,19 @@ Make your planned changes in the cloned ``dpdk`` repo. Here are some guidelines * If you add new files or directories you should add your name to the ``MAINTAINERS`` file. -* New external functions should be added to the local ``version.map`` file. - See the :doc:`Guidelines for ABI policy and versioning `. - New external functions should also be added in alphabetical order. +* Initial submission of new PMDs should be prepared against a corresponding repo. + + * Thus, for example, initial submission of a new network PMD should be + prepared against dpdk-next-net repo. + + * Likewise, initial submission of a new crypto or compression PMD should be + prepared against dpdk-next-crypto repo. + + * For other PMDs and more info, refer to the ``MAINTAINERS`` file. + +* New external functions should be added to the local ``version.map`` file. See + the :doc:`ABI policy ` and :ref:`ABI versioning ` + guides. New external functions should also be added in alphabetical order. * Important changes will require an addition to the release notes in ``doc/guides/rel_notes/``. See the :ref:`Release Notes section of the Documentation Guidelines ` for details. @@ -399,8 +407,17 @@ This uses the Linux kernel development tool ``checkpatch.pl`` which can be obta updating the Linux kernel sources. The path to the original Linux script must be set in the environment variable ``DPDK_CHECKPATCH_PATH``. -This, and any other configuration variables required by the development tools, are loaded from the following -files, in order of preference:: + +Spell checking of commonly misspelled words +can be enabled by downloading the codespell dictionary:: + + https://raw.githubusercontent.com/codespell-project/codespell/master/codespell_lib/data/dictionary.txt + +The path to the downloaded ``dictionary.txt`` must be set +in the environment variable ``DPDK_CHECKPATCH_CODESPELL``. + +Environment variables required by the development tools, +are loaded from the following files, in order of preference:: .develconfig ~/.config/dpdk/devel.config @@ -463,6 +480,7 @@ Examples of configs are:: The builds can be modified via the following environmental variables: * ``DPDK_BUILD_TEST_CONFIGS`` (target1+option1+option2 target2) +* ``DPDK_BUILD_TEST_DIR`` * ``DPDK_DEP_CFLAGS`` * ``DPDK_DEP_LDFLAGS`` * ``DPDK_DEP_PCAP`` (y/[n]) @@ -487,6 +505,27 @@ Compilation of patches is to be tested with ``devtools/test-meson-builds.sh`` sc The script internally checks for dependencies, then builds for several combinations of compilation configuration. +By default, each build will be put in a subfolder of the current working directory. +However, if it is preferred to place the builds in a different location, +the environment variable ``DPDK_BUILD_TEST_DIR`` can be set to that desired location. +For example, setting ``DPDK_BUILD_TEST_DIR=__builds`` will put all builds +in a single subfolder called "__builds" created in the current directory. +Setting ``DPDK_BUILD_TEST_DIR`` to an absolute directory path e.g. ``/tmp`` is also supported. + + +Checking ABI compatibility +-------------------------- + +By default, ABI compatibility checks are disabled. + +To enable them, a reference version must be selected via the environment +variable ``DPDK_ABI_REF_VERSION``. + +The ``devtools/test-build.sh`` and ``devtools/test-meson-builds.sh`` scripts +then build this reference version in a temporary directory and store the +results in a subfolder of the current working directory. +The environment variable ``DPDK_ABI_REF_DIR`` can be set so that the results go +to a different location. Sending Patches @@ -648,12 +687,3 @@ patch accepted. The general cycle for patch review and acceptance is: than rework of the original. * Trivial patches may be merged sooner than described above at the tree committer's discretion. - -DPDK Maintainers ----------------- - -The following are the DPDK maintainers as listed in the ``MAINTAINERS`` file -in the DPDK root directory. - -.. literalinclude:: ../../../MAINTAINERS - :lines: 3-