{"id":2224593,"url":"http://patchwork.ozlabs.org/api/1.2/covers/2224593/?format=json","web_url":"http://patchwork.ozlabs.org/project/swupdate/cover/20260417161524.2806435-1-hyyoxhk@163.com/","project":{"id":58,"url":"http://patchwork.ozlabs.org/api/1.2/projects/58/?format=json","name":"swupdate development","link_name":"swupdate","list_id":"swupdate.googlegroups.com","list_email":"swupdate@googlegroups.com","web_url":"https://github.com/sbabic/swupdate","scm_url":"git://github.com/sbabic/swupdate","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260417161524.2806435-1-hyyoxhk@163.com>","list_archive_url":null,"date":"2026-04-17T16:15:20","name":"[v1,0/4] Refactor image parsing and add LZ4 support","submitter":{"id":79707,"url":"http://patchwork.ozlabs.org/api/1.2/people/79707/?format=json","name":"He Yong","email":"hyyoxhk@163.com"},"mbox":"http://patchwork.ozlabs.org/project/swupdate/cover/20260417161524.2806435-1-hyyoxhk@163.com/mbox/","series":[{"id":500375,"url":"http://patchwork.ozlabs.org/api/1.2/series/500375/?format=json","web_url":"http://patchwork.ozlabs.org/project/swupdate/list/?series=500375","date":"2026-04-17T16:15:21","name":"Refactor image parsing and add LZ4 support","version":1,"mbox":"http://patchwork.ozlabs.org/series/500375/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2224593/comments/","headers":{"Return-Path":"<swupdate+bncBAABB4GGRHHQMGQEZC6RSYQ@googlegroups.com>","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=googlegroups.com header.i=@googlegroups.com\n header.a=rsa-sha256 header.s=20251104 header.b=w57s7WcD;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com\n (client-ip=2607:f8b0:4864:20::f3b; helo=mail-qv1-xf3b.google.com;\n envelope-from=swupdate+bncbaabb4ggrhhqmgqezc6rsyq@googlegroups.com;\n receiver=patchwork.ozlabs.org)"],"Received":["from mail-qv1-xf3b.google.com (mail-qv1-xf3b.google.com\n [IPv6:2607:f8b0:4864:20::f3b])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fy12157k2z2126\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 18 Apr 2026 02:44:41 +1000 (AEST)","by mail-qv1-xf3b.google.com with SMTP id\n 6a1803df08f44-8b026c4497fsf2235066d6.2\n        for <incoming@patchwork.ozlabs.org>;\n Fri, 17 Apr 2026 09:44:41 -0700 (PDT)","by 2002:a05:6214:1d24:b0:8ac:b9e7:a965 with SMTP id\n 6a1803df08f44-8ae82090923ls51025656d6.1.-pod-prod-04-us; Fri, 17 Apr 2026\n 09:44:32 -0700 (PDT)","by 2002:a05:6808:1d1e:b0:479:8e15:9311 with SMTP id\n 5614622812f47-4799c9889b1msb6e;\n        Fri, 17 Apr 2026 09:15:31 -0700 (PDT)","from m16.mail.163.com (m16.mail.163.com. [117.135.210.3])\n        by gmr-mx.google.com with ESMTPS id\n 5614622812f47-4799fc194e4si62334b6e.0.2026.04.17.09.15.28\n        for <swupdate@googlegroups.com>\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Fri, 17 Apr 2026 09:15:30 -0700 (PDT)","from nh50.. (unknown [])\n\tby gzsmtp2 (Coremail) with SMTP id PSgvCgDnEgycXOJpPjUTAg--.9473S2;\n\tSat, 18 Apr 2026 00:15:25 +0800 (CST)"],"ARC-Seal":["i=2; a=rsa-sha256; t=1776444274; cv=pass;\n        d=google.com; s=arc-20240605;\n        b=lX40Q2w6ZXtquLrJHmwNpuTm8Ye4ZOZzJVRXr+7fviXGlRLsXSq6vsP4I98tUaSvca\n         STF+p4lWynoaaBlQXxJjT0cDlHtdkPnHqFhOKRhiaPkvoNp141FLJlninOLKCi1JErt8\n         fdETQ6lH3OLBKC7sC61DpnHsnkCOHC6BLndE3R8Uh+jwFJ1iqsJnIargwnFcKWqz8SvR\n         Y9K0cdGGBa0CPreELuZvnQhHEtlG2InHdcLlvOFOhuZBBCinnNJXx45se1Lxsoo9ODHs\n         luLVf1th+Ydqp7e0cHgqX7Q3nRwQPcFnXbSyxpCSokDpcv8IAWoPoafmiaNHbhQyOzQc\n         vbGw==","i=1; a=rsa-sha256; t=1776442530; cv=none;\n        d=google.com; s=arc-20240605;\n        b=FJOJ81YyeMlQ5MiSQpxAwo2xoHEu81xm6TEDkQXgUXtDx8LanjlSWnVT1gecXnGXJP\n         PcE8Cvyibr/waSJMZX7cVQAA7sFvfE7xdoPtzBztEOPjq5MKYeKNimSLS41q4KkPkchp\n         j85va+0IleW90G3PbAsuaxP10BfH3CPxLwb4uQ3X7UsIGFSfaKy7KaGXv7UZK/lHDfeg\n         ILayOZWfX3+dcCVv6/gqXFaWZ0sZQDrcuhVi2M+kfoRejPeuuRHbMtkvN3pE5vgRC6Uz\n         bWnOQ8+Nd8jsRkRP3+qqJyTQbEsOJkjVRurCXf/Udxx9Itdv/f6ip5okgB9jKfoyooRp\n         b06g=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:mime-version:message-id:date\n         :subject:to:from:sender:dkim-signature;\n        bh=skw0V94D+80N5z4yFafKPkLtjKlZTgFPqS306+zk/Ps=;\n        fh=kDb746aHa5arXgvhhnfnJd2ns7MNnWspX5YjgOmeoc0=;\n        b=Ct9AW4tMj10AlonRzw3GLsHKYvOscT9R5N7KQnkmPBFwCikYDya82eCMq+AlhFW62h\n         bTuBDF3ZLFXdDthr5hNTniHiznsBg6TUyIXRjBN0ycgzaoWlwTC+EFkYhCjEiFwhdDH8\n         GWH8aCriV7YRvOI63bEaLZztB7vY9Y3P8wwQaMKhCs5msanjdcCkZNPj7dsabP3IeS6k\n         rE8aHjd3vQsZLdN/ldTRa/990rRvLZ8AHaBhhy347Ay8LUnEzBrQWL0E1zkaE0IoT1vR\n         +C48RrS7zOEIdom4DzJfubd0KAL6NDmJbZ/MU54UWKVIcdo75fbkE7diHa2ihoZTwNR8\n         812A==;\n        darn=patchwork.ozlabs.org","i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:to\n         :from:dkim-signature;\n        bh=HE83BC68cBVRYn7bgRHdXJCv8nTJXy2Z4Zr4khEClnY=;\n        fh=nvZsCFpxgpf+fsVXzjnWA8g1K3V/kNbRAKogjNDW4HY=;\n        b=Pv187czdnB6ohkcXGMBicF29OJYNbe+8UyE+eSD1O2HizM/osFMu7QPKIgZrTDSE6R\n         G/8SQmJh6MKBCeyeofgqUAZrO1nAIBpqB/hZVb8mMnVZQrCln4ZrVwe4AZKJdZE5VF62\n         mM6b5OjqKPPKT7qJf74HKYg2oE8piPD/ZUkvPOhuDnNtNFDKh0os1MfmGdwwdOphg1I9\n         6/IYM7erh12aH5WNiJpxMx44yU+ffNrflhUiPiq1gGxBUcWlm9BhaQVfINZkqtrZi6m5\n         wgWrDsGFg+jEx/CxX7Ylw2WPPeM8kUS6zA6h+0mdJewYJvCadvkSmMpd+8JCqfwURIip\n         yr4Q==;\n        dara=google.com"],"ARC-Authentication-Results":["i=2; gmr-mx.google.com;\n       dkim=pass header.i=@163.com header.s=s110527 header.b=G4Et4T4o;\n       spf=pass (google.com: domain of hyyoxhk@163.com designates\n 117.135.210.3 as permitted sender) smtp.mailfrom=hyyoxhk@163.com;\n       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com","i=1; gmr-mx.google.com;\n       dkim=pass header.i=@163.com header.s=s110527 header.b=G4Et4T4o;\n       spf=pass (google.com: domain of hyyoxhk@163.com designates\n 117.135.210.3 as permitted sender) smtp.mailfrom=hyyoxhk@163.com;\n       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=googlegroups.com; s=20251104; t=1776444274; x=1777049074;\n darn=patchwork.ozlabs.org;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:x-original-authentication-results\n         :x-original-sender:mime-version:message-id:date:subject:to:from\n         :sender:from:to:cc:subject:date:message-id:reply-to;\n        bh=skw0V94D+80N5z4yFafKPkLtjKlZTgFPqS306+zk/Ps=;\n        b=w57s7WcD7rRL80WDcww0EE1fN2szR5qs47cJDxMVkmZ2IjuGqMjBNJv/EwdxCK9v00\n         1fpsTKpgHaIqdHZcNhZnlZDi+UBaPXWAokiBPddTK/3u/gzfiQr4Akl9SxHhzifdd3lM\n         rtyMSqyB9J7SxNWyuTVJFF+h9Dm8sGs2+br9KFIQIhTbluhu8o77XGbxIwuGHSVWEg5b\n         0DewbIo12CvMDUeJ1V6wtiswEQNkzilj3iOTHJ/Livws6LwAsZO3uyApEFnMTOs37sy2\n         V0g8rTlThUVVOy2P/ddJlC8kTX+qASsaDnKPtglZ7vHEXnDAgWZykOkdGGJcM2KHzJoy\n         nTjQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1776444274; x=1777049074;\n        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post\n         :list-id:mailing-list:precedence:x-original-authentication-results\n         :x-original-sender:mime-version:message-id:date:subject:to:from\n         :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=skw0V94D+80N5z4yFafKPkLtjKlZTgFPqS306+zk/Ps=;\n        b=G5FaoqQ7EPAklIUIlml5gK7V1YmXl/hzqtzGLLcj+DaKOQ1J7EiC3PC9dJG1zS3nAV\n         uILAb14SILLavpMaYuwe8SMJC5as+/Ww96k5jtcv0Isdp57FVcxs8SBLSwmtiey8eZ22\n         jJGbNo5K1580ppfevmUzR29/F5viX+mdBT6DdgmaiV45IIWAgrjeMHQ6oBZYEb0Y/oGN\n         tW1hdH5NHJX+54UNH+0/KGeUoYXC1f+o3+3R+jZiok3hNCuB479/CPEMlY0UgWVVQ6Lx\n         064DSJrGHupR45aY+lL7q9gs7LcTeD5SPYI/sQ7ibD2el9KYuV1F+AhGyORmJAyUFFzH\n         WL8w==","Sender":"swupdate@googlegroups.com","X-Forwarded-Encrypted":"i=2;\n AFNElJ9JwVrhww1rF/Yabqjstw4Pw1l9cScGWwI2I5r+fusmhtVT90kU+0O87/t20xqZNFI6C8GRpqv4VQ==@patchwork.ozlabs.org","X-Gm-Message-State":"AOJu0YzbyB3AKhY2kbwfa6rv4pWio0m6ZqCjLw6Idb9pehp9OTLxr4Mn\n\tiqVJ5pvymHUOLR/ZOlkZjl4Sul2z18CwZ+AEy0HmyPBoKc7sK7vGWtik","X-Received":["by 2002:a05:6214:1c05:b0:8ae:6380:8fae with SMTP id\n 6a1803df08f44-8b02818faafmr40623166d6.3.1776444274274;\n        Fri, 17 Apr 2026 09:44:34 -0700 (PDT)","by 2002:a05:620a:31a0:b0:8dd:b4fc:d561 with SMTP id\n af79cd13be357-8e78f057a92mr479936085a.10.1776444272839;\n        Fri, 17 Apr 2026 09:44:32 -0700 (PDT)","by 2002:a05:6808:4f2b:b0:467:1ad3:7fc with SMTP id\n 5614622812f47-4799cae4f30mr1604363b6e.36.1776442530095;\n        Fri, 17 Apr 2026 09:15:30 -0700 (PDT)"],"X-BeenThere":"swupdate@googlegroups.com;\n h=\"AYAyTiIDy1QntYhUawJVQrRQaggGs3kho477qDtSJh+X80bLDQ==\"","Received-SPF":"pass (google.com: domain of hyyoxhk@163.com designates\n 117.135.210.3 as permitted sender) client-ip=117.135.210.3;","From":"He Yong <hyyoxhk@163.com>","To":"swupdate@googlegroups.com","Subject":"[swupdate] [PATCH v1 0/4] Refactor image parsing and add LZ4 support","Date":"Sat, 18 Apr 2026 00:15:20 +0800","Message-ID":"<20260417161524.2806435-1-hyyoxhk@163.com>","X-Mailer":"git-send-email 2.43.0","MIME-Version":"1.0","X-CM-TRANSID":"PSgvCgDnEgycXOJpPjUTAg--.9473S2","X-Coremail-Antispam":"1Uf129KBjvJXoW7Ww1fArWftr1xAF47WF4rKrg_yoW8JFyDpF\n\tZ3GFyfXrWxXrWSy393Ar4jvw1aqrn5J3y7Xa43tw1Fyw4YkFyvqrW8tF18A3yUJryYqrWD\n\tCw1aka42krZ3AFDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2\n\t9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07UzyIbUUUUU=","X-Originating-IP":"[2408:8266:bb01:57f4:788f:a08d:bbc4:eabb]","X-CM-SenderInfo":"pk1105lkn6il2tof0z/xtbC0B1RJGniXJ2ymQAA3Z","X-Original-Sender":"hyyoxhk@163.com","X-Original-Authentication-Results":"gmr-mx.google.com;       dkim=pass\n header.i=@163.com header.s=s110527 header.b=G4Et4T4o;       spf=pass\n (google.com: domain of hyyoxhk@163.com designates 117.135.210.3 as permitted\n sender) smtp.mailfrom=hyyoxhk@163.com;       dmarc=pass (p=NONE sp=NONE\n dis=NONE) header.from=163.com","Content-Type":"text/plain; charset=\"UTF-8\"","Precedence":"list","Mailing-list":"list swupdate@googlegroups.com;\n contact swupdate+owners@googlegroups.com","List-ID":"<swupdate.googlegroups.com>","X-Google-Group-Id":"605343134186","List-Post":"<https://groups.google.com/group/swupdate/post>,\n <mailto:swupdate@googlegroups.com>","List-Help":"<https://groups.google.com/support/>,\n <mailto:swupdate+help@googlegroups.com>","List-Archive":"<https://groups.google.com/group/swupdate","List-Subscribe":"<https://groups.google.com/group/swupdate/subscribe>,\n <mailto:swupdate+subscribe@googlegroups.com>","List-Unsubscribe":"\n <mailto:googlegroups-manage+605343134186+unsubscribe@googlegroups.com>,\n <https://groups.google.com/group/swupdate/subscribe>"},"content":"Hi,\n\nthis series improves maintainability in image attribute parsing and adds\nend-to-end LZ4 decompression support.\n\nThe first three patches remove duplicated key-parsing logic in parser and\nLua paths by introducing shared helpers and table-driven dispatch. This\nkeeps compressed type conversion centralized and makes future attribute\nextensions easier and less error-prone.\n\nThe last patch adds LZ4 support in Kconfig/build flags, parser mappings,\nruntime decompression, Lua helper mapping, and related documentation.\n\nComments and reviews are welcome.\n\nThanks,\nHe Yong\n\nHe Yong (4):\n  util: add compressed-string parser and img setter macros\n  parser: refactor stream attribute parsing\n  corelib: refactor Lua image attribute parsing\n  compress: add lz4 decompression support\n\n Kconfig                       |   8 ++\n Makefile.deps                 |   4 +\n Makefile.flags                |   4 +\n ci/setup.sh                   |   1 +\n core/cpio_utils.c             | 101 +++++++++++++++-\n core/util.c                   |  23 ++++\n corelib/lua_interface.c       | 218 ++++++++++++++++++++--------------\n doc/source/sw-description.rst |   2 +-\n doc/source/swupdate.rst       |   2 +-\n handlers/swupdate.lua         |   2 +-\n include/util.h                |  19 +++\n parser/parse_external.c       | 175 ++++++++++++++++-----------\n parser/parser.c               |  11 +-\n 13 files changed, 400 insertions(+), 170 deletions(-)"}