get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 63941,
    "url": "http://patches.dpdk.org/api/patches/63941/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20191216191553.1997116-1-thomas@monjalon.net/",
    "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": "<20191216191553.1997116-1-thomas@monjalon.net>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20191216191553.1997116-1-thomas@monjalon.net",
    "date": "2019-12-16T19:15:53",
    "name": "[v2] devtools: remove config backup after test build setup",
    "commit_ref": null,
    "pull_url": null,
    "state": "rejected",
    "archived": true,
    "hash": "9594d28cb742e56b1d9dc02ae31359d1f3d05083",
    "submitter": {
        "id": 685,
        "url": "http://patches.dpdk.org/api/people/685/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas@monjalon.net"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20191216191553.1997116-1-thomas@monjalon.net/mbox/",
    "series": [
        {
            "id": 7854,
            "url": "http://patches.dpdk.org/api/series/7854/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=7854",
            "date": "2019-12-16T19:15:53",
            "name": "[v2] devtools: remove config backup after test build setup",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/7854/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/63941/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/63941/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 23856A04F0;\n\tMon, 16 Dec 2019 20:16:05 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 14AE41D9E;\n\tMon, 16 Dec 2019 20:16:04 +0100 (CET)",
            "from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com\n [66.111.4.27]) by dpdk.org (Postfix) with ESMTP id A899E330;\n Mon, 16 Dec 2019 20:16:02 +0100 (CET)",
            "from compute1.internal (compute1.nyi.internal [10.202.2.41])\n by mailout.nyi.internal (Postfix) with ESMTP id 034A322254;\n Mon, 16 Dec 2019 14:16:02 -0500 (EST)",
            "from mailfrontend2 ([10.202.2.163])\n by compute1.internal (MEProxy); Mon, 16 Dec 2019 14:16:02 -0500",
            "from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184])\n by mail.messagingengine.com (Postfix) with ESMTPA id C8EF830600B1;\n Mon, 16 Dec 2019 14:16:00 -0500 (EST)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding; s=mesmtp; bh=02BdnzYPF0\n 1lyRQU/KpRJZ5A4C7sCCDJ5Zzy/rgJA4Y=; b=rOKAVjujBT1s2Gz+xZbcZ8AIop\n Ntche7H8DgzSGGmyzrSo6Z6OlCEW57w7AhgCwCvegbRh0ogMqx4T4ddPlukMNZgg\n fEArQAfe4YdZwGFm42AZMPVmDc3vtHoAYgA78ltxTM4JdwaXWkmBFEYd0f/DN33d\n XYGZ8bJ6lGRNwFoII=",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n messagingengine.com; h=cc:content-transfer-encoding:date:from\n :in-reply-to:message-id:mime-version:references:subject:to\n :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=\n fm1; bh=02BdnzYPF01lyRQU/KpRJZ5A4C7sCCDJ5Zzy/rgJA4Y=; b=uS65cmcX\n dUe30NgWF0HenydLU7JK2FawJcDdrKuJQIKxTwCT+mpfftGhihFXVm41RSX9IgEy\n fmGIs3ESfbTvviQkelIhlU1O2xAGshcWaKj78HN/y852p3A22wIbI+FdlfIjHGJt\n X60FS+U8kBT41me1lhqoGE0LUr9w2zG0XCKTOIsxrvfeDt5Q17F+OtukNTtsMjEt\n +447Quo4cPwTYarjuwKDe74C0v4bCHNRdoVZwUMMRI98RYBtObkC2/GmEu73zO62\n tfQIrEhHqU3+JSVj1ZKIX4bqHhm+0pkkk5c0K3kK9yPcBE4uOJBVHN9hloU2xxpH\n i8V5J4w9DL72Dw=="
        ],
        "X-ME-Sender": "<xms:8df3XR6ge78wDTxgDsxVGgFLFj81XD9Y4NqMSYqbxA1DslRGF_NegA>",
        "X-ME-Proxy-Cause": "\n gggruggvucftvghtrhhoucdtuddrgedufedrvddthedguddvvdcutefuodetggdotefrod\n ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh\n necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd\n enucfjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepvfhhohhm\n rghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc\n fkphepjeejrddufeegrddvtdefrddukeegnecurfgrrhgrmhepmhgrihhlfhhrohhmpeht\n hhhomhgrshesmhhonhhjrghlohhnrdhnvghtnecuvehluhhsthgvrhfuihiivgeptd",
        "X-ME-Proxy": "<xmx:8df3XUeA2ewZZVID8uG5XRPhlHOFTYMWSGTqhAMj-VdrjWLAJVnePg>\n <xmx:8df3XSDwoCmG7ECrg-Qt3oO6KQlT2-BdKzi72wLce2bZfU5TMc1uHw>\n <xmx:8df3XbA7SU62WMcryMIN9ru1UG7C5M-kVYXWps3DiDXtbD3RMsLIxQ>\n <xmx:8df3Xe8kti3LgN1_T18mXROK9BfXBZ2zXwdH-YinLjwh0XSthJDHhw>",
        "From": "Thomas Monjalon <thomas@monjalon.net>",
        "To": "dev@dpdk.org",
        "Cc": "olivier.matz@6wind.com, stable@dpdk.org,\n Ali Alnubani <alialnu@mellanox.com>,\n David Marchand <david.marchand@redhat.com>",
        "Date": "Mon, 16 Dec 2019 20:15:53 +0100",
        "Message-Id": "<20191216191553.1997116-1-thomas@monjalon.net>",
        "X-Mailer": "git-send-email 2.24.0",
        "In-Reply-To": "<20191216162242.1898285-1-thomas@monjalon.net>",
        "References": "<20191216162242.1898285-1-thomas@monjalon.net>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2] devtools: remove config backup after test\n\tbuild setup",
        "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": "The config options are updated with sed and the short in-place option.\nIn order to avoid creating a backup file when using sed in-place,\nthe argument was tentatively set as an empty suffix.\nOn Linux, the suffix argument is optional, without space or equal before.\nOn FreeBSD, the suffix argument of the in-place option is mandatory.\nThis argument cannot be an empty string if no space before.\n\nIn GNU sed, the short option '-i' does not expect '=' before the suffix\nargument, so it understands '=' as the file suffix.\nAs a consequence, a backup file named '.config=' was created\non Linux in the build directory.\n\nThere is no common solution (without creating a function)\nto skip the backup file with GNU sed and BSD sed.\nIt is solved by always creating a .config.tmp backup file\nwhich is removed at the end of the configuration.\n\nFixes: 4a4a20c4775b (\"devtools: support FreeBSD\")\nCc: olivier.matz@6wind.com\nCc: stable@dpdk.org\n\nReported-by: Ali Alnubani <alialnu@mellanox.com>\nSigned-off-by: Thomas Monjalon <thomas@monjalon.net>\n\n---\n\nv1: try removing = sign\nv2: do not skip backup file\n\n---\n devtools/test-build.sh | 78 ++++++++++++++++++++++--------------------\n 1 file changed, 40 insertions(+), 38 deletions(-)",
    "diff": "diff --git a/devtools/test-build.sh b/devtools/test-build.sh\nindex 52305fbb8c..f451d91ad3 100755\n--- a/devtools/test-build.sh\n+++ b/devtools/test-build.sh\n@@ -141,84 +141,86 @@ config () # <directory> <target> <options>\n \t\techo 'Customize configuration'\n \t\t# Built-in options (lowercase)\n \t\t! echo $3 | grep -q '+default' || \\\n-\t\tsed -ri=\"\" 's,(RTE_MACHINE=\")native,\\1default,' $1/.config\n+\t\tsed -ri.tmp 's,(RTE_MACHINE=\")native,\\1default,' $1/.config\n \t\techo $3 | grep -q '+next' || \\\n-\t\tsed -ri=\"\"           's,(NEXT_ABI=)y,\\1n,' $1/.config\n+\t\tsed -ri.tmp           's,(NEXT_ABI=)y,\\1n,' $1/.config\n \t\t! echo $3 | grep -q '+shared' || \\\n-\t\tsed -ri=\"\"         's,(SHARED_LIB=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp         's,(SHARED_LIB=)n,\\1y,' $1/.config\n \t\t! echo $3 | grep -q '+debug' || ( \\\n-\t\tsed -ri=\"\"  's,(RTE_LOG_DP_LEVEL=).*,\\1RTE_LOG_DEBUG,' $1/.config\n-\t\tsed -ri=\"\"           's,(_DEBUG.*=)n,\\1y,' $1/.config\n-\t\tsed -ri=\"\"  's,(_STAT)([S_].*=|=)n,\\1\\2y,' $1/.config\n-\t\tsed -ri=\"\" 's,(TEST_PMD_RECORD_.*=)n,\\1y,' $1/.config )\n+\t\tsed -ri.tmp 's,(RTE_LOG_DP_LEVEL=).*,\\1RTE_LOG_DEBUG,' $1/.config\n+\t\tsed -ri.tmp           's,(_DEBUG.*=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp  's,(_STAT)([S_].*=|=)n,\\1\\2y,' $1/.config\n+\t\tsed -ri.tmp 's,(TEST_PMD_RECORD_.*=)n,\\1y,' $1/.config )\n \n \t\t# Automatic configuration\n \t\ttest \"$DPDK_DEP_NUMA\" != n || \\\n-\t\tsed -ri=\"\"             's,(NUMA.*=)y,\\1n,' $1/.config\n-\t\tsed -ri=\"\"    's,(LIBRTE_IEEE1588=)n,\\1y,' $1/.config\n-\t\tsed -ri=\"\"             's,(BYPASS=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp             's,(NUMA.*=)y,\\1n,' $1/.config\n+\t\tsed -ri.tmp    's,(LIBRTE_IEEE1588=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp             's,(BYPASS=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_ARCHIVE\" != y || \\\n-\t\tsed -ri=\"\"       's,(RESOURCE_TAR=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp       's,(RESOURCE_TAR=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_BPF\" != y || \\\n-\t\tsed -ri=\"\"         's,(PMD_AF_XDP=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp         's,(PMD_AF_XDP=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_ISAL\" != y || \\\n-\t\tsed -ri=\"\"           's,(PMD_ISAL=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp           's,(PMD_ISAL=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_MLX\" != y || \\\n-\t\tsed -ri=\"\"           's,(MLX._PMD=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp           's,(MLX._PMD=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_NFB\" != y || \\\n-\t\tsed -ri=\"\"            's,(NFB_PMD=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp            's,(NFB_PMD=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_SZE\" != y || \\\n-\t\tsed -ri=\"\"       's,(PMD_SZEDATA2=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp       's,(PMD_SZEDATA2=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_ZLIB\" != y || \\\n-\t\tsed -ri=\"\"          's,(BNX2X_PMD=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp          's,(BNX2X_PMD=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_ZLIB\" != y || \\\n-\t\tsed -ri=\"\"           's,(PMD_ZLIB=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp           's,(PMD_ZLIB=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_ZLIB\" != y || \\\n-\t\tsed -ri=\"\"   's,(COMPRESSDEV_TEST=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp   's,(COMPRESSDEV_TEST=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_PCAP\" != y || \\\n-\t\tsed -ri=\"\"               's,(PCAP=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp               's,(PCAP=)n,\\1y,' $1/.config\n \t\ttest -z \"$ARMV8_CRYPTO_LIB_PATH\" || \\\n-\t\tsed -ri=\"\"   's,(PMD_ARMV8_CRYPTO=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp   's,(PMD_ARMV8_CRYPTO=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_IPSEC_MB\" != y || \\\n-\t\tsed -ri=\"\"       's,(PMD_AESNI_MB=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp       's,(PMD_AESNI_MB=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_IPSEC_MB\" != y || \\\n-\t\tsed -ri=\"\"      's,(PMD_AESNI_GCM=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp      's,(PMD_AESNI_GCM=)n,\\1y,' $1/.config\n \t\ttest -z \"$LIBSSO_SNOW3G_PATH\" || \\\n-\t\tsed -ri=\"\"         's,(PMD_SNOW3G=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp         's,(PMD_SNOW3G=)n,\\1y,' $1/.config\n \t\ttest -z \"$LIBSSO_KASUMI_PATH\" || \\\n-\t\tsed -ri=\"\"         's,(PMD_KASUMI=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp         's,(PMD_KASUMI=)n,\\1y,' $1/.config\n \t\ttest -z \"$LIBSSO_ZUC_PATH\" || \\\n-\t\tsed -ri=\"\"            's,(PMD_ZUC=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp            's,(PMD_ZUC=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_SSL\" != y || \\\n-\t\tsed -ri=\"\"            's,(PMD_CCP=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp            's,(PMD_CCP=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_SSL\" != y || \\\n-\t\tsed -ri=\"\"        's,(PMD_OPENSSL=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp        's,(PMD_OPENSSL=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_SSL\" != y || \\\n-\t\tsed -ri=\"\"            's,(QAT_SYM=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp            's,(QAT_SYM=)n,\\1y,' $1/.config\n \t\ttest -z \"$FLEXRAN_SDK\" || \\\n-\t\tsed -ri=\"\"     's,(BBDEV_TURBO_SW=)n,\\1y,' $1/.config\n-\t\tsed -ri=\"\"           's,(SCHED_.*=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp     's,(BBDEV_TURBO_SW=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp           's,(SCHED_.*=)n,\\1y,' $1/.config\n \t\ttest -z \"$LIBMUSDK_PATH\" || \\\n-\t\tsed -ri=\"\"   's,(PMD_MVSAM_CRYPTO=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp   's,(PMD_MVSAM_CRYPTO=)n,\\1y,' $1/.config\n \t\ttest -z \"$LIBMUSDK_PATH\" || \\\n-\t\tsed -ri=\"\"          's,(MVPP2_PMD=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp          's,(MVPP2_PMD=)n,\\1y,' $1/.config\n \t\ttest -z \"$LIBMUSDK_PATH\" || \\\n-\t\tsed -ri=\"\"         's,(MVNETA_PMD=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp         's,(MVNETA_PMD=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_ELF\" != y || \\\n-\t\tsed -ri=\"\"            's,(BPF_ELF=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp            's,(BPF_ELF=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_JSON\" != y || \\\n-\t\tsed -ri=\"\"          's,(TELEMETRY=)n,\\1y,' $1/.config\n+\t\tsed -ri.tmp          's,(TELEMETRY=)n,\\1y,' $1/.config\n \t\tbuild_config_hook $1 $2 $3\n \n \t\t# Explicit enabler/disabler (uppercase)\n \t\tfor option in $(echo $3 | sed 's,[~+], &,g') ; do\n \t\t\tpattern=$(echo $option | cut -c2-)\n \t\t\tif echo $option | grep -q '^~' ; then\n-\t\t\t\tsed -ri=\"\" \"s,($pattern=)y,\\1n,\" $1/.config\n+\t\t\t\tsed -ri.tmp \"s,($pattern=)y,\\1n,\" $1/.config\n \t\t\telif echo $option | grep -q '^+' ; then\n-\t\t\t\tsed -ri=\"\" \"s,($pattern=)n,\\1y,\" $1/.config\n+\t\t\t\tsed -ri.tmp \"s,($pattern=)n,\\1y,\" $1/.config\n \t\t\tfi\n \t\tdone\n+\n+\t\trm -f $1/.config.tmp\n \tfi\n }\n \n",
    "prefixes": [
        "v2"
    ]
}