get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2228281,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2228281/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20260423154536.768603-2-sergio.prado@e-labworks.com/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null
    },
    "msgid": "<20260423154536.768603-2-sergio.prado@e-labworks.com>",
    "date": "2026-04-23T15:45:35",
    "name": "[v3,1/2] binman: bintool: add extra_env parameter to run_cmd",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "f0a84683884ace7822b40ceed975ba829337b662",
    "submitter": {
        "id": 67358,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/67358/?format=api",
        "name": "Sergio Prado",
        "email": "sergio.prado@e-labworks.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260423154536.768603-2-sergio.prado@e-labworks.com/mbox/",
    "series": [
        {
            "id": 501468,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/501468/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=501468",
            "date": "2026-04-23T15:45:36",
            "name": "binman: add PKCS#11/HSM signing support for X509 certificates",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/501468/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2228281/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2228281/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=e-labworks-com.20251104.gappssmtp.com\n header.i=@e-labworks-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=enrnSsSz;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)",
            "phobos.denx.de;\n dmarc=fail (p=none dis=none) header.from=e-labworks.com",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de",
            "phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=e-labworks-com.20251104.gappssmtp.com\n header.i=@e-labworks-com.20251104.gappssmtp.com header.b=\"enrnSsSz\";\n\tdkim-atps=neutral",
            "phobos.denx.de; dmarc=fail (p=none dis=none)\n header.from=e-labworks.com",
            "phobos.denx.de;\n spf=none smtp.mailfrom=sergio.prado@e-labworks.com"
        ],
        "Received": [
            "from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g31Xt5fxbz1yHS\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 26 Apr 2026 06:25:18 +1000 (AEST)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id A3E33842E7;\n\tSat, 25 Apr 2026 22:25:16 +0200 (CEST)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 28A9E8435B; Sat, 25 Apr 2026 22:25:16 +0200 (CEST)",
            "from mail-vk1-xa44.google.com (mail-vk1-xa44.google.com\n [IPv6:2607:f8b0:4864:20::a44])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id E6E0684099\n for <u-boot@lists.denx.de>; Sat, 25 Apr 2026 22:25:13 +0200 (CEST)",
            "by mail-vk1-xa44.google.com with SMTP id\n 71dfb90a1353d-56d93355337so5502635e0c.0\n for <u-boot@lists.denx.de>; Sat, 25 Apr 2026 13:25:13 -0700 (PDT)",
            "from desktop.. ([2804:7f0:6401:dc31:4200:1760:44a0:9daa])\n by smtp.gmail.com with ESMTPSA id\n 5a478bee46e88-2e539fa5c86sm33732055eec.1.2026.04.23.08.46.24\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 23 Apr 2026 08:46:27 -0700 (PDT)"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE autolearn=ham\n autolearn_force=no version=3.4.2",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=e-labworks-com.20251104.gappssmtp.com; s=20251104; t=1777148713;\n x=1777753513;\n darn=lists.denx.de;\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=3j+JXdPBzJYO4sYTQbHuDmaA7mFTuPfLaQOSgFGtfhU=;\n b=enrnSsSzUTN9cJZcR8hbIJVziSa0QQRBUfB5NSH4yKOT1ZaskaIxIsePTloVywf0Jm\n /GNVd53hGkUMtLm6vVOmjoT7FXXPfroFqFQ8Xmzj8Kb2/vd8yo2LzDQGmMVhI8iUOqcn\n XNhK71jWlzMAUSZ97RdBLuGt8NPel1ZYTQGn1l3JLyIZXiMl2gsTxsxVEpPHUfERQsbc\n VnHJORCBvA4u0sTRVZANA2UaBAQ09xV1BgppLQWJedv4Rq33JlqN8OBji3UMbujrrGRN\n vcZxWpi/DZjK9xBnxp0T3W7Tjfa/EBuB+Zq4fCSYF8YnQioPd7VTdnaHQ1B1MDRH7EW3\n OvlA==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777148713; x=1777753513;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=3j+JXdPBzJYO4sYTQbHuDmaA7mFTuPfLaQOSgFGtfhU=;\n b=Kc0DrIikyYuT3mJLaOnPVtcc0+pd2RreNiR4dfmpHXRwoTlqPKAfANlBNsXJwlCslk\n 0XntVjTkKLR/b9GNGDPYta2FRjHH3+SgdeXKWibzJJ7E9QiQuUfeWKJeW1ee0kG27vWb\n t2aHrzX17zhBptu3jdburUqr4dRJ4gMMJe+1Vl8Xbj0Js6VD6M+6sA2dL6zsnO86bgDq\n irFHey7WXatCDCXh0TFfFP6RpEEkerNchURxG3OG8FPA/Nt/5dUuLxDKM/XBXzlAWaQi\n 2w1ZkeIoKwjPwxr/o+eWLtVs/g1y+CaAmdKpy5eRxDxRs7LWyeg4jvnoGCZmPWFPvxoZ\n lSTA==",
        "X-Gm-Message-State": "AOJu0Ywfa3tHQgMFqRm1s2yXvmU67kiIP/oo4J6CpDZnsFTRp1kDRD2q\n eV3cpcjKzV6wkfnZYc9s1cXuzSe0IqyNKmtt5la64pd8QFJxayRFN3IV72M0kEDUJDpY1Pqs8LS\n rBDyLTxpLVzH2",
        "X-Gm-Gg": "AeBDietu/pSuyL8b2zG2KJAg+s/wg42utpZ1o3eWJvD76A1DjmxQMev5ZakTRNjv5TY\n nWN62Bf8E0EXUl2ikX/t+V4ke6dtGEFrdaZw9kYXgxmCR0oGIlIwEl2HBGSkPghfN7lXRq+5Rke\n 5eQN775qdHEcwX+2KvoOqQSpFT/eXWT96xwKBDsyRBXrX1KiMD27gXzhvkn8cVBtEtpS6bLh0zH\n n5rExrKGYEdA3eOaY/eJcQNUv5Fj7t63KlhOSpNi8Rdugh1BUADcsrxEayodh+6E8A91vZdXLMs\n 75Df0OgEzF1s3a0MPoA6D1a2nUCOpOGTb03dCxQC4S+d7QWqFGCP6Uei/V7BIxFgIgMv6BHQujt\n 7fHIkxdrgZg9GTeZgwnM8C3Tc6OEQZYcpM4O2GP3EIOq+1mMVOkpN02tnB322Dd5d6fp7fSdr3v\n GidSfJweiYg9tXLKN7Vd66zdEFgaLvbSt9XGQPwUFhhKE8y2o6vh9a",
        "X-Received": "by 2002:a05:7300:6d23:b0:2ca:9b08:e7d2 with SMTP id\n 5a478bee46e88-2e478a34148mr16447657eec.22.1776959187971;\n Thu, 23 Apr 2026 08:46:27 -0700 (PDT)",
        "From": "Sergio Prado <sergio.prado@e-labworks.com>",
        "To": "u-boot@lists.denx.de",
        "Cc": "trini@konsulko.com, sjg@chromium.org, alpernebiyasak@gmail.com,\n ilias.apalodimas@linaro.org, marek.vasut+renesas@mailbox.org,\n sughosh.ganu@arm.com, wolfgang.wallner@at.abb.com, bb@ti.com,\n y.moog@phytec.de, xypron.glpk@gmx.de, sergio.prado@e-labworks.com,\n jerome.forissier@arm.com, afd@ti.com, quentin.schulz@cherry.de,\n Wojciech.Dubowik@mt.com",
        "Subject": "[PATCH v3 1/2] binman: bintool: add extra_env parameter to run_cmd",
        "Date": "Thu, 23 Apr 2026 12:45:35 -0300",
        "Message-Id": "<20260423154536.768603-2-sergio.prado@e-labworks.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20260423154536.768603-1-sergio.prado@e-labworks.com>",
        "References": "<20260423154536.768603-1-sergio.prado@e-labworks.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.39",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>",
        "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de",
        "X-Virus-Status": "Clean"
    },
    "content": "Add an optional extra_env dict parameter to run_cmd() and\nrun_cmd_result(). When provided, the key/value pairs are merged into\nthe subprocess environment for that invocation only, leaving the parent\nprocess environment unchanged.\n\nThis might be needed by bintools that must inject environment variables\ninto specific tool calls without polluting the global environment.\n\nSigned-off-by: Sergio Prado <sergio.prado@e-labworks.com>\n---\n tools/binman/bintool.py | 15 ++++++++++++---\n 1 file changed, 12 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/tools/binman/bintool.py b/tools/binman/bintool.py\nindex 9c76c8881a46..9d4f31b8afa1 100644\n--- a/tools/binman/bintool.py\n+++ b/tools/binman/bintool.py\n@@ -272,7 +272,8 @@ class Bintool:\n                 show_status(col.RED, 'Failures', status[FAIL])\n         return not status[FAIL]\n \n-    def run_cmd_result(self, *args, binary=False, raise_on_error=True):\n+    def run_cmd_result(self, *args, binary=False, raise_on_error=True,\n+                       extra_env=None):\n         \"\"\"Run the bintool using command-line arguments\n \n         Args:\n@@ -281,6 +282,8 @@ class Bintool:\n             binary (bool): True to return output as bytes instead of str\n             raise_on_error (bool): True to raise a ValueError exception if the\n                 tool returns a non-zero return code\n+            extra_env (dict): Extra environment variables to set for this\n+                invocation, or None\n \n         Returns:\n             CommandResult: Resulting output from the bintool, or None if the\n@@ -291,6 +294,10 @@ class Bintool:\n         name = os.path.expanduser(self.name)  # Expand paths containing ~\n         all_args = (name,) + args\n         env = tools.get_env_with_path()\n+        if extra_env:\n+            if env is None:\n+                env = dict(os.environ)\n+            env.update(extra_env)\n         tout.debug(f\"bintool: {' '.join(all_args)}\")\n         result = command.run_pipe(\n             [all_args], capture=True, capture_stderr=True, env=env,\n@@ -315,18 +322,20 @@ class Bintool:\n             tout.debug(result.stderr)\n         return result\n \n-    def run_cmd(self, *args, binary=False):\n+    def run_cmd(self, *args, binary=False, extra_env=None):\n         \"\"\"Run the bintool using command-line arguments\n \n         Args:\n             args (list of str): Arguments to provide, in addition to the bintool\n                 name\n             binary (bool): True to return output as bytes instead of str\n+            extra_env (dict): Extra environment variables to set for this\n+                invocation, or None\n \n         Returns:\n             str or bytes: Resulting stdout from the bintool\n         \"\"\"\n-        result = self.run_cmd_result(*args, binary=binary)\n+        result = self.run_cmd_result(*args, binary=binary, extra_env=extra_env)\n         if result:\n             return result.stdout\n \n",
    "prefixes": [
        "v3",
        "1/2"
    ]
}