get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/131745/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 131745,
    "url": "http://patchwork.dpdk.org/api/patches/131745/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20230920154817.617-3-dave@youngcopy.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20230920154817.617-3-dave@youngcopy.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230920154817.617-3-dave@youngcopy.com",
    "date": "2023-09-20T15:48:06",
    "name": "[2/6] Section 2: Install and Build DPDK",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "0c9a9893f4b91f1757acf983e58efc4283dcc8a4",
    "submitter": {
        "id": 3122,
        "url": "http://patchwork.dpdk.org/api/people/3122/?format=api",
        "name": "Dave Young",
        "email": "dave@youngcopy.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20230920154817.617-3-dave@youngcopy.com/mbox/",
    "series": [
        {
            "id": 29577,
            "url": "http://patchwork.dpdk.org/api/series/29577/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=29577",
            "date": "2023-09-20T15:48:04",
            "name": "docs: Unify Getting Started Guides",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/29577/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/131745/comments/",
    "check": "warning",
    "checks": "http://patchwork.dpdk.org/api/patches/131745/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 4E9EE425F1;\n\tWed, 20 Sep 2023 17:49:55 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 0EE2F410E3;\n\tWed, 20 Sep 2023 17:49:53 +0200 (CEST)",
            "from mail-yw1-f174.google.com (mail-yw1-f174.google.com\n [209.85.128.174])\n by mails.dpdk.org (Postfix) with ESMTP id E485940ED2\n for <dev@dpdk.org>; Wed, 20 Sep 2023 17:49:50 +0200 (CEST)",
            "by mail-yw1-f174.google.com with SMTP id\n 00721157ae682-59be81cf0d8so7215127b3.0\n for <dev@dpdk.org>; Wed, 20 Sep 2023 08:49:50 -0700 (PDT)",
            "from localhost.localdomain\n ([2600:1700:20c0:a560:1d8e:3ea8:ad75:14a1])\n by smtp.gmail.com with ESMTPSA id\n r2-20020a818102000000b0059a34cfa2a5sm3806348ywf.67.2023.09.20.08.49.48\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 20 Sep 2023 08:49:49 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=youngcopy-com.20230601.gappssmtp.com; s=20230601; t=1695224990;\n x=1695829790;\n darn=dpdk.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=KK9VyI49layBKZYhNrRz+kEOLivwLK4sFFqNWsOqpYk=;\n b=WaotOTKZTGIeMjpiU2X43HtyQeObsCw91nKVcGXN+o2+tI3MiKJW+wiOInEbolOGyL\n R7+Is/Mf4ga+SMggyP1xAkcHPUiKD2TMnD3asAnFhZK8x16qes54VFdkj/rLSnXqgvtA\n mLJwLm6xNM2ZVvBgm6Ed3ymEUEpILI02C6y7ckBV/dZEc+X6TT7FRb68aNHJPMjlqw5f\n xP1nGlmFZrIT1srGcAbtS1jruTjNSEHM+7mh8sym6fcyCNY5H6+BDIBJ59DFgmD6OKOF\n FxVCMR9KoFAzFqVjSolohgGkaGUWaEmWB8s7LOjg/C/2Y21D/y2UC7So9LPncKoxS3RB\n OKJw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1695224990; x=1695829790;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=KK9VyI49layBKZYhNrRz+kEOLivwLK4sFFqNWsOqpYk=;\n b=TQyA7n0ydgA5sts3IhpVD9Haxyrys6M+bsFUDfMnpfdcF+6+NE2wzYu/Ll1DtmhkUs\n Kkw+q/BSD/wcawnM3PvdaH4G6uNhfXIQIeTWGskw26V/gRYjOq0U+plD34IaqnBBZ5ol\n TQCke5JANk/Tp9ONLrumRAhOON4ipalj0mK6J+OSPfG/cXiSR726jvIO+QcoWs0Ch8mt\n qKB9HJBAM+ROqRdDYy5EhgUp1cjochq4BW9SMNfujLBqITzxMlmzX10Dy0ss9cxdtQiC\n A0WE7YMcJxL69cfBH+ETfKkco0ECE9YOVbw2BYuSv8R3Yf3xwU2xVB5SccCyQbjCrzOf\n UZKQ==",
        "X-Gm-Message-State": "AOJu0Yw8vOJWv96/P2lgGnrr39xjFCC803m/3UkKb8NvxGupAXY6bIma\n Vp2SndJNaI61u0t0C/AVNZWNxmenW5IAormysG8=",
        "X-Google-Smtp-Source": "\n AGHT+IEKHVU9mgXe9fXMecY0oFmrxCKcoUXGUIXwb/8Ztpo6m5LcpbKX9cWXkwalFzkMZ+duneN+5Q==",
        "X-Received": "by 2002:a0d:dfc5:0:b0:583:adc6:10b8 with SMTP id\n i188-20020a0ddfc5000000b00583adc610b8mr2453906ywe.3.1695224989791;\n Wed, 20 Sep 2023 08:49:49 -0700 (PDT)",
        "From": "David Young <dave@youngcopy.com>",
        "To": "dev@dpdk.org",
        "Cc": "Bruce Richardson <bruce.richardson@intel.com>,\n David Young <dave@youngcopy.com>",
        "Subject": "[PATCH 2/6] Section 2: Install and Build DPDK",
        "Date": "Wed, 20 Sep 2023 11:48:06 -0400",
        "Message-ID": "<20230920154817.617-3-dave@youngcopy.com>",
        "X-Mailer": "git-send-email 2.41.0.windows.1",
        "In-Reply-To": "<20230920154817.617-1-dave@youngcopy.com>",
        "References": "<20230920154817.617-1-dave@youngcopy.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "---\n .../building_from_sources.rst                 | 108 ++++++++++++++++++\n .../install_and_build/index.rst               |  15 +++\n .../installing_prebuilt_packages.rst          |  54 +++++++++\n .../windows_install_build.rst                 |  93 +++++++++++++++\n 4 files changed, 270 insertions(+)\n create mode 100644 doc/guides/getting_started_guide/install_and_build/building_from_sources.rst\n create mode 100644 doc/guides/getting_started_guide/install_and_build/index.rst\n create mode 100644 doc/guides/getting_started_guide/install_and_build/installing_prebuilt_packages.rst\n create mode 100644 doc/guides/getting_started_guide/install_and_build/windows_install_build.rst",
    "diff": "diff --git a/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst b/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst\nnew file mode 100644\nindex 0000000000..e4ee8e436d\n--- /dev/null\n+++ b/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst\n@@ -0,0 +1,108 @@\n+..  SPDX-License-Identifier: BSD-3-Clause\n+    Copyright(c) 2010-2025 Intel Corporation.\n+\n+.. _building_from_sources:\n+\n+Building and Installing DPDK from Sources\n+=========================================\n+\n+This chapter provides a comprehensive guide for building DPDK from sources on both\n+Linux and FreeBSD platforms. It covers the necessary steps, prerequisites, \n+and considerations for different architectures and compilers.\n+\n+Required Tools\n+--------------\n+\n+To build DPDK, you'll need the following tools:\n+\n+- A C compiler like ``gcc`` (version 5+) or ``clang`` (version 3.6+)\n+- ``pkg-config`` or ``pkgconf``\n+- Python 3.6 or later\n+- ``meson`` (version 0.53.2+) and ``ninja``\n+- ``pyelftools`` (version 0.22+)\n+\n+Here's how to install them:\n+\n+Linux\n+^^^^^\n+\n+Alpine\n+\n+.. code-block:: bash\n+\n+   sudo apk add alpine-sdk bsd-compat-headers\n+   pip install meson ninja\n+\n+Debian and Ubuntu and derivatives\n+\n+.. code-block:: bash\n+\n+   sudo apt install build-essential\n+   pip install meson ninja\n+\n+Fedora and RedHat Enterprise Linux RHEL\n+\n+.. code-block:: bash\n+\n+   sudo dnf groupinstall \"Development Tools\"\n+   pip install meson ninja\n+\n+openSUSE\n+\n+.. code-block:: bash\n+\n+   sudo zypper install -t pattern devel_basis python3-pyelftools\n+   pip install meson ninja\n+\n+FreeBSD\n+^^^^^^^\n+\n+FreeBSD (as root)\n+\n+.. code-block:: bash\n+\n+   pkg install meson pkgconf py38-pyelftools\n+\n+Note: If you're using FreeBSD, you'll also need kernel sources. Make sure they're included during the FreeBSD installation.\n+\n+Getting the DPDK Source\n+-----------------------\n+\n+Download the DPDK source code from the official repository \n+``https://fast.dpdk.org/rel/``.\n+\n+Use ``wget`` to grab the DPDK version::\n+\n+        wget https://fast.dpdk.org/rel/dpdk-<version>.tar.xz\n+\n+Extract the downloaded archive:\n+\n+.. code-block:: bash\n+\n+   tar -xvf dpdk-<version>.tar.gz\n+\n+Navigate to the DPDK directory:\n+\n+.. code-block:: bash\n+\n+   cd dpdk-<version>\n+\n+Building DPDK\n+-------------\n+\n+Configure the build based on your needs, hardware, and environment. \n+This might include setting specific flags or options. For example: “meson setup -Dbuildtype=debugoptimized build”. Then compile using “ninja” and install using “meson install”.\n+\n+.. code-block:: bash\n+\n+   ninja -C build\n+   cd build\n+   sudo ninja install\n+   ldconfig\n+\n+For detailed information on Meson build configuration options specific to DPDK, see :ref:`DPDK Meson Build Configuration Options <dpdk_meson_build_options>`.\n+\n+Cross-Compilation Instructions for Different Architectures\n+----------------------------------------------------------\n+\n+For instructions on building DPDK for ARM64, LoongArch, and RISC-V, refer to :ref:`cross_compile_dpdk`.\ndiff --git a/doc/guides/getting_started_guide/install_and_build/index.rst b/doc/guides/getting_started_guide/install_and_build/index.rst\nnew file mode 100644\nindex 0000000000..f4d8740fb6\n--- /dev/null\n+++ b/doc/guides/getting_started_guide/install_and_build/index.rst\n@@ -0,0 +1,15 @@\n+..  SPDX-License-Identifier: BSD-3-Clause\n+    Copyright(c) 2010-2025 Intel Corporation.\n+\n+.. _install_and_build:\n+\n+Install and Build DPDK\n+======================\n+\n+.. toctree::\n+    :maxdepth: 2\n+\n+    \n+    installing_prebuilt_packages\n+    building_from_sources\n+    windows_install_build\n\\ No newline at end of file\ndiff --git a/doc/guides/getting_started_guide/install_and_build/installing_prebuilt_packages.rst b/doc/guides/getting_started_guide/install_and_build/installing_prebuilt_packages.rst\nnew file mode 100644\nindex 0000000000..3e395d65f1\n--- /dev/null\n+++ b/doc/guides/getting_started_guide/install_and_build/installing_prebuilt_packages.rst\n@@ -0,0 +1,54 @@\n+..  SPDX-License-Identifier: BSD-3-Clause\n+    Copyright(c) 2010-2025 Intel Corporation.\n+\n+.. _installing_prebuilt_packages:\n+\n+Installing Pre-built Packages\n+=============================\n+\n+Pre-built packages provide a convenient way to install DPDK without the need to compile\n+the source code manually. These packages are created and maintained by the DPDK\n+community or OS vendors and are available for various operating systems and\n+distributions.\n+\n+Available Distributions\n+-----------------------\n+\n+Linux\n+^^^^^\n+\n+Pre-built DPDK packages are available for several popular Linux distributions,\n+including but not limited to:\n+\n+Alpine\n+\n+.. code-block:: bash\n+\n+   sudo apk add dpdk\n+\n+Debian and Ubuntu and derivatives\n+\n+.. code-block:: bash\n+\n+   sudo apt-get install dpdk\n+\n+Fedora and RedHat Enterprise Linux RHEL\n+\n+.. code-block:: bash\n+\n+   sudo dnf install dpdk\n+\n+openSUSE\n+\n+.. code-block:: bash\n+\n+   sudo zypper install dpdk\n+\n+FreeBSD\n+^^^^^^^\n+\n+To install DPDK on FreeBSD, use the following command:\n+\n+.. code-block:: bash\n+\n+   sudo pkg install dpdk\n\\ No newline at end of file\ndiff --git a/doc/guides/getting_started_guide/install_and_build/windows_install_build.rst b/doc/guides/getting_started_guide/install_and_build/windows_install_build.rst\nnew file mode 100644\nindex 0000000000..ea0e131766\n--- /dev/null\n+++ b/doc/guides/getting_started_guide/install_and_build/windows_install_build.rst\n@@ -0,0 +1,93 @@\n+..  SPDX-License-Identifier: BSD-3-Clause\n+    Copyright(c) 2010-2015 Intel Corporation.\n+\n+.. _windows_install_build:\n+\n+Windows DPDK Build\n+==================\n+\n+Before you begin the process of building DPDK on Windows, \n+make sure your system meets all the necessary requirements as outlined below.\n+\n+Windows System Requirements\n+---------------------------\n+\n+Building the DPDK and its applications on Windows requires one of the following\n+environments:\n+\n+- The Clang-LLVM C compiler and Microsoft MSVC linker.\n+- The MinGW-w64 toolchain (either native or cross).\n+\n+The Meson Build system is used to prepare the sources for compilation with the Ninja backend.\n+\n+Option 1: Clang-LLVM C Compiler and Microsoft MSVC Linker\n+---------------------------------------------------------\n+\n+1. Install the Compiler: Download and install the clang compiler from the \n+`LLVM website <http://releases.llvm.org/>`_.\n+\n+2. Install the Linker: Download and install the Build Tools for Visual Studio from the\n+`Microsoft website <https://visualstudio.microsoft.com/downloads/>`_. \n+When installing build tools, select the “Visual C++ build tools” option and make sure\n+the Windows SDK is selected.\n+\n+Option 2: MinGW-w64 Toolchain\n+-----------------------------\n+\n+1. On Linux (for cross-compilation): Install MinGW-w64 via a package manager. \n+Version 4.0.4 for Ubuntu 16.04 cannot be used due to a MinGW-w64 bug.\n+\n+2. On Windows: Obtain the latest version installer from the\n+`MinGW-w64 repository <https://mingw-w64.org/doku.php>`_. \n+Any thread model (POSIX or Win32) can be chosen, DPDK does not rely on it. \n+Install to a folder without spaces in its name, like ``C:\\MinGW``. \n+This path is assumed for the rest of this guide.\n+\n+Install the Build System\n+------------------------\n+\n+Download and install the build system from the\n+`Meson website <http://mesonbuild.com/Getting-meson.html#installing-meson-and-ninja-with-the-msi-installer>`_. \n+A good option to choose is the MSI installer for both meson and ninja together.\n+Recommended version is either Meson 0.57.0 (baseline) or the latest release.\n+\n+Install the Backend\n+-------------------\n+\n+If using Ninja, download and install the backend from the\n+`Ninja website <https://ninja-build.org/>`_ or install along with the meson build\n+system. \n+\n+Once you have verified that your system meets these requirements, \n+you can proceed with the following steps to build DPDK.\n+\n+Build the Code\n+--------------\n+\n+The build environment is setup to build the EAL and the helloworld example by default.\n+To compile the examples, the flag -Dexamples is required.\n+\n+**Option 1. Native Build on Windows**\n+\n+When using Clang-LLVM, specifying the compiler might be required to complete the meson\n+command::\n+\n+        set CC=clang\n+\n+When using MinGW-w64, it is sufficient to have toolchain executables in PATH::\n+\n+        set PATH=C:\\MinGW\\mingw64\\bin;%PATH%\n+\n+To compile the examples::\n+\n+        cd C:\\Users\\me\\dpdk\n+        meson -Dexamples=helloworld build\n+        ninja -C build\n+\n+**Option 2. Cross-Compile with MinGW-w64**\n+\n+The cross-file option must be specified for Meson. \n+Depending on the distribution, paths in this file may need adjustments::\n+\n+        meson --cross-file config/x86/cross-mingw -Dexamples=helloworld build\n+        ninja -C build\n\\ No newline at end of file\n",
    "prefixes": [
        "2/6"
    ]
}