get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 74768,
    "url": "http://patches.dpdk.org/api/patches/74768/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200724142403.6132-4-parav@mellanox.com/",
    "project": {
        "id": 1,
        "url": "http://patches.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": "<20200724142403.6132-4-parav@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200724142403.6132-4-parav@mellanox.com",
    "date": "2020-07-24T14:23:56",
    "name": "[v9,03/10] drivers: relax dependency order",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "d46fcff59c8d134dca8601ad12273acf660ecec3",
    "submitter": {
        "id": 1780,
        "url": "http://patches.dpdk.org/api/people/1780/?format=api",
        "name": "Parav Pandit",
        "email": "parav@mellanox.com"
    },
    "delegate": {
        "id": 3268,
        "url": "http://patches.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20200724142403.6132-4-parav@mellanox.com/mbox/",
    "series": [
        {
            "id": 11290,
            "url": "http://patches.dpdk.org/api/series/11290/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=11290",
            "date": "2020-07-24T14:23:54",
            "name": "Improve mlx5 PMD driver framework for multiple classes",
            "version": 9,
            "mbox": "http://patches.dpdk.org/series/11290/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/74768/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/74768/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id E2C06A0526;\n\tFri, 24 Jul 2020 16:24:55 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 3BE211C069;\n\tFri, 24 Jul 2020 16:24:35 +0200 (CEST)",
            "from EUR02-VE1-obe.outbound.protection.outlook.com\n (mail-eopbgr20072.outbound.protection.outlook.com [40.107.2.72])\n by dpdk.org (Postfix) with ESMTP id 9C6FF1C038\n for <dev@dpdk.org>; Fri, 24 Jul 2020 16:24:31 +0200 (CEST)",
            "from AM0PR05MB4866.eurprd05.prod.outlook.com (2603:10a6:208:c0::32)\n by AM4PR05MB3203.eurprd05.prod.outlook.com (2603:10a6:205:6::28) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.20; Fri, 24 Jul\n 2020 14:24:29 +0000",
            "from AM0PR05MB4866.eurprd05.prod.outlook.com\n ([fe80::eccf:72b3:bacb:f09d]) by AM0PR05MB4866.eurprd05.prod.outlook.com\n ([fe80::eccf:72b3:bacb:f09d%5]) with mapi id 15.20.3216.024; Fri, 24 Jul 2020\n 14:24:29 +0000",
            "from sw-mtx-036.mtx.labs.mlnx (208.176.44.194) by\n DM6PR02CA0136.namprd02.prod.outlook.com (2603:10b6:5:1b4::38) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.3216.21 via Frontend Transport; Fri, 24 Jul 2020 14:24:28 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=A6jqO5EK0mHBkjgStFcb73Ceu/R011jTcw7LgyR6fVld7PhSg1O9jCdic2ThPTxpQI7fa/x9qQAWwZSh8qBJ7Lift4FI4Ao0VTR34Ldm12j16ARK4j620PvmHyn8v3O70SIRcCYsRGwZ7NpH2ZAamtLFvLfeHe+WZ5gDZEEx869+UMpb8xKM60gmVXex5Y612GUEZc/tvppre4jaeerXhocKTBohx/TRYFUGyT/z5qP+UlP4kbK/GaK67jAEdXBAtpDr+ag32KP5g5xPij4ts86FXYUFlD6JWLhWiTXKHgjXA9cOKz0Y6L22w9huEAaJ2Ldbdd6+xDvTL5w0e78DzA==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=46/VrusKPzo1WSYrlOx7UFX/7ugiaXNuGMXn3Zgc1e0=;\n b=TLh5iyol2uCjObC/bT5sJYJFkpbTeD54RoF89vYTjfKFLVolJ2ge5FrGzG0yLfkw49AG1fDv1s6xnjvQD2lPsoin9duyOGeMzDImHD1aAVUpJguVHiEwkc/EMT0oazAqwtzRWD/zYv9DH/gg3MJzRBoFa4+wsEK15STsxZnVjTH//5WWI3diy7PhL8U6YLnsYqfmMzge7tm+xddvzAcvnpXV1zjxYHVVaokNY7QLdsgJ6smeQL21UJyCmIOXmaYkEFtvTrR52hmassxxrM5iPhVXGXlJPWGfZWKfwbtORsAvaspWwNIOY9II6LUjf9O/uIO/W3mmJLKH8hQ1gXkQkg==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com;\n dkim=pass header.d=mellanox.com; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=46/VrusKPzo1WSYrlOx7UFX/7ugiaXNuGMXn3Zgc1e0=;\n b=k7b9tb9/mY5N+FKSs7rAmnfWegt9MEoyZOF3r3eIuUGxRyT4e/RTxFK/x3iaN/6Bm2L3BlVVDRxGtxvT5bs+P/hdj0nDltxBpJnXmCk+oZctRBx/Ccr+c5XmZQLbd1wOeeZkGmCQyX4zt0Y3jSfcEHr2yjpl6J+ux28ZMcxSoaE=",
        "Authentication-Results": "dpdk.org; dkim=none (message not signed)\n header.d=none;dpdk.org; dmarc=none action=none header.from=mellanox.com;",
        "From": "Parav Pandit <parav@mellanox.com>",
        "To": "dev@dpdk.org, grive@u256.net, ferruh.yigit@intel.com, thomas@monjalon.net",
        "Cc": "rasland@mellanox.com, orika@mellanox.com, matan@mellanox.com,\n joyce.kong@arm.com, Bruce Richardson <bruce.richardson@intel.com>",
        "Date": "Fri, 24 Jul 2020 17:23:56 +0300",
        "Message-Id": "<20200724142403.6132-4-parav@mellanox.com>",
        "X-Mailer": [
            "git-send-email 2.26.2",
            "git-send-email 2.26.2"
        ],
        "In-Reply-To": "<20200724142403.6132-1-parav@mellanox.com>",
        "References": "<20200610171728.89-2-parav@mellanox.com>\n <20200724142403.6132-1-parav@mellanox.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "DM6PR02CA0136.namprd02.prod.outlook.com\n (2603:10b6:5:1b4::38) To AM0PR05MB4866.eurprd05.prod.outlook.com\n (2603:10a6:208:c0::32)",
        "MIME-Version": "1.0",
        "X-MS-Exchange-MessageSentRepresentingType": "1",
        "X-Originating-IP": "[208.176.44.194]",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-MS-Office365-Filtering-Correlation-Id": "ae8cd533-1210-407c-9357-08d82fdd46ed",
        "X-MS-TrafficTypeDiagnostic": "AM4PR05MB3203:",
        "X-LD-Processed": "a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtFwd,ExtAddr",
        "X-MS-Exchange-Transport-Forked": "True",
        "X-Microsoft-Antispam-PRVS": "\n <AM4PR05MB320383D86D24F443333F9976D1770@AM4PR05MB3203.eurprd05.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:2089;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n Qh8tlYqk9wK/APuopoW9ngGtIhhG4jsRMIYVWf4XEnrtjSeJZrZlOytOh6gxzHaSwBmjOJ6HJ33A5mKPQjmrSQCfJsNEN/dzErh7HizY/gq0ilYsFtOMP7o+H/CGPkAlVcd4biSsiKPZYQGaNxi+FDA3YjBYyLLM37KL1vYwSAVRaUM9J9rUCZbwICTFkMAy+4Oge0Z93bFCO7eSe45xSchxwRuyYLpl+fxUEPwIP4XTdSSh5GNcoFm0NEC9DSHqwZ5NHr5iOzDof8fVGhmdLGZGhl11Eqxl4ulv+bDYYLdoOyOefQoN9ZL4y+4hInFZB2BmCsoTAlTeDjRMmcPRvw==",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:AM0PR05MB4866.eurprd05.prod.outlook.com; PTR:; CAT:NONE;\n SFTY:;\n SFS:(4636009)(376002)(346002)(136003)(366004)(396003)(39860400002)(5660300002)(86362001)(2616005)(956004)(6512007)(2906002)(66946007)(66476007)(66556008)(316002)(6506007)(4326008)(16526019)(186003)(26005)(8936002)(478600001)(8676002)(6666004)(52116002)(6486002)(83380400001)(1076003)(36756003);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData": "\n cS+PmTBUyWjwu1ZQYKU2uFYSAdG4sS7xHblMJnZJeyMcoCGgkDgOo1Z8eGS8xtQtCyt5Hw3ycQTLBV6i+TwZLJ8O0HaMzsl3Ugyl5rdzC8Q/zOKxPXnm6F3C0qQI9Jy2e630RwTfdikAKaHFdjkt25wGpo1iSNO7LhtEfAa6j6viZiaGQcfbU/Kgvjf9pRPPE8FZ16fwnZFT17T6pgx0ij/BmlV0P5aiZyJSu2WMvKUff5mwlcX8+dzK7JAoBKlUtd9515syv0r6fBENwcYxHjusKikd/NkCrSxxDB5BNjpzKcP5b0ktoh5RTOyPZRBAcLJ0oE3Z9m/opw/Zqb1ROVzBCWwj0aWFGE04F6KKa/pZUP3fvw7tiqsH9H4UDomDImU7URfCEXP0XpuigpuVdltPT9aF3rzYg6jkxW7oFk4QtMC88+m4Pk8WjpPjV/rwpHy/jvXQpDMiCtOp75Q7uAsxF53ZgHyvN5ekR8JxWliVWT8oztd0fL+5vcjSxjLs",
        "X-OriginatorOrg": "Mellanox.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n ae8cd533-1210-407c-9357-08d82fdd46ed",
        "X-MS-Exchange-CrossTenant-AuthSource": "AM0PR05MB4866.eurprd05.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "24 Jul 2020 14:24:29.8427 (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "a652971c-7d2e-4d9b-a6a4-d149256f461b",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n Ddb7vQ7SQG/ySzzqZqKFfRBKl8erg3irVwxi+JnEooaMeZv85sShmJm82uyuqntNW3R256MYoWgk+KCbSLM3tQ==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM4PR05MB3203",
        "Subject": "[dpdk-dev] [PATCH v9 03/10] drivers: relax dependency order",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Thomas Monjalon <thomas@monjalon.net>\n\nDrivers dependencies are evaluated in the order defined per their parent\ndirectory (also called class). This strict ordering prevents from\nhaving pairs of drivers from two classes with different dependency\nordering. For example, if the mlx5 common code depends on the pci bus\ndriver, while the dpaax common code is itself a dependency of the dpaa\nbus driver.  Having a strict ordering between directories bus and common\nis too restrictive, as processing either common drivers or bus drivers\nfirst leads us to missing dependencies in this scenario.\n\nThis patch makes it possible to have a more fine-grain directory list,\nadding a specific driver sub-directory in the top-level drivers\nsubdirectory list. In this case, the isolated driver must also be removed\nfrom its class list, and the per-class variables must be duplicated in\nthe isolated driver, because the call \"subdir(class)\" is skipped in the\nisolated driver case.\n\nReview-by: Bruce Richardson <bruce.richardson@intel.com>\nAcked-by: Bruce Richardson <bruce.richardson@intel.com>\nSigned-off-by: Thomas Monjalon <thomas@monjalon.net>\n---\nChangelog:\nv8->v9:\n - Updated commit message\n - Fixed typo\n---\n drivers/meson.build | 28 +++++++++++++++++++++-------\n 1 file changed, 21 insertions(+), 7 deletions(-)",
    "diff": "diff --git a/drivers/meson.build b/drivers/meson.build\nindex e2aeba931..e6d0409aa 100644\n--- a/drivers/meson.build\n+++ b/drivers/meson.build\n@@ -1,8 +1,8 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright(c) 2017-2019 Intel Corporation\n \n-# Defines the order in which the drivers are buit.\n-dpdk_driver_classes = [\n+# Defines the order of dependencies evaluation\n+subdirs = [\n \t'common',\n \t'bus',\n \t'mempool', # depends on common and bus.\n@@ -27,7 +27,7 @@ if cc.has_argument('-Wno-format-truncation')\n \tdefault_cflags += '-Wno-format-truncation'\n endif\n \n-foreach class:dpdk_driver_classes\n+foreach subpath:subdirs\n \tdrivers = []\n \tstd_deps = []\n \tconfig_flag_fmt = '' # format string used to set the value in dpdk_conf\n@@ -35,8 +35,22 @@ foreach class:dpdk_driver_classes\n \t                     # the library, the dependency and to find the\n \t                     # version file for linking\n \n-\tsubdir(class)\n-\tclass_drivers = []\n+\t# subpath can be either \"class\" or \"class/driver\"\n+\tif subpath.contains('/')\n+\t\tdriver_path = subpath.split('/')\n+\t\tclass = driver_path[0]\n+\t\tdrivers += driver_path[1]\n+\telse\n+\t\tclass = subpath\n+\t\tsubdir(class)\n+\tendif\n+\n+\t# save class name on first occurence\n+\tif not dpdk_driver_classes.contains(class)\n+\t\tdpdk_driver_classes += class\n+\tendif\n+\t# get already enabled drivers of the same class\n+\tenabled_drivers = get_variable(class + '_drivers', [])\n \n \tforeach drv:drivers\n \t\tdrv_path = join_paths(class, drv)\n@@ -96,7 +110,7 @@ foreach class:dpdk_driver_classes\n \t\t\t\t\t\t'_disable_reason', reason)\n \t\t\tendif\n \t\telse\n-\t\t\tclass_drivers += name\n+\t\t\tenabled_drivers += name\n \n \t\t\tif fmt_name == ''\n \t\t\t\tfmt_name = name\n@@ -203,5 +217,5 @@ foreach class:dpdk_driver_classes\n \t\tendif # build\n \tendforeach\n \n-\tset_variable(class + '_drivers', class_drivers)\n+\tset_variable(class + '_drivers', enabled_drivers)\n endforeach\n",
    "prefixes": [
        "v9",
        "03/10"
    ]
}