get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2223787,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2223787/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/buildroot/patch/20260416080903.8480-1-mooz@blockos.org/",
    "project": {
        "id": 27,
        "url": "http://patchwork.ozlabs.org/api/1.1/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": ""
    },
    "msgid": "<20260416080903.8480-1-mooz@blockos.org>",
    "date": "2026-04-16T08:06:38",
    "name": "[v2,1/1] package/python-sysv-ipc: new package",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "77d1f357260f72b42a364bbb0eda241287ccb5f6",
    "submitter": {
        "id": 92650,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/92650/?format=api",
        "name": "Vincent Cruz",
        "email": "mooz@blockos.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/buildroot/patch/20260416080903.8480-1-mooz@blockos.org/mbox/",
    "series": [
        {
            "id": 500104,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/500104/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/buildroot/list/?series=500104",
            "date": "2026-04-16T08:06:38",
            "name": "[v2,1/1] package/python-sysv-ipc: new package",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/500104/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2223787/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2223787/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<buildroot-bounces@buildroot.org>",
        "X-Original-To": [
            "incoming-buildroot@patchwork.ozlabs.org",
            "buildroot@buildroot.org"
        ],
        "Delivered-To": [
            "patchwork-incoming-buildroot@legolas.ozlabs.org",
            "buildroot@buildroot.org"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=buildroot.org header.i=@buildroot.org\n header.a=rsa-sha256 header.s=default header.b=LWkLhbfP;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org\n (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org;\n envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])\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 4fx9dp2WDkz1yG9\n\tfor <incoming-buildroot@patchwork.ozlabs.org>;\n Thu, 16 Apr 2026 18:09:18 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id F3F2880778;\n\tThu, 16 Apr 2026 08:09:15 +0000 (UTC)",
            "from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id nXkizyocK4tw; Thu, 16 Apr 2026 08:09:15 +0000 (UTC)",
            "from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id E640E80780;\n\tThu, 16 Apr 2026 08:09:14 +0000 (UTC)",
            "from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n by lists1.osuosl.org (Postfix) with ESMTP id 2B8C42CF\n for <buildroot@buildroot.org>; Thu, 16 Apr 2026 08:09:13 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n by smtp3.osuosl.org (Postfix) with ESMTP id 11505606D7\n for <buildroot@buildroot.org>; Thu, 16 Apr 2026 08:09:13 +0000 (UTC)",
            "from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id zmnNF4AGkINA for <buildroot@buildroot.org>;\n Thu, 16 Apr 2026 08:09:11 +0000 (UTC)",
            "from smtpout4.mo533.mail-out.ovh.net\n (smtpout4.mo533.mail-out.ovh.net [46.105.32.238])\n by smtp3.osuosl.org (Postfix) with ESMTPS id 8235E606CF\n for <buildroot@buildroot.org>; Thu, 16 Apr 2026 08:09:10 +0000 (UTC)",
            "from director3.derp.mail-out.ovh.net\n (director3.derp.mail-out.ovh.net [152.228.215.222])\n by mo533.mail-out.ovh.net (Postfix) with ESMTPS id 4fx9db1Q1yz5vxf;\n Thu, 16 Apr 2026 08:09:07 +0000 (UTC)",
            "from director3.derp.mail-out.ovh.net\n (director3.derp.mail-out.ovh.net. [127.0.0.1])\n by director3.derp.mail-out.ovh.net (inspect_sender_mail_agent) with SMTP\n for <mooz@blockos.org>; Thu, 16 Apr 2026 08:09:07 +0000 (UTC)",
            "from mta3.priv.ovhmail-u1.ea.mail.ovh.net (unknown [10.110.58.3])\n by director3.derp.mail-out.ovh.net (Postfix) with ESMTPS id 4fx9dZ6slrz5vRy;\n Thu, 16 Apr 2026 08:09:06 +0000 (UTC)",
            "from blockos.org (unknown [10.1.6.6])\n (Authenticated sender: mooz@blockos.org)\n by mta3.priv.ovhmail-u1.ea.mail.ovh.net (Postfix) with ESMTPSA id\n 43D0D9415E5;\n Thu, 16 Apr 2026 08:09:06 +0000 (UTC)"
        ],
        "X-Virus-Scanned": [
            "amavis at osuosl.org",
            "amavis at osuosl.org"
        ],
        "X-Comment": "SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org;\n receiver=<UNKNOWN> ",
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 smtp1.osuosl.org E640E80780",
            "OpenDKIM Filter v2.11.0 smtp3.osuosl.org 8235E606CF"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=buildroot.org;\n\ts=default; t=1776326955;\n\tbh=+Niglh8KVjDX9RnJ+WQfm0jsxtYjCB93iAaUvNYSlTU=;\n\th=From:To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:\n\t List-Post:List-Help:List-Subscribe:Cc:From;\n\tb=LWkLhbfPEId6g/2BmxpVbp9XUDTX91XA70SNDcY7YIG7QRJMrwtEiSHR8HRDfZGlq\n\t a3HspgtcrmtuQP7JJ/Krkj/T4dVDeSL9nAasVNzCVpHsOrG2+USfPolM7W5rCQU9bC\n\t OGANYABvDaOsL0ETh4Arm19shO2ka2EHZSdAyrKFMl3IvZIM50rVpL1sOqglVdRSdr\n\t P7wZYA5pOAmU6te0+TaLpJZgnHyXRxC4fmaMf53FwILNtLnyjHpuwU4+W2dl6AbvSG\n\t 5cf4SJR5rpVB4hyABvKCNzTaLnxj3tZCZXFOgtzqpt5A8OO3vJ60HYvjZEcobdsJQE\n\t KNsTdURHUPfzA==",
        "X-Greylist": "delayed 154993 seconds by postgrey-1.37 at util1.osuosl.org;\n Thu, 16 Apr 2026 08:09:10 UTC",
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp3.osuosl.org 8235E606CF",
        "Received-SPF": "Pass (mailfrom) identity=mailfrom; client-ip=46.105.32.238;\n helo=smtpout4.mo533.mail-out.ovh.net; envelope-from=mooz@blockos.org;\n receiver=<UNKNOWN>",
        "X-OVh-ClientIp": "213.36.7.12",
        "From": "Vincent Cruz <mooz@blockos.org>",
        "To": "buildroot@buildroot.org",
        "Date": "Thu, 16 Apr 2026 10:06:38 +0200",
        "Message-ID": "<20260416080903.8480-1-mooz@blockos.org>",
        "X-Mailer": "git-send-email 2.51.0",
        "MIME-Version": "1.0",
        "x-ovh-tracer-id": "11034663514172541858",
        "X-VR-SPAMSTATE": "OK",
        "X-VR-SPAMSCORE": "-100",
        "X-VR-SPAMCAUSE": "\n dmFkZTEBiqSgx/SnZcjjkZfsPX3InDYky+U+j6nB1muNdItFqsWGO4ON2sf/8uCvYp8l1leKJ/lvm8Tbi6pEmLXQyXpneAESud1xgYbD5cZ1I+igaDleiEHJObpMAzYLBTczaVDY1oFUhc8do+hk3V1xQkHsFzmaMBvCRQGA7BGdWPktpnZiClZ94NsSY277DSff6PHLsEq9oNeCMjyoR7dilI2J81sEHIyuelHSSSQs6OgPCW7MaCj/bqyIanssRobuW2xQJZNbTJ1coIAnOHjBM0NywrTY0CZGkkmeBE/A19uxUjgwwMxIxuOPmN86v2VINWOT1JxQwfRX1K/vVl6lStUBp/L0IsA92sjTUdQNoTxEU62FnAq/Tx2l9J1iHup43XLz3t/+4wE0Y/D1Ug1B75gi60eMH3Sv+aFlVn98Q71Dog2E/4GyBkRhRgtKY8nI3kpGtgYxFt672BBY2s6umxCpi/2O6YIK+7Qj9BnILW3xrXj2xv9MoGqdcJrJJNgmoRnotOnvzl0Vi6Ic+voBjltti7TAlkdWymulLJv/7N5zB2O4JOf8M6LiW1iCWVSnOtKI8b+SaEgqy0kAWR3KAlHg9o/pYHs76186VyPJKrrDAzVut047IEKtOwoQTo1WhXhh7x84aHcjXbutFdElyxejtH2e97m9IQC4UftGgjzd6g",
        "X-Mailman-Original-Authentication-Results": [
            "smtp3.osuosl.org;\n dmarc=none (p=none dis=none)\n header.from=blockos.org",
            "garm.ovh; auth=pass\n (GARM-106R006520f5289-9614-4cde-8a79-6af902991db0,\n 0D8B65AFD1E29AA9D52F941CF36BEFE6B8CD1347) smtp.auth=mooz@blockos.org"
        ],
        "Subject": "[Buildroot] [PATCH v2 1/1] package/python-sysv-ipc: new package",
        "X-BeenThere": "buildroot@buildroot.org",
        "X-Mailman-Version": "2.1.30",
        "Precedence": "list",
        "List-Id": "Discussion and development of buildroot <buildroot.buildroot.org>",
        "List-Unsubscribe": "<https://lists.buildroot.org/mailman/options/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.buildroot.org/pipermail/buildroot/>",
        "List-Post": "<mailto:buildroot@buildroot.org>",
        "List-Help": "<mailto:buildroot-request@buildroot.org?subject=help>",
        "List-Subscribe": "<https://lists.buildroot.org/mailman/listinfo/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=subscribe>",
        "Cc": "Vincent Jardin <vjardin@free.fr>,\n James Hilliard <james.hilliard1@gmail.com>,\n Thomas Petazzoni <thomas.petazzoni@bootlin.com>,\n Vincent Cruz <mooz@blockos.org>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "buildroot-bounces@buildroot.org",
        "Sender": "\"buildroot\" <buildroot-bounces@buildroot.org>"
    },
    "content": "From: Vincent Jardin <vjardin@free.fr>\n\npython-sysv-ipc provides Python bindings for System V IPC primitives\n(semaphores, shared memory and message queues).\n\nhttps://github.com/osvenskan/sysv_ipc\n\nSigned-off-by: Vincent Jardin <vjardin@free.fr>\nSigned-off-by: Vincent Cruz <mooz@blockos.org>\n\n---\nChanges v1 -> v2:\n  - Bump version to 1.2.0\n  - Add test\n\nTested with Buildroot gitlab CI:\n  https://gitlab.com/v_cz/buildroot/-/pipelines/2455626637\n\n---\n DEVELOPERS                                    |  2 +\n package/Config.in                             |  1 +\n package/python-sysv-ipc/Config.in             |  7 ++++\n package/python-sysv-ipc/python-sysv-ipc.hash  |  4 ++\n package/python-sysv-ipc/python-sysv-ipc.mk    | 16 ++++++++\n .../tests/package/sample_python_sysv_ipc.py   | 26 +++++++++++++\n .../tests/package/test_python_sysv_ipc.py     | 39 +++++++++++++++++++\n .../rootfs-overlay/root/ping.py               | 17 ++++++++\n .../rootfs-overlay/root/pong.py               | 17 ++++++++\n 9 files changed, 129 insertions(+)\n create mode 100644 package/python-sysv-ipc/Config.in\n create mode 100644 package/python-sysv-ipc/python-sysv-ipc.hash\n create mode 100644 package/python-sysv-ipc/python-sysv-ipc.mk\n create mode 100644 support/testing/tests/package/sample_python_sysv_ipc.py\n create mode 100644 support/testing/tests/package/test_python_sysv_ipc.py\n create mode 100644 support/testing/tests/package/test_python_sysv_ipc/rootfs-overlay/root/ping.py\n create mode 100644 support/testing/tests/package/test_python_sysv_ipc/rootfs-overlay/root/pong.py",
    "diff": "diff --git a/DEVELOPERS b/DEVELOPERS\nindex b20cf7d93c..fb4731168b 100644\n--- a/DEVELOPERS\n+++ b/DEVELOPERS\n@@ -3372,6 +3372,8 @@ F:\tpackage/dpdk/\n F:\tpackage/libecoli/\n F:\tpackage/libnss-ato/\n F:\tpackage/libyang-cpp/\n+F:\tpackage/python-sysv-ipc/\n+F:\tpackage/rpmsg-echo-test/\n F:\tpackage/sysrepo-cpp/\n \n N:\tVincent Prince <vincent.prince.fr@gmail.com>\ndiff --git a/package/Config.in b/package/Config.in\nindex d0f148699b..30c8a77bde 100644\n--- a/package/Config.in\n+++ b/package/Config.in\n@@ -1439,6 +1439,7 @@ menu \"External python modules\"\n \tsource \"package/python-starlette/Config.in\"\n \tsource \"package/python-sympy/Config.in\"\n \tsource \"package/python-systemd/Config.in\"\n+\tsource \"package/python-sysv-ipc/Config.in\"\n \tsource \"package/python-tabledata/Config.in\"\n \tsource \"package/python-tcolorpy/Config.in\"\n \tsource \"package/python-telnetlib3/Config.in\"\ndiff --git a/package/python-sysv-ipc/Config.in b/package/python-sysv-ipc/Config.in\nnew file mode 100644\nindex 0000000000..487935b680\n--- /dev/null\n+++ b/package/python-sysv-ipc/Config.in\n@@ -0,0 +1,7 @@\n+config BR2_PACKAGE_PYTHON_SYSV_IPC\n+\tbool \"python-sysv-ipc\"\n+\thelp\n+\t  System V IPC primitives (semaphores, shared memory and\n+\t  message queues) for Python.\n+\n+\t  https://github.com/osvenskan/sysv_ipc\ndiff --git a/package/python-sysv-ipc/python-sysv-ipc.hash b/package/python-sysv-ipc/python-sysv-ipc.hash\nnew file mode 100644\nindex 0000000000..ecdd154035\n--- /dev/null\n+++ b/package/python-sysv-ipc/python-sysv-ipc.hash\n@@ -0,0 +1,4 @@\n+# From https://pypi.org/pypi/sysv-ipc/1.2.0/json\n+sha256  ef96ab33bb62e4d14142f0be0524dcc0c3c70c96442df2fc773c67b7c7514199  sysv_ipc-1.2.0.tar.gz\n+# Locally computed\n+sha256  ca1c736814f4b73052ba877eaa9e09b40c7e22f1b5d025236246227cc1d87fdc  LICENSE\ndiff --git a/package/python-sysv-ipc/python-sysv-ipc.mk b/package/python-sysv-ipc/python-sysv-ipc.mk\nnew file mode 100644\nindex 0000000000..82efc21168\n--- /dev/null\n+++ b/package/python-sysv-ipc/python-sysv-ipc.mk\n@@ -0,0 +1,16 @@\n+################################################################################\n+#\n+# python-sysv-ipc\n+#\n+################################################################################\n+\n+PYTHON_SYSV_IPC_VERSION = 1.2.0\n+PYTHON_SYSV_IPC_SOURCE = sysv_ipc-$(PYTHON_SYSV_IPC_VERSION).tar.gz\n+PYTHON_SYSV_IPC_SITE = https://files.pythonhosted.org/packages/f2/5e/59208c6dd05ebc6f46ce2023c4fc01ffe814a1967d21b35d312c7e6ffeae\n+\n+PYTHON_SYSV_IPC_LICENSE = BSD-3-Clause\n+PYTHON_SYSV_IPC_LICENSE_FILES = PKG-INFO LICENSE\n+\n+PYTHON_SYSV_IPC_SETUP_TYPE = setuptools\n+\n+$(eval $(python-package))\ndiff --git a/support/testing/tests/package/sample_python_sysv_ipc.py b/support/testing/tests/package/sample_python_sysv_ipc.py\nnew file mode 100644\nindex 0000000000..1b5941329c\n--- /dev/null\n+++ b/support/testing/tests/package/sample_python_sysv_ipc.py\n@@ -0,0 +1,26 @@\n+import subprocess\n+import sys\n+import sysv_ipc\n+\n+key = [303, 808]\n+iterations = 6\n+\n+queue = [\n+    sysv_ipc.MessageQueue(key[0], sysv_ipc.IPC_CREX),\n+    sysv_ipc.MessageQueue(key[1], sysv_ipc.IPC_CREX)\n+]\n+\n+procs = [None] * 2\n+\n+procs[0] = subprocess.Popen([sys.executable, \"/root/ping.py\", str(key[0]), str(key[1]), str(iterations)])\n+procs[1] = subprocess.Popen([sys.executable, \"/root/pong.py\", str(key[1]), str(key[0]), str(iterations)])\n+\n+for p in procs:\n+    try:\n+        errs = p.wait(timeout=15)\n+    except subprocess.TimeoutExpired:\n+        p.kill()\n+        errs = p.wait()\n+\n+for q in queue:\n+    q.remove()\ndiff --git a/support/testing/tests/package/test_python_sysv_ipc.py b/support/testing/tests/package/test_python_sysv_ipc.py\nnew file mode 100644\nindex 0000000000..e6a697dfcf\n--- /dev/null\n+++ b/support/testing/tests/package/test_python_sysv_ipc.py\n@@ -0,0 +1,39 @@\n+import os\n+import infra\n+from tests.package.test_python import TestPythonPackageBase\n+\n+\n+class TestPythonSysVIPC(TestPythonPackageBase):\n+    rootfs_overlay = infra.filepath(\"tests/package/test_python_sysv_ipc/rootfs-overlay\")\n+\n+    __test__ = True\n+    config = TestPythonPackageBase.config + \\\n+        f\"\"\"\n+        BR2_PACKAGE_PYTHON3=y\n+        BR2_PACKAGE_PYTHON_SYSV_IPC=y\n+        BR2_ROOTFS_OVERLAY=\"{rootfs_overlay}\"\n+        \"\"\"\n+    sample_scripts = [\"tests/package/sample_python_sysv_ipc.py\"]\n+\n+    def test_run(self):\n+        self.login()\n+        self.check_sample_scripts_exist()\n+\n+        cmd = self.interpreter + \" \" + os.path.basename(self.sample_scripts[0])\n+        output, ret = self.emulator.run(cmd, timeout=self.timeout)\n+\n+        self.assertEqual(ret, 0)\n+        self.assertEqual(output, [\n+            'ping 0',\n+            'pong 0',\n+            'ping 1',\n+            'pong 1',\n+            'ping 2',\n+            'pong 2',\n+            'ping 3',\n+            'pong 3',\n+            'ping 4',\n+            'pong 4',\n+            'ping 5',\n+            'pong 5',\n+        ])\ndiff --git a/support/testing/tests/package/test_python_sysv_ipc/rootfs-overlay/root/ping.py b/support/testing/tests/package/test_python_sysv_ipc/rootfs-overlay/root/ping.py\nnew file mode 100644\nindex 0000000000..d5c1df3879\n--- /dev/null\n+++ b/support/testing/tests/package/test_python_sysv_ipc/rootfs-overlay/root/ping.py\n@@ -0,0 +1,17 @@\n+import argparse\n+import sysv_ipc\n+\n+parser = argparse.ArgumentParser()\n+parser.add_argument(\"input\", help=\"input message queue key\", type=int)\n+parser.add_argument(\"output\", help=\"output message queue key\", type=int)\n+parser.add_argument(\"count\", help=\"iterations count\", type=int)\n+args = parser.parse_args()\n+\n+incoming = sysv_ipc.MessageQueue(args.input)\n+outgoing = sysv_ipc.MessageQueue(args.output)\n+\n+for i in range(0, args.count):\n+    outgoing.send(f\"ping {i}\")\n+\n+    s, _ = incoming.receive()\n+    print(s.decode())\ndiff --git a/support/testing/tests/package/test_python_sysv_ipc/rootfs-overlay/root/pong.py b/support/testing/tests/package/test_python_sysv_ipc/rootfs-overlay/root/pong.py\nnew file mode 100644\nindex 0000000000..9fe672a6e4\n--- /dev/null\n+++ b/support/testing/tests/package/test_python_sysv_ipc/rootfs-overlay/root/pong.py\n@@ -0,0 +1,17 @@\n+import argparse\n+import sysv_ipc\n+\n+parser = argparse.ArgumentParser()\n+parser.add_argument(\"input\", help=\"input message queue key\", type=int)\n+parser.add_argument(\"output\", help=\"output message queue key\", type=int)\n+parser.add_argument(\"count\", help=\"iterations count\", type=int)\n+args = parser.parse_args()\n+\n+incoming = sysv_ipc.MessageQueue(args.input)\n+outgoing = sysv_ipc.MessageQueue(args.output)\n+\n+for i in range(0, args.count):\n+    s, _ = incoming.receive()\n+    print(s.decode())\n+    \n+    outgoing.send(f\"pong {i}\")\n",
    "prefixes": [
        "v2",
        "1/1"
    ]
}