get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 1241518,
    "url": "http://patchwork.ozlabs.org/api/patches/1241518/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/buildroot/patch/20200220160119.3407-4-patrick.havelange@essensium.com/",
    "project": {
        "id": 27,
        "url": "http://patchwork.ozlabs.org/api/projects/27/?format=api",
        "name": "Buildroot development",
        "link_name": "buildroot",
        "list_id": "buildroot.buildroot.org",
        "list_email": "buildroot@buildroot.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20200220160119.3407-4-patrick.havelange@essensium.com>",
    "list_archive_url": null,
    "date": "2020-02-20T16:01:13",
    "name": "[v3,04/10] support/download/dl-wrapper: rework backend parsing",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "dba81cc006475a31c702a3afabd2f306b750ed3f",
    "submitter": {
        "id": 75424,
        "url": "http://patchwork.ozlabs.org/api/people/75424/?format=api",
        "name": "Patrick Havelange",
        "email": "patrick.havelange@essensium.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/buildroot/patch/20200220160119.3407-4-patrick.havelange@essensium.com/mbox/",
    "series": [
        {
            "id": 159771,
            "url": "http://patchwork.ozlabs.org/api/series/159771/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/buildroot/list/?series=159771",
            "date": "2020-02-20T16:01:10",
            "name": "[v3,01/10] package/pkg-cargo.mk: Introduce the cargo package infrastructure.",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/159771/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1241518/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1241518/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<buildroot-bounces@busybox.net>",
        "X-Original-To": [
            "incoming-buildroot@patchwork.ozlabs.org",
            "buildroot@lists.busybox.net"
        ],
        "Delivered-To": [
            "patchwork-incoming-buildroot@bilbo.ozlabs.org",
            "buildroot@osuosl.org"
        ],
        "Authentication-Results": [
            "ozlabs.org; spf=pass (sender SPF authorized)\n\tsmtp.mailfrom=busybox.net (client-ip=140.211.166.138;\n\thelo=whitealder.osuosl.org;\n\tenvelope-from=buildroot-bounces@busybox.net;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org; dmarc=fail (p=none dis=none)\n\theader.from=essensium.com",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=essensium.com header.i=@essensium.com\n\theader.a=rsa-sha256 header.s=google header.b=ArHvQt42; \n\tdkim-atps=neutral"
        ],
        "Received": [
            "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 48NfV93cmtz9sPK\n\tfor <incoming-buildroot@patchwork.ozlabs.org>;\n\tFri, 21 Feb 2020 03:01:53 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id B7D6B87591;\n\tThu, 20 Feb 2020 16:01:51 +0000 (UTC)",
            "from whitealder.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id ItOEXjDAh9xg; Thu, 20 Feb 2020 16:01:48 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id B0569874DA;\n\tThu, 20 Feb 2020 16:01:47 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id 6FF961BF9B3\n\tfor <buildroot@lists.busybox.net>;\n\tThu, 20 Feb 2020 16:01:43 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 64215203C7\n\tfor <buildroot@lists.busybox.net>;\n\tThu, 20 Feb 2020 16:01:43 +0000 (UTC)",
            "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id yVuT8n4gHYXB for <buildroot@lists.busybox.net>;\n\tThu, 20 Feb 2020 16:01:42 +0000 (UTC)",
            "from mail-wm1-f42.google.com (mail-wm1-f42.google.com\n\t[209.85.128.42])\n\tby silver.osuosl.org (Postfix) with ESMTPS id 81B4E203BA\n\tfor <buildroot@buildroot.org>; Thu, 20 Feb 2020 16:01:42 +0000 (UTC)",
            "by mail-wm1-f42.google.com with SMTP id a5so2584876wmb.0\n\tfor <buildroot@buildroot.org>; Thu, 20 Feb 2020 08:01:42 -0800 (PST)",
            "from ph-ThinkPad-E560.local.ess-mail.com\n\t(ip-188-118-3-185.reverse.destiny.be. [188.118.3.185])\n\tby smtp.gmail.com with ESMTPSA id\n\th5sm5483691wmf.8.2020.02.20.08.01.38\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 20 Feb 2020 08:01:39 -0800 (PST)"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=essensium.com; s=google;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=4FggsvQgO2/QlDJW5GlG4PTnz8yLNcOfjExdHichItE=;\n\tb=ArHvQt42yMarfy1sikxi+UgyMVCNpAngJKiwNLcyYzgGaptLkDsAeeXKwl0TVtGldD\n\tl3NwHxxIr9/LZ//MSS3+pgdp5sAoqOveM4GWt7SKZaHit4CJJ11K2UVTxtPpLsbSKcSk\n\tWmd6OGFOAGd22ljhnlo0VBcQDfFMfZtr7HNr+KSCvYgG+d1IAYAEJvYjnIO4onPcZ3eq\n\tMRDaBEa06ZLbC0YMFdTOrvDIUbYadrMAY6HDFkkdDasSrmfSXq3trK/HT/dh9HEvH5Zi\n\tfegRmEH1fQet+giPMjPAaj+XLxS0Wyv/xr4IjEA+hrA8QzH5RYNV0reXYAk9WGO/i1j4\n\tl6/A==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=4FggsvQgO2/QlDJW5GlG4PTnz8yLNcOfjExdHichItE=;\n\tb=Mu4mJ8WZPHtkXzTF0ln0rEERedW/m/MhfUqk3ZV8vwSZSSZYX5mYWA0sDKhT+3B92Y\n\tSYPTU/WQqvW0mwqh/dtG/irOpWuDkE/rhF1ww7qi2DQzwInkqMXhiY0+E0aExLD/LJ78\n\t3EGUTD/DB11nzoG781kHZfrBsLAPeLnE1LbVZ70hggHVNiOe6vtJOm48RIUx66c89nk8\n\tdwaVBuJ6vbDZ40HOkQkpKYWdnB0cVuhhgRXI1ScS45Dx4YCFrV++6ohU1mDMfLk/anqb\n\tXm4ot1H/037X/UMDgtmRPImV6CO9uLyU4qZgx/ETwhc7Lj+VzeP9FTD3+D75F2COe2yt\n\tJMAg==",
        "X-Gm-Message-State": "APjAAAUUSgE2xyanvmZzJxcKiFcz80VoF/lha6QKAGyc937+ncpouecH\n\tBhRpfsmnFddgKH6wyuO3E6r2egI1diiZ2Q==",
        "X-Google-Smtp-Source": "APXvYqwL/ANw1RkSqySfTebJ4Sem0WgR/r9tolOPbIvnY2eLB1R4ezTA0elShsp09Y0bHFWUj6TCHQ==",
        "X-Received": "by 2002:a1c:6588:: with SMTP id z130mr5222398wmb.0.1582214499746;\n\tThu, 20 Feb 2020 08:01:39 -0800 (PST)",
        "From": "Patrick Havelange <patrick.havelange@essensium.com>",
        "To": "buildroot@buildroot.org",
        "Date": "Thu, 20 Feb 2020 17:01:13 +0100",
        "Message-Id": "<20200220160119.3407-4-patrick.havelange@essensium.com>",
        "X-Mailer": "git-send-email 2.20.1",
        "In-Reply-To": "<20200220160119.3407-1-patrick.havelange@essensium.com>",
        "References": "<20200220160119.3407-1-patrick.havelange@essensium.com>",
        "MIME-Version": "1.0",
        "Subject": "[Buildroot] [PATCH v3 04/10] support/download/dl-wrapper: rework\n\tbackend parsing",
        "X-BeenThere": "buildroot@busybox.net",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "Discussion and development of buildroot <buildroot.busybox.net>",
        "List-Unsubscribe": "<http://lists.busybox.net/mailman/options/buildroot>,\n\t<mailto:buildroot-request@busybox.net?subject=unsubscribe>",
        "List-Archive": "<http://lists.busybox.net/pipermail/buildroot/>",
        "List-Post": "<mailto:buildroot@busybox.net>",
        "List-Help": "<mailto:buildroot-request@busybox.net?subject=help>",
        "List-Subscribe": "<http://lists.busybox.net/mailman/listinfo/buildroot>,\n\t<mailto:buildroot-request@busybox.net?subject=subscribe>",
        "Cc": "Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>,\n\tPatrick Havelange <patrick.havelange@essensium.com>,\n\tSam Voss <sam.voss@gmail.com>,\n\t\"Yann E . MORIN\" <yann.morin.1998@free.fr>, \n\tThomas Petazzoni <thomas.petazzoni@bootlin.com>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "buildroot-bounces@busybox.net",
        "Sender": "\"buildroot\" <buildroot-bounces@busybox.net>"
    },
    "content": "The point of this modification is to be more generic in the way\nthe backends/options are parsed from the urls.\nThe '+' char serves as delimiter between the backends and the\nactual url.\nThe '|' char serves as separator between the different\noptions or backends.\nThis will be useful later when more options or backends would be\nneeded.\n\npkg-generic.mk now passes the optional FOO_PKGMGR value in case a\npackage needs to use a second backend.\n\nSigned-off-by: Patrick Havelange <patrick.havelange@essensium.com>\n---\n package/pkg-generic.mk      |  2 +-\n support/download/dl-wrapper | 34 ++++++++++++++++++++++------------\n 2 files changed, 23 insertions(+), 13 deletions(-)",
    "diff": "diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk\nindex 268d999efb..a5038ebff4 100644\n--- a/package/pkg-generic.mk\n+++ b/package/pkg-generic.mk\n@@ -541,7 +541,7 @@ ifndef $(2)_PATCH\n endif\n \n $(2)_ALL_DOWNLOADS = \\\n-\t$$(if $$($(2)_SOURCE),$$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$($(2)_SOURCE)) \\\n+\t$$(if $$($(2)_SOURCE),$$($(2)_PKGMGR)$$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$($(2)_SOURCE)) \\\n \t$$(foreach p,$$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS),\\\n \t\t$$(if $$(findstring ://,$$(p)),$$(p),\\\n \t\t\t$$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$(p)))\ndiff --git a/support/download/dl-wrapper b/support/download/dl-wrapper\nindex 3315bd410e..3f613bb622 100755\n--- a/support/download/dl-wrapper\n+++ b/support/download/dl-wrapper\n@@ -21,8 +21,8 @@ export BR_BACKEND_DL_GETOPTS=\":hc:d:o:n:N:H:ru:qf:e\"\n \n main() {\n     local OPT OPTARG\n-    local backend output hfile recurse quiet rc\n-    local -a uris\n+    local backend backends_str output hfile recurse quiet rc backend2\n+    local -a uris backends\n \n     # Parse our options; anything after '--' is for the backend\n     while getopts \":c:d:D:o:n:N:H:rf:u:q\" OPT; do\n@@ -85,18 +85,24 @@ main() {\n     download_and_check=0\n     rc=1\n     for uri in \"${uris[@]}\"; do\n-        backend_urlencode=\"${uri%%+*}\"\n-        backend=\"${backend_urlencode%|*}\"\n-        case \"${backend}\" in\n-            git|svn|cvs|bzr|file|scp|hg) ;;\n-            *) backend=\"wget\" ;;\n-        esac\n+        urlencode=\"\"\n+        backend=\"wget\"\n+        backend2=\"\"\n+\n+        # Extract the backends list, separated by '+' from the actual url\n+        backends_str=\"${uri%%+*}\"\n+        # make an array out of it, backends are '|' separated\n+        IFS='|' read -r -a backends <<< \"${backends_str}\"\n+        # parse each of them, set flags and set the real backend\n+        for b in \"${backends[@]}\" ; do\n+            case \"${b}\" in\n+                urlencode) urlencode=\"${b}\" ;;\n+                git|svn|cvs|bzr|file|scp|hg) backend=\"${b}\" ;;\n+                # insert here supported second backends) backend2=\"${b}\" ;;\n+            esac\n+        done\n         uri=${uri#*+}\n \n-        urlencode=${backend_urlencode#*|}\n-        # urlencode must be \"urlencode\"\n-        [ \"${urlencode}\" != \"urlencode\" ] && urlencode=\"\"\n-\n         # tmpd is a temporary directory in which backends may store\n         # intermediate by-products of the download.\n         # tmpf is the file in which the backends should put the downloaded\n@@ -138,6 +144,10 @@ main() {\n         # cd back to free the temp-dir, so we can remove it later\n         cd \"${OLDPWD}\"\n \n+        if [ -n \"${backend2}\" ] ; then\n+\t    support/download/${backend2} \"${tmpf}\" \"${tmpd}\" \"${old_dl_dir}\"\n+        fi\n+\n         # Check if the downloaded file is sane, and matches the stored hashes\n         # for that file\n         if support/download/check-hash ${quiet} \"${hfile}\" \"${tmpf}\" \"${output##*/}\"; then\n",
    "prefixes": [
        "v3",
        "04/10"
    ]
}