Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2223787/?format=api
{ "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" ] }