get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2220981,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/2220981/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20260408150201.217942-3-paul.henrys_ext@softathome.com/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/1.2/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,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260408150201.217942-3-paul.henrys_ext@softathome.com>",
    "list_archive_url": null,
    "date": "2026-04-08T15:02:00",
    "name": "[v5,2/3] binman: collection: Set build_done on referenced entries",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "c539f3b9ab81d764f38db501707f9cf66b12601f",
    "submitter": {
        "id": 83555,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/83555/?format=api",
        "name": "Paul HENRYS",
        "email": "paul.henrys_ext@softathome.com"
    },
    "delegate": {
        "id": 3651,
        "url": "http://patchwork.ozlabs.org/api/1.2/users/3651/?format=api",
        "username": "trini",
        "first_name": "Tom",
        "last_name": "Rini",
        "email": "trini@ti.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260408150201.217942-3-paul.henrys_ext@softathome.com/mbox/",
    "series": [
        {
            "id": 499152,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/499152/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=499152",
            "date": "2026-04-08T15:02:01",
            "name": "binman: Fix preload signing with encrypted FIT",
            "version": 5,
            "mbox": "http://patchwork.ozlabs.org/series/499152/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2220981/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2220981/checks/",
    "tags": {},
    "related": [],
    "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=softathome1.onmicrosoft.com header.i=@softathome1.onmicrosoft.com\n header.a=rsa-sha256 header.s=selector1-softathome1-onmicrosoft-com\n header.b=YajqVrTb;\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=none (p=none dis=none) header.from=softathome.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=softathome1.onmicrosoft.com header.i=@softathome1.onmicrosoft.com\n header.b=\"YajqVrTb\";\n\tdkim-atps=neutral",
            "phobos.denx.de; dmarc=none (p=none dis=none)\n header.from=softathome.com",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=paul.henrys_ext@softathome.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 4frRBX2w7Dz1yD3\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 09 Apr 2026 01:02:44 +1000 (AEST)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 1EAF784106;\n\tWed,  8 Apr 2026 17:02:25 +0200 (CEST)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 095C084129; Wed,  8 Apr 2026 17:02:20 +0200 (CEST)",
            "from PA5P264CU001.outbound.protection.outlook.com\n (mail-francecentralazlp170100000.outbound.protection.outlook.com\n [IPv6:2a01:111:f403:c20a::])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id D74AF84105\n for <u-boot+nodisclaimer@lists.denx.de>;\n Wed,  8 Apr 2026 17:02:17 +0200 (CEST)",
            "from PR3P189CA0083.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:b4::28)\n by MRZP264MB1878.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:c::17) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.20; Wed, 8 Apr\n 2026 15:02:14 +0000",
            "from PA1PEPF000CC3FA.FRAP264.PROD.OUTLOOK.COM\n (2603:10a6:102:b4:cafe::41) by PR3P189CA0083.outlook.office365.com\n (2603:10a6:102:b4::28) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.35 via Frontend Transport; Wed,\n 8 Apr 2026 15:02:14 +0000",
            "from proxy.softathome.com (149.6.166.170) by\n PA1PEPF000CC3FA.mail.protection.outlook.com (10.167.242.5) with Microsoft\n SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.17\n via Frontend Transport; Wed, 8 Apr 2026 15:02:13 +0000",
            "from sah2lpt245.. (unknown [192.168.72.183])\n by proxy.softathome.com (Postfix) with ESMTPSA id 84F29202C3;\n Wed,  8 Apr 2026 17:02:09 +0200 (CEST)"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_PASS,SPF_PASS,\n SUSPICIOUS_RECIPS autolearn=no autolearn_force=no version=3.4.2",
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=tQDkRvv/7Muy/26f/gy3Atp4aeACI3lNUuJwKhI1v/sXaTozjtR/373LY6PmlpVQ3LMIJ9o0dTqGDMlkY4Drh/rS0BvP6YuTdn2M+iQjGvrrL556sViMvMF9UJjtjn5K8xLzw5MECWox66nQ1qsp/84OK3cgWKugPuOnfftV3nVxQTcmDcI2G9tKZZyIbAXQ9O1nzJmc0LdShCJLxb3t4j8SR/oOTgjvJGBNUosfLw2J2ZCbd/o5om88kJ6D2jPm9UmqQyQ2MOF0GpmdLeWPHr/S2T/pgEpCyg5uliFibs4+foabwj9g+D2NII4Z8cJ2HMnbxejn3TMO3zGWU6cajg==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=kEKb7BnmKiIlIZciiAikxaSEwdhV4qMdcvyjUwBLEg8=;\n b=NIZ7+Gn91J0GEVFzKBg0uDgbreD+TwSafXpPRDkni99u579iY4bjWl7d0mZze+YANjre5g+4X0lSDL18zaIDF7lFT9Kp02WqYdNF5ZALKQRz+/29kAIg5wpHK1BsmsECfHjUm5nhcs3iZGm2/GPOaFkVcplJng9arLg+VlTQOzMlaayTxKS7jv/1dEKIHoImlqwujb9Dv+3LixiJqw3pf1Rsk5tSUpeUf/cIRtru2bDICYEtofVQuGE0iiURd21aVzDOEYZIIoqypSiW+yI3VRtxQNr6mluCn/3Qd97keLyfjuATqhVRn+f02Pbg2h+a81bMgLrIKkIJ3kGT8kWMVg==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 149.6.166.170) smtp.rcpttodomain=chromium.org smtp.mailfrom=softathome.com;\n dmarc=bestguesspass action=none header.from=softathome.com; dkim=none\n (message not signed); arc=none (0)",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=softathome1.onmicrosoft.com; s=selector1-softathome1-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=kEKb7BnmKiIlIZciiAikxaSEwdhV4qMdcvyjUwBLEg8=;\n b=YajqVrTbiwrd2cmfAzcnFWCaItrrQxM7NdzIX/cXQt3sFHMw3PTGtXsY64Sr8j8wC4rkpolc3X4QN0raZBl0NbTjQbCNcLCLahmshHjn7Ln3cGTuxsYAeae5/gBR+oMW7aapEi0wVR4cwBeeavjrUQ06UHhtAg/GErvN9cCrfiEbrc+V/MfjSiO/TaYdykWAvfpVOto8zlvTJLMXHkA0OWTAk842NmH9yJgPie8MBSt50EHrmgXBoglIQhetBXEIskwWToW1Kk4ali/Qav9c/iAoCI0irz8pDw5RDL3Lbgwj7AUgVs+g/E0GaIZSjbLQ1bTzxww0SsbAcJ6HDh4lzg==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 149.6.166.170)\n smtp.mailfrom=softathome.com; dkim=none (message not signed)\n header.d=none;dmarc=bestguesspass action=none header.from=softathome.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of softathome.com\n designates 149.6.166.170 as permitted sender)\n receiver=protection.outlook.com; client-ip=149.6.166.170;\n helo=proxy.softathome.com; pr=C",
        "From": "Paul HENRYS <paul.henrys_ext@softathome.com>",
        "To": "u-boot+nodisclaimer@lists.denx.de",
        "Cc": "sjg+nodisclaimer@chromium.org, trini+nodisclaimer@konsulko.com,\n alpernebiyasak+nodisclaimer@gmail.com,\n philippe.reynes+nodisclaimer@softathome.com,\n yan wang <yan.wang@softathome.com>",
        "Subject": "[PATCH v5 2/3] binman: collection: Set build_done on referenced\n entries",
        "Date": "Wed,  8 Apr 2026 17:02:00 +0200",
        "Message-ID": "<20260408150201.217942-3-paul.henrys_ext@softathome.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20260408150201.217942-1-paul.henrys_ext@softathome.com>",
        "References": "<20260403075528.1150196-3-paul.henrys_ext@softathome.com>\n <20260408150201.217942-1-paul.henrys_ext@softathome.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "PA1PEPF000CC3FA:EE_|MRZP264MB1878:EE_",
        "Content-Type": "text/plain",
        "X-MS-Office365-Filtering-Correlation-Id": "326be3c4-16bd-42e2-6732-08de957fd15b",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|82310400026|1800799024|36860700016|376014|56012099003|22082099003|18002099003;",
        "X-Microsoft-Antispam-Message-Info": "\n OROM8XE+8OR2y5/tLvU+YDktSrxtr6L396jWOWliPMQxqUreHmRQRsBWUjBDdDg1X/AbY9WI0UEkX0P9Uzr3GFWHjbomYQfsBSm7/RQb68NkhLGIMpyhCajlMrlgwOXs8tmwl9d/iPE3UFMS+qrUD6aGg6UBYEs6FQGTOgjPHLk1TZ5TYwdNTKzJLRoysAGJQeANQCw7Lj4YVbyRmqe5ArA62mtUfIM+t16H83PHOAttDFZ2bfZg5Vet+YbK3Ki8+WCOHZ5tjLcALaM/yvYmDgDF48ojSDrJVK61tPRWdsZkFJxRxOJwLyN4tZLYg22WrTIzHsW+dlSaLs0/c2axNnysrgILIl5dpIxxQkVBbW6++msoQpwvaLjmkjO8RHWWfzXMxShwTW3EAqvHCBs2xJTnOcK2vsT2F9R0hXvkcv87hcCRt3N1FV5LzGmcUOQmxMlG1PwwJXBG7F+SkWe6ocnun4yC1kF9nqi+LEXkEi7VyTcWQR8ORITtZkloQjpeAthQij7i0Gk/GYXNx56nd8pEnXnmpVLMDJoHTsa0cNf0iWI6FBQXhVdIYwTfNjC6qtd9i1350CH5C9rEnvCDbYczuh0yNLcuPSvdfHPBfQM4zdvwmfsWiIv4Dw4xoW90GIsPua0Y7ceX4PvKsN2T03wE138QcMd0Df7EzjbzMZpXsEhct4RJNUOkRBgoFq6AoDT1VdYA9rK6NXp6bm8HIc3UuYDRz401NB4p0oSo/wSy44e61zHbkRRKbgTxxkCXAAoclQ4pnwENgXkifla18A==",
        "X-Forefront-Antispam-Report": "CIP:149.6.166.170; CTRY:FR; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:proxy.softathome.com; PTR:InfoDomainNonexistent;\n CAT:NONE;\n SFS:(13230040)(82310400026)(1800799024)(36860700016)(376014)(56012099003)(22082099003)(18002099003);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n SLaHUl/80zvJ7TDS19uy1ytIf4QRZlGWN9WXHfWoLtXlDykqEmlR9BX/3OflkJCjw19Uk41Sy+co7GlH4EjGnHaKfic4M6SUNrjEcXYW6/esf8Tu1GsZ67A4NITE7k2NXED0lE3mxOQn7WOAxSRQPYR6N50Y/BnPaGTT2KRhkZIqo2ccUZyB90TInD8R+Ll8w1qjfMQPQgWRMlKhTufP79L5bCZ72fIw0kwgom7/cYoCu/5LC0b9TosSxNAueNr04kOTnXd7Ard3lNQQ0aO3aRwsTZVdRdnBS6PRvKhXmbjMyfGnBZ0+ubH3MULsLyEr5cuhas3FwD1bPn7oF3snvkdSSCFSNjc7akiDRbHnwSGWey6A/AKJojOlbmKcQMmsDMV39PP/oom3Ag0GOhFd6RcnAJgppMP7a8Om2wMmPdAHI3yUrWr7DhTkFBXrMoEm",
        "X-OriginatorOrg": "softathome.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "08 Apr 2026 15:02:13.6460 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 326be3c4-16bd-42e2-6732-08de957fd15b",
        "X-MS-Exchange-CrossTenant-Id": "aa10e044-e405-4c10-8353-36b4d0cce511",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=aa10e044-e405-4c10-8353-36b4d0cce511; Ip=[149.6.166.170];\n Helo=[proxy.softathome.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "PA1PEPF000CC3FA.FRAP264.PROD.OUTLOOK.COM",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "MRZP264MB1878",
        "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": "From: yan wang <yan.wang@softathome.com>\n\nThe collection etype uses phandles in the 'content' property to\nreference other entries. Mark each referenced entry with build_done\nto avoid rebuilding the same entry data multiple times.\n\nThis is important for cases where rebuilding may change the data\ncontent, e.g. due to timestamps or random IVs in encryption.\n\nRefactor GetContentsByPhandle() to return both the entry object and\nits data.\n\nSigned-off-by: yan wang <yan.wang@softathome.com>\n---\n\nChanges in v5:\n- No changes\n\n tools/binman/etype/collection.py | 8 ++++++--\n tools/binman/etype/section.py    | 5 +++--\n 2 files changed, 9 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/tools/binman/etype/collection.py b/tools/binman/etype/collection.py\nindex c532aafe3e7..5ea6344bd25 100644\n--- a/tools/binman/etype/collection.py\n+++ b/tools/binman/etype/collection.py\n@@ -45,12 +45,16 @@ class Entry_collection(Entry):\n         self.Info('Getting contents, required=%s' % required)\n         data = bytearray()\n         for entry_phandle in self.content:\n-            entry_data = self.section.GetContentsByPhandle(entry_phandle, self,\n-                                                           required)\n+            entry, entry_data = self.section.GetContentsByPhandle(\n+                entry_phandle, self, required)\n             if not required and entry_data is None:\n                 self.Info('Contents not available yet')\n                 # Data not available yet\n                 return None\n+\n+            # Mark referenced entries as build_done to avoid rebuilding\n+            entry.build_done = True\n+\n             data += entry_data\n \n         self.Info('Returning contents size %x' % len(data))\ndiff --git a/tools/binman/etype/section.py b/tools/binman/etype/section.py\nindex 6a26d687056..8530b7ee17f 100644\n--- a/tools/binman/etype/section.py\n+++ b/tools/binman/etype/section.py\n@@ -557,7 +557,8 @@ class Entry_section(Entry):\n                 return None\n \n         Returns:\n-            data from associated entry (as a string), or None if not found\n+            tuple: (entry, data) where entry is the Entry object and data is\n+                from that entry (as a string), or (entry, None) if data not found\n         \"\"\"\n         node = self._node.GetFdt().LookupPhandle(phandle)\n         if not node:\n@@ -565,7 +566,7 @@ class Entry_section(Entry):\n         entry = self.FindEntryByNode(node)\n         if not entry:\n             source_entry.Raise(\"Cannot find entry for node '%s'\" % node.name)\n-        return entry.GetData(required)\n+        return entry, entry.GetData(required)\n \n     def LookupEntry(self, entries, sym_name, msg):\n         \"\"\"Look up the entry for a binman symbol\n",
    "prefixes": [
        "v5",
        "2/3"
    ]
}