From patchwork Thu Oct 23 09:46:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Schwan X-Patchwork-Id: 72887 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 559CDCCD193 for ; Thu, 23 Oct 2025 09:47:11 +0000 (UTC) Received: from AM0PR02CU008.outbound.protection.outlook.com (AM0PR02CU008.outbound.protection.outlook.com [52.101.72.87]) by mx.groups.io with SMTP id smtpd.web10.16334.1761212821540068279 for ; Thu, 23 Oct 2025 02:47:01 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@phytec.de header.s=selector2 header.b=b51UUpJ/; spf=pass (domain: phytec.de, ip: 52.101.72.87, mailfrom: m.schwan@phytec.de) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Q63Mp+b601zSWHb4z4rz00SLmI4PyXAElXPW0aVFZlKk/NyDUHjtcc8j2G+/rtmyIFRnYVY6VXG2QC5mE3dJlN/2GW1jBJf0GerGwyu0kh5niDgTWw5Lsh6+PQgFs5k5MKZHq8+JR8BdD9+BTZlKXPBWL6vxZIUybCC9/sGoyzr5gb1S7JCg+y9F4CyNbjimiGKG0H4q5sUExYbxaUm3+ybJV5y6QqTXe2DHX3e9tApR3k00fBzqVhn9YsWavFx7y65hH9vlBabzYySGvjwDE8gaQ2S73fN0A10GG9WwVVrKsL9g6nQ5gWjaYzu+TmL4ciBgiKrzRybM9V55+7RGNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=AYK1PKq9tz7jmNK+QZjyi+BzvnsA59j8JNQfaqTVRo8=; b=mZnp6u5UsIgp2xe/ExqK9P0fx8ocoCjUiftqHGd8XsYsw/rEhOaYU/ZlM4tu8dGS0yz/3FTjpDinXZbjEJ88yBaTlpOgU/qrAkjQX5JBjpGqEgw3wZoNbjDf3sPFGrZhVemwbtlSzoML1ca3AA1mg6B8PIOmFyvYrtsz2GMrTYWxaTsK1kjPlF44+mZkNB2r8XLQNQeWUJ+tkgCw6BAM3AvEFhDz96UyFmup+e7c5rwRCS7C+kVv5JlnQ4Wf9CPTsa3HgOzoute0vVvosOuDhOWULraTRVfWQxlESb0ylIhGVegSWGszYMdY2nXN11HEDvKfdmzsY/bdW5GvllmQpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 91.26.50.189) smtp.rcpttodomain=fujitsu.com smtp.mailfrom=phytec.de; dmarc=fail (p=quarantine sp=quarantine pct=100) action=quarantine header.from=phytec.de; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=phytec.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AYK1PKq9tz7jmNK+QZjyi+BzvnsA59j8JNQfaqTVRo8=; b=b51UUpJ/KajcY9Jbx1niFL/X1lIS8wClm5ndjh7grMvRjeCfzN0QJd/+0z3NSwVixB2E3m/m8JMf03/ee+fOsXHVBg5pro3xqUBf4InhsHSLrVIidMgUIgs//eNIwCVClhGuKF4FKWkq2cgaNoEjiqjnV/ShWagFDNECbqaeEqYA3hbFBSggDS4cbEui5Qv5Fa6vR25CVE0BLBIvAaLfSUC50uSC11Un0dn8fdcEWsuL25lS+0aMM45g56tMp4Coh18DDrAptXHDFptP5TW3I/pmm/HVSL3732ojgcrbJ3TmsVV6ypcztgE6+vPlgQhwwdW5SnRKrW78taxxFmscpw== Received: from DUZPR01CA0051.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::15) by DU0P195MB1449.EURP195.PROD.OUTLOOK.COM (2603:10a6:10:345::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Thu, 23 Oct 2025 09:46:55 +0000 Received: from DB1PEPF000509FA.eurprd03.prod.outlook.com (2603:10a6:10:469:cafe::66) by DUZPR01CA0051.outlook.office365.com (2603:10a6:10:469::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Thu, 23 Oct 2025 09:47:21 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 91.26.50.189) smtp.mailfrom=phytec.de; dkim=none (message not signed) header.d=none;dmarc=fail action=quarantine header.from=phytec.de; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning phytec.de discourages use of 91.26.50.189 as permitted sender) Received: from Postix.phytec.de (91.26.50.189) by DB1PEPF000509FA.mail.protection.outlook.com (10.167.242.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.7 via Frontend Transport; Thu, 23 Oct 2025 09:46:55 +0000 Received: from augenblix2.phytec.de (172.25.0.51) by Postix.phytec.de (172.25.0.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Thu, 23 Oct 2025 11:46:54 +0200 From: Martin Schwan Date: Thu, 23 Oct 2025 11:46:29 +0200 Subject: [PATCH 1/8] python3-mmh3: Add recipe MIME-Version: 1.0 Message-ID: <20251023-wip-thingsboard-gateway-master-v1-1-570de0ecafb2@phytec.de> References: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> In-Reply-To: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> To: CC: Wang Mingyu , Khem Raj , , Martin Schwan X-Mailer: b4 0.14.2 X-Originating-IP: [172.25.0.51] X-ClientProxiedBy: Postix.phytec.de (172.25.0.11) To Postix.phytec.de (172.25.0.11) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509FA:EE_|DU0P195MB1449:EE_ X-MS-Office365-Filtering-Correlation-Id: d481e45b-3141-4771-19a0-08de12191a5e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: =?utf-8?q?/oLi8PfIhETCe2rtja5xvjnfPrkaZzQ?= =?utf-8?q?/pnRJkVzbU7uOtjPMEQd3jn0ZxqQxUR4RopWMR1TzXcmsbq4e4BcgD2jcgERlU/42?= =?utf-8?q?l7a5rRld6tUX2fJLvv4enUywxwWe+DOr6bqNIAccR9F0nKDLJRkYQ6gqwgAeJ6xhX?= =?utf-8?q?NeI5SxGOMj4PLqSzN1I0A59B4LunTfZ6J+o9F3YY4mHf366T5eJ5Ob4KL3xeBSXrW?= =?utf-8?q?ci/uJMpD6JyEra/BiruBH0W50eQh+gUMtd6XJBFGFOSMsBsvfP/oO4wd2a66rxVyq?= =?utf-8?q?5gCpCwQZd1UWagHyNm0pVBNksEifjw262s9SeOyDs/IOgaFe891S49eDZI00luLel?= =?utf-8?q?b2DLpEXbE9m1pTQe9l+oE49kzZzP3Bws4T14AE+CZKCxCh+HAN4m4O6NOAHpYVAKV?= =?utf-8?q?dt0BsGI/dAhohVoduhwpqkEPyFUZINlvOa1J0SYEA6cjR0IouGsF2t+//r5GRxTkw?= =?utf-8?q?MCDZ7yFS53axImPDDzQGJODYhymbOV6MJCwOvrQLOPO4yAYqWofm/6cWv5iHYv59u?= =?utf-8?q?1doRY/H24R1qGT2kIfjBAGBAidiWJE8UXqHLmZvz6YP+uZkmJH31CFmtAT2PeYWIb?= =?utf-8?q?fE9kbwu8jdOtOUWLOQwxsgmwSPw5nsWXjEOpYN1lxUbtZUrIJr7F9ThVnjhp4+w6l?= =?utf-8?q?VZJUp7UziJccOr53KEHGP/TXMK7r/wSz0q2YsRXGUjhxVIJUAPi3bqFllnqJpq2zm?= =?utf-8?q?J/7JlvoOjTi7CXqtL9On07P151oAlaSZ6EKbR65gAFMbO+FFouU+wwy/rjy2qT1vr?= =?utf-8?q?0MJD0jYbicX5HQRdp56Z0pY7O53C6SNt3Ok3G7EXZA0hDxMoB23zHm8zlEmfVC6Lb?= =?utf-8?q?L/68xpcNgLY2U5KTOGHeAcFPB6ScNsAvIoAbvrku2m71dHMdHO7iP2VH+GUHV2mJ5?= =?utf-8?q?KmMMx28+25doqxeqCisyBp9bgiUD6Jj04iurHiOScrzBVJWRfeI1mkVW55k85Gd1W?= =?utf-8?q?5As8zmKzqoAgBhEqmqu0F5ET4Bbm9I5/8lYRVbBlMz/pn3VztnMHsOKFI3KHGM1DI?= =?utf-8?q?JhzTXkL28cnnTT93eVUkvzn8KLTyNOJUviWaj9109miN9Z9jpfeh7eqjgQKsXrr08?= =?utf-8?q?xdCSn2E0fzbvqz/qYyZaB3aWl/VG79XHUX8tWo9cy2Yov/kfzanuyDW4Z8v49TwbD?= =?utf-8?q?Ysby93CPHMZxCrvi0+TBYr8Zrolp9WDPQAfN53AVTOWAmHaXsCP4WeRV5CYpLx26Q?= =?utf-8?q?Rk1BoEggTtVs9aufMGLPw4HbBFEN5m6g4cpqD3tsafOCPabCRmjUlyh5Zb8AV5Fny?= =?utf-8?q?4ZdMxy86VCWNiqB0f7xOQn4SV405ipjgvA5dquzsgkuJTqH4hpkAOs/qKe5pqb9xC?= =?utf-8?q?Jz3Scnim/nadGPw8QYeHrDy2yHXebmqIPYirospfJw1LZLn10eZ1vPoN4hyssXsz2?= =?utf-8?q?WnaCk2SL0t89V2MQgnPSBXZXmyAKIyfBpKoLmtPvj/vA5I3NtJah/bEOIvPJBpmXl?= =?utf-8?q?l5iqwQW8xis9dHW3c3dBlS9xkqAWq4RzvB1JMIJ9ZC3MOg89Y5qww=3D?= X-Forefront-Antispam-Report: CIP:91.26.50.189;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:Postix.phytec.de;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1102; X-OriginatorOrg: phytec.de X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 09:46:55.8309 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d481e45b-3141-4771-19a0-08de12191a5e X-MS-Exchange-CrossTenant-Id: e609157c-80e2-446d-9be3-9c99c2399d29 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e609157c-80e2-446d-9be3-9c99c2399d29;Ip=[91.26.50.189];Helo=[Postix.phytec.de] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509FA.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0P195MB1449 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 23 Oct 2025 09:47:11 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/120924 Python extension for MurmurHash (MurmurHash3), a set of fast and robust hash functions. Signed-off-by: Martin Schwan --- meta-python/recipes-devtools/python/python3-mmh3_5.2.0.bb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-mmh3_5.2.0.bb b/meta-python/recipes-devtools/python/python3-mmh3_5.2.0.bb new file mode 100644 index 0000000000000000000000000000000000000000..c71976288591804ae282136d6cf7898ab4c4af5f --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-mmh3_5.2.0.bb @@ -0,0 +1,11 @@ +SUMMARY = "Python extension for MurmurHash (MurmurHash3), a set of fast and \ + robust hash functions" +HOMEPAGE = "https://github.com/hajimes/mmh3" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2edf2352bb2cd3d7787f05247781b314" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "1efc8fec8478e9243a78bb993422cf79f8ff85cb4cf6b79647480a31e0d950a8" + +BBCLASSEXTEND = "native nativesdk" From patchwork Thu Oct 23 09:46:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Schwan X-Patchwork-Id: 72891 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 670A4CCD1BF for ; Thu, 23 Oct 2025 09:47:11 +0000 (UTC) Received: from OSPPR02CU001.outbound.protection.outlook.com (OSPPR02CU001.outbound.protection.outlook.com [40.107.159.103]) by mx.groups.io with SMTP id smtpd.web11.16446.1761212823656798470 for ; Thu, 23 Oct 2025 02:47:04 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@phytec.de header.s=selector2 header.b=H2Y9bECN; spf=pass (domain: phytec.de, ip: 40.107.159.103, mailfrom: m.schwan@phytec.de) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mjwPX69YhingXFfjYvy214pIfEPqlub7ZAW2CYlhxdMySuL9F8/VzroQsxlJkFNABDr+NF4poH1qFr8gztRQHE4CEzciiZEOz/vHbVekA2Hp2qWV86Aj5vEOm8cxjfTKur29+bmMlUSGA25poj8UNCZI/hV3vENWBMYvTvvfCpz9O3KJkUcjMxRLAcy5mlyOEh4tGbHehZyEF/6DJu47Hmh/ByVqytjxxxKqdpXQ2T1SZfyHw0bU8K+j/anxTuXv6H9DfjcdJ8G82DtuHEPbZgYhWB4VRU8QZqmjN0Xzle9rLoSIWQWH3Yl8X2IGrX2kZQNBmJM2110sT3YE2Y7cUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=JqCQsm4Zc9AZDR4ObauI8aun6XUoK4MqRe97pHgWOqg=; b=rejl4o9pLD4qnJrgsNonvyYVM4Kxti4t/UDAebDSkULVU9CHhGvshcEbIa1zSZ9p1IUoQ8tgO9WCligI9hfshfxuIsUKcMVk+oPMffiOH8ZyAr3f0wTix+kLGsey+wLJB8XdO0BtixLT5C0LnU8OF6Pb8YSCrSQ0Gy0QE9euWKpCiA7BQDcYPnQMtLx3ZZGtK8USBr0F+cXiyizb2m1o0lgAjbBH3MVQzoam8EkpYEv+a8MhB2/8AiTmBAopqBgFOsiUREp9u0YSdWgbgHSYXAKr/yMRz4+zrbxMa29AipQs8WK2UE/qtppFP3aXcuX7F4MmJC0x69KyzgZqglDh/g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 91.26.50.189) smtp.rcpttodomain=fujitsu.com smtp.mailfrom=phytec.de; dmarc=fail (p=quarantine sp=quarantine pct=100) action=quarantine header.from=phytec.de; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=phytec.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JqCQsm4Zc9AZDR4ObauI8aun6XUoK4MqRe97pHgWOqg=; b=H2Y9bECNZp/l1otllIiWNt+tQ5fLdB27UyhWW3Hq0OWdedBcayEAgKTZmjzk56oz9IXJQhzz1Vt7Li7QvQXnbKTVRUWBNbPQuPic4IDbq4MmGJ2RBnZbI2Da0qvPSuAh6/tQC0r+WuQ9r7yqBcRib4piIboDuQrWQg9WcpNQWKkooxtxE3Ai9CMpU8CsiQIo8MDjPo797S1A+exVY7+fXcN+3OyNSM9iElhvrhcNHzVe5/t3QhJHkANoJL++hJ3GZfq6LoVo5NHiIH2ZfrILgMcUHgpg43Abm2CilWm++FkcYfX/b6Jzr0ZBVAtyZzIjG+Nedv94bSVD2u2eAc+WQw== Received: from DUZPR01CA0055.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::19) by GV1P195MB1809.EURP195.PROD.OUTLOOK.COM (2603:10a6:150:5c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct 2025 09:46:56 +0000 Received: from DB1PEPF000509FA.eurprd03.prod.outlook.com (2603:10a6:10:469:cafe::70) by DUZPR01CA0055.outlook.office365.com (2603:10a6:10:469::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Thu, 23 Oct 2025 09:48:10 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 91.26.50.189) smtp.mailfrom=phytec.de; dkim=none (message not signed) header.d=none;dmarc=fail action=quarantine header.from=phytec.de; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning phytec.de discourages use of 91.26.50.189 as permitted sender) Received: from Postix.phytec.de (91.26.50.189) by DB1PEPF000509FA.mail.protection.outlook.com (10.167.242.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.7 via Frontend Transport; Thu, 23 Oct 2025 09:46:56 +0000 Received: from augenblix2.phytec.de (172.25.0.51) by Postix.phytec.de (172.25.0.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Thu, 23 Oct 2025 11:46:54 +0200 From: Martin Schwan Date: Thu, 23 Oct 2025 11:46:30 +0200 Subject: [PATCH 2/8] python3-orjson: Add recipe MIME-Version: 1.0 Message-ID: <20251023-wip-thingsboard-gateway-master-v1-2-570de0ecafb2@phytec.de> References: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> In-Reply-To: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> To: CC: Wang Mingyu , Khem Raj , , Martin Schwan X-Mailer: b4 0.14.2 X-Originating-IP: [172.25.0.51] X-ClientProxiedBy: Postix.phytec.de (172.25.0.11) To Postix.phytec.de (172.25.0.11) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509FA:EE_|GV1P195MB1809:EE_ X-MS-Office365-Filtering-Correlation-Id: 250a5f07-f071-4835-10c0-08de12191a8d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|13003099007; X-Microsoft-Antispam-Message-Info: =?utf-8?q?BZwVcC78UhW2uWAx/7/8+BkN04EHNl0?= =?utf-8?q?HZYBHXOefva7m9/fds6YJxhIn0CvHs5Jj5RF7/K9Fe85N0ri8msvSvBCyw9hMDhZT?= =?utf-8?q?rzNPkP/oTLCVzlzHeTEBihAss8TZuKEgZaNUyMRrmyc0DdPk8XfJEb1KU90lyx0ob?= =?utf-8?q?RNP6x9ShhmRkfnHr8z61t9JI6chuHEC2A0q/4/yN70lTIiJJdFy7YwYYI4Wmrkr2W?= =?utf-8?q?tBH9mt+1iL7BWih1m/XoYgddpK6zUlwB3/DBu2d2jqKnAC5Gc/uU+MvjLvQkp5bEf?= =?utf-8?q?6H9ncOTFyJewyGg3NMe7SM4EgSwpAAR6XO07G0N2QMWpDyg4AT0huP7R6OTBCgi5M?= =?utf-8?q?ULlwWhYvAXXyATS/uc5CJaQg4zCgWuYkMBE/rxCmbiQvywSFH0rupKr8UtbWsNh4S?= =?utf-8?q?rM2oEfR1qcf0ywN+l/CEd1kRWvDzIsEDk/uMOYar930VHmLwHBCpzpiJvgOy1aQ3u?= =?utf-8?q?6WGBrDC7wiNcw3Q8c56Az1GwssIps9U3ktwUOhdfhNGJcTDgtl0a8zlY1SSYMhvrs?= =?utf-8?q?7ZmyYLoK2PvPqWfbHqBfRBWpqUAt9CLCW9Fpn+oOqNQdz4uLKxVpXloShpDOziLkB?= =?utf-8?q?DKRH7UsgIBSmCmhGMmN2UV3B0YFxTVCi6DBkC6HMvoPcOav37a1nBB9l/bEefKCeG?= =?utf-8?q?foy+03EVcAPp++lV3jI1QxRC5fmDRpjg++MiNP+CeMqDtspKoDy83ylCjzBvmXwmE?= =?utf-8?q?zEVonN7qzq9t3+x5ZXJmqx9/Q8MKYZNBFY9i1m7gz+bQbDA8TESKnoQY/HSKyAXU7?= =?utf-8?q?OV9zlU8oiI96SvVjOU5boZN6hL1v0HjbuRxeuPp6nxWKnpBGBCiTP8wE2rzOXJZ8R?= =?utf-8?q?bHWJyO348fOMUfWb74xcQI4ATHbNe/F3A4EoBx7+jN3WY1wa532HJy5JEcl8f9CmN?= =?utf-8?q?aSCp72PhWLxDjptVRTZJxWSY6J8elWBcMInxpoQfqupmQyQIEAwudh1wZfzQU+cX/?= =?utf-8?q?4zBxMBYcTqcZxN7ezQjaRHHkjLx8G03YoCg26ckch5FS+5heuIp8uYMGAar3AIcaj?= =?utf-8?q?OrmOOun3dsDUuyJ7DArXcWWXnSmlTx4HTkBt7/Y3AYqsUE7PM4UGDGWmys3wdK/Ib?= =?utf-8?q?nAGrbEXdP5rA3vXNbf2JsDkk+HSW+ZpgVWQ6s7iooV2Cfpa9jDsjOimVGoTgEiq04?= =?utf-8?q?Flup+6hvU066QIwO3I9RxDi2ujucoVGx6a3X3QJ2cEpN/2SF660+C4BjReNa06WkQ?= =?utf-8?q?TNmX3I3Drqc681VkcYOvlhieNWS/X3saDP9cqeYE7jiG6uIlnpmc0hyYZka+N9H+m?= =?utf-8?q?LCyDLjE2UmDO0Y6K5DbbifrYLLJWDHDAFH0y+GAxh7FLr0MGwVRLovzg9wzCEs9d5?= =?utf-8?q?b0nC1l7bO3YgxnuBeJecaJeMTjnhah8zkaSgltZaH9cC1560SgSKRd8uMUHtAw8Iz?= =?utf-8?q?3b4xQ4CUiqiANCfioRHT0MqSlL6wdEXDDdGKUcUfFcGbGckBuOowFs=3D?= X-Forefront-Antispam-Report: CIP:91.26.50.189;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:Postix.phytec.de;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(13003099007);DIR:OUT;SFP:1102; X-OriginatorOrg: phytec.de X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 09:46:56.1400 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 250a5f07-f071-4835-10c0-08de12191a8d X-MS-Exchange-CrossTenant-Id: e609157c-80e2-446d-9be3-9c99c2399d29 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e609157c-80e2-446d-9be3-9c99c2399d29;Ip=[91.26.50.189];Helo=[Postix.phytec.de] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509FA.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1P195MB1809 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 23 Oct 2025 09:47:11 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/120926 orjson is a fast, correct JSON library for Python. Signed-off-by: Martin Schwan --- .../python/python3-orjson-crates.inc | 84 ++++++++++++++++++++++ .../python/python3-orjson_3.10.17.bb | 20 ++++++ 2 files changed, 104 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-orjson-crates.inc b/meta-python/recipes-devtools/python/python3-orjson-crates.inc new file mode 100644 index 0000000000000000000000000000000000000000..76ed174329d099f3ace53cdefdb8a4f791017c85 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-orjson-crates.inc @@ -0,0 +1,84 @@ +# Autogenerated with 'bitbake -c update_crates python3-orjson' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/associative-cache/2.0.0 \ + crate://crates.io/bytecount/0.6.8 \ + crate://crates.io/castaway/0.2.3 \ + crate://crates.io/cc/1.2.20 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/compact_str/0.9.0 \ + crate://crates.io/crunchy/0.2.3 \ + crate://crates.io/encoding_rs/0.8.35 \ + crate://crates.io/gimli/0.31.1 \ + crate://crates.io/half/2.6.0 \ + crate://crates.io/itoa/1.0.15 \ + crate://crates.io/itoap/1.0.1 \ + crate://crates.io/jiff/0.2.10 \ + crate://crates.io/jiff-static/0.2.10 \ + crate://crates.io/libc/0.2.172 \ + crate://crates.io/memchr/2.7.4 \ + crate://crates.io/once_cell/1.21.3 \ + crate://crates.io/portable-atomic/1.11.0 \ + crate://crates.io/portable-atomic-util/0.2.4 \ + crate://crates.io/proc-macro2/1.0.95 \ + crate://crates.io/pyo3-build-config/0.23.3 \ + crate://crates.io/pyo3-ffi/0.23.3 \ + crate://crates.io/quote/1.0.40 \ + crate://crates.io/rustversion/1.0.20 \ + crate://crates.io/ryu/1.0.20 \ + crate://crates.io/serde/1.0.219 \ + crate://crates.io/serde_derive/1.0.219 \ + crate://crates.io/serde_json/1.0.140 \ + crate://crates.io/shlex/1.3.0 \ + crate://crates.io/simdutf8/0.1.5 \ + crate://crates.io/smallvec/1.15.0 \ + crate://crates.io/static_assertions/1.1.0 \ + crate://crates.io/syn/2.0.101 \ + crate://crates.io/target-lexicon/0.13.2 \ + crate://crates.io/unicode-ident/1.0.18 \ + crate://crates.io/unwinding/0.2.5 \ + crate://crates.io/uuid/1.16.0 \ + crate://crates.io/version_check/0.9.5 \ + crate://crates.io/xxhash-rust/0.8.15 \ +" + +SRC_URI[associative-cache-2.0.0.sha256sum] = "b993cd767a2bc7307dd87622311ca22c44329cc7a21366206bfa0896827b2bad" +SRC_URI[bytecount-0.6.8.sha256sum] = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" +SRC_URI[castaway-0.2.3.sha256sum] = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" +SRC_URI[cc-1.2.20.sha256sum] = "04da6a0d40b948dfc4fa8f5bbf402b0fc1a64a28dbf7d12ffd683550f2c1b63a" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[compact_str-0.9.0.sha256sum] = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a" +SRC_URI[crunchy-0.2.3.sha256sum] = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +SRC_URI[encoding_rs-0.8.35.sha256sum] = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +SRC_URI[gimli-0.31.1.sha256sum] = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +SRC_URI[half-2.6.0.sha256sum] = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +SRC_URI[itoa-1.0.15.sha256sum] = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +SRC_URI[itoap-1.0.1.sha256sum] = "9028f49264629065d057f340a86acb84867925865f73bbf8d47b4d149a7e88b8" +SRC_URI[jiff-0.2.10.sha256sum] = "5a064218214dc6a10fbae5ec5fa888d80c45d611aba169222fc272072bf7aef6" +SRC_URI[jiff-static-0.2.10.sha256sum] = "199b7932d97e325aff3a7030e141eafe7f2c6268e1d1b24859b753a627f45254" +SRC_URI[libc-0.2.172.sha256sum] = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +SRC_URI[memchr-2.7.4.sha256sum] = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +SRC_URI[portable-atomic-1.11.0.sha256sum] = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +SRC_URI[portable-atomic-util-0.2.4.sha256sum] = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +SRC_URI[proc-macro2-1.0.95.sha256sum] = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +SRC_URI[pyo3-build-config-0.23.3.sha256sum] = "dc0e0469a84f208e20044b98965e1561028180219e35352a2afaf2b942beff3b" +SRC_URI[pyo3-ffi-0.23.3.sha256sum] = "eb1547a7f9966f6f1a0f0227564a9945fe36b90da5a93b3933fc3dc03fae372d" +SRC_URI[quote-1.0.40.sha256sum] = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +SRC_URI[rustversion-1.0.20.sha256sum] = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" +SRC_URI[ryu-1.0.20.sha256sum] = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +SRC_URI[serde-1.0.219.sha256sum] = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +SRC_URI[serde_derive-1.0.219.sha256sum] = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +SRC_URI[serde_json-1.0.140.sha256sum] = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +SRC_URI[simdutf8-0.1.5.sha256sum] = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" +SRC_URI[smallvec-1.15.0.sha256sum] = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +SRC_URI[syn-2.0.101.sha256sum] = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +SRC_URI[target-lexicon-0.13.2.sha256sum] = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a" +SRC_URI[unicode-ident-1.0.18.sha256sum] = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +SRC_URI[unwinding-0.2.5.sha256sum] = "51f06a05848f650946acef3bf525fe96612226b61f74ae23ffa4e98bfbb8ab3c" +SRC_URI[uuid-1.16.0.sha256sum] = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" +SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +SRC_URI[xxhash-rust-0.8.15.sha256sum] = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" diff --git a/meta-python/recipes-devtools/python/python3-orjson_3.10.17.bb b/meta-python/recipes-devtools/python/python3-orjson_3.10.17.bb new file mode 100644 index 0000000000000000000000000000000000000000..7db76c94151d097b8a47f9a6aaddd0974a9cb9fd --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-orjson_3.10.17.bb @@ -0,0 +1,20 @@ +SUMMARY = "orjson is a fast, correct JSON library for Python" +HOMEPAGE = "https://pypi.org/project/orjson/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d" + +SRC_URI[sha256sum] = "28eeae6a15243966962b658dfcf7bae9e7bb1f3260dfcf0370dbd41f5ff6058b" + +require ${BPN}-crates.inc + +inherit pypi python_maturin cargo-update-recipe-crates + +DEPENDS = "python3-maturin-native" + +RDEPENDS:${PN} += "python3-maturin python3-mypy" + +do_compile:prepend() { + sed -i "/panic = \"abort\"/d" ${S}/Cargo.toml +} + +BBCLASSEXTEND = "native nativesdk" From patchwork Thu Oct 23 09:46:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Schwan X-Patchwork-Id: 72893 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 881A7CCF9E6 for ; Thu, 23 Oct 2025 09:47:11 +0000 (UTC) Received: from DUZPR83CU001.outbound.protection.outlook.com (DUZPR83CU001.outbound.protection.outlook.com [52.101.66.113]) by mx.groups.io with SMTP id smtpd.web11.16436.1761212821021939442 for ; Thu, 23 Oct 2025 02:47:01 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@phytec.de header.s=selector2 header.b=S9CMfDkL; spf=pass (domain: phytec.de, ip: 52.101.66.113, mailfrom: m.schwan@phytec.de) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D22H16WU0pkrqrXxb5rCZdMsHeMdEqT2cWb7xsCEYA/Vuwy7UvW1xKafI2mNrRUdsO/eWM6eCYRQP4jaAeFuOf8ykV9KMqM8Wjup/vS6fVW5cwtYB56CKJs0i9Thm6wwl/B/i10i6hi6U3w29Wzh14NAXRzv6BhapYLMDTFgNpd8mjed42G+N0fIDD/ZxO06HeyVU0hj0HWsiYgbYyW9DbGlASyGuOPufsdIcJRmfulPuY+Monri24ZfA1qk9cNWFjD4mxlDnM371mnr22qWIpN2XYidJFdT0COHJETBKp6An3bdUj+KipHMnL8pDuw/hrr3BTzf2/Nctd3MB5jgsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=jmL7rpefQ7ZME6aMML/cVmMlhX7G9fVHuNeiC7TrR+E=; b=w2CDHDkPztWsmU98Un3P/bxG29D1K8ROk1FSfrB/yWIqlwfq5NSejXefnpu2iKScsxPhLTFg1FNlVnqyOWy+M63LfJCjgPZgov8feCXP3gOKHJ98yIj/y4vFEMjBSxxgJBFJ6EFEI/ZEnwXNHlMS0PLYYJh4CFBJuoS9+j5I8wKISZlYo76FGYamUoHbz26Uog6ejiu/H2njIe0f0MoDAK/3bH+CtFsrNmKFdGdil3oeYSfKWgeXmJXq3paeE9pciMoqPCale8WyUTrLNzmSdccJK73JSYn+j/o0k+oEKPbu48QlWWJ7ohF/PhY6+QYs24EZncjJGnDMbAmFzr0FhQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 91.26.50.189) smtp.rcpttodomain=fujitsu.com smtp.mailfrom=phytec.de; dmarc=fail (p=quarantine sp=quarantine pct=100) action=quarantine header.from=phytec.de; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=phytec.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jmL7rpefQ7ZME6aMML/cVmMlhX7G9fVHuNeiC7TrR+E=; b=S9CMfDkLIEOo8nEx69hVs6OvEq5yWl+BkKLBGGPeM88Jx2GpSBjWcCqoI11mtntCUCIlNSGUnXOnNSqAiTRm3pwvRMgC7+vEfXMNkQGXUfmJorfMcFKOjCP1F+l4jM2McmDiClU3n5JMq9R0mTciT8uLLERyWivoXAE2SfK4WbYwbXcLz1S70AKkMwVccVg6BWnE1KDfU33hvE0MvGA4RXYCr8Njbd2Lx6b9jvSMtJvKKGOA7mfLXjnGYQFunDdGHMHLBA+WFBu+ZR+q7gkxZNKtrKU64pVI5bYs+clNQfAZo965o1d/Ti6SjQ0HO24Uc3SK/riIHx3HN5jiV8q+rQ== Received: from DUZPR01CA0056.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::7) by AS1P195MB1594.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:4ae::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct 2025 09:46:56 +0000 Received: from DB1PEPF000509FA.eurprd03.prod.outlook.com (2603:10a6:10:469:cafe::f5) by DUZPR01CA0056.outlook.office365.com (2603:10a6:10:469::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Thu, 23 Oct 2025 09:47:22 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 91.26.50.189) smtp.mailfrom=phytec.de; dkim=none (message not signed) header.d=none;dmarc=fail action=quarantine header.from=phytec.de; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning phytec.de discourages use of 91.26.50.189 as permitted sender) Received: from Postix.phytec.de (91.26.50.189) by DB1PEPF000509FA.mail.protection.outlook.com (10.167.242.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.7 via Frontend Transport; Thu, 23 Oct 2025 09:46:56 +0000 Received: from augenblix2.phytec.de (172.25.0.51) by Postix.phytec.de (172.25.0.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Thu, 23 Oct 2025 11:46:55 +0200 From: Martin Schwan Date: Thu, 23 Oct 2025 11:46:31 +0200 Subject: [PATCH 3/8] python3-pybase64: Add recipe MIME-Version: 1.0 Message-ID: <20251023-wip-thingsboard-gateway-master-v1-3-570de0ecafb2@phytec.de> References: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> In-Reply-To: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> To: CC: Wang Mingyu , Khem Raj , , Martin Schwan X-Mailer: b4 0.14.2 X-Originating-IP: [172.25.0.51] X-ClientProxiedBy: Postix.phytec.de (172.25.0.11) To Postix.phytec.de (172.25.0.11) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509FA:EE_|AS1P195MB1594:EE_ X-MS-Office365-Filtering-Correlation-Id: 0bdf10dc-51a9-4c00-79a5-08de12191ad4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013|13003099007; X-Microsoft-Antispam-Message-Info: =?utf-8?q?pT8eHgukBZlf1gJGpiAu0WQ64Kx7zGP?= =?utf-8?q?/M2svt2QLPyNASfjyu7HS/MFeCoerqXtOG4UYn++kDVEjttxuWZTtkgyqr6Py+WJ/?= =?utf-8?q?qY5MuEW+9z//jCluCog2aTzpL59+ziOlZ0iOSTQL7DYf9/MF9Sym0SZyZuNzvquhJ?= =?utf-8?q?U4gf/Kqx9rjrWvI9uzmvsEGRn7tUPU1ir7VCnfPhrt6vtg2f3+ICsqLoA7E3Sozen?= =?utf-8?q?MORnRnG0nzYyKwsyQVqvE2xY68ff9k8hANYgQEFmcqLO+jSThzA7hQjTkIOCqbyPd?= =?utf-8?q?6z4B9pUCsYAiUiLcmhZGBQImW35HzHGISsQ0TlqU0Y+00baSn/HYGGm3w93bBsQaI?= =?utf-8?q?+oKbK2mGp2RveYI42pQBEZxKh1xt8fAUWaPj/uCwTmBIzqCzyFZT/VJRJjImFQKj/?= =?utf-8?q?OHkgXePv3/AzYj82ySF1QqTWxrIYzk7c4Q29tJWaCNUg5K/j6WUVCpVjTz1TGyEi2?= =?utf-8?q?kgYhJ9RdJngRqNrLz+ttegd83JN+irKO83Wgn8jWvBMn/i/fTWUqq1cZrsFykutKC?= =?utf-8?q?cLXDUAEgL0E2iqspspKndU0q9h4FiV03Q4DTQkfsK1NylCm/lZMZXrArwH0+P7xl2?= =?utf-8?q?GWZmKeePJWab5E/VdO72hwVFJ5ElK79lzxh0YmsY8+bjdRr6sDnsvDFHpLYLJ6oOc?= =?utf-8?q?RtH+Q/TOU5B40DyuhsEKqH7mg5Yilyp9hZGgmyFyACWQ3V/AvOAKXPMpjK7kf3d+b?= =?utf-8?q?ILkMSH1M9o1T3xlOGgDKKt0kD/LTyHJPJr+4jPYvntsxoMVcBdpQzbH3W91mPIz2T?= =?utf-8?q?0OUuCzQeEwS7WrFITh/ypSX7IVXWGFxwgRpiYeB8p+Jy0cePq26ykOxxEUHFHvaE6?= =?utf-8?q?7ftLyvONUudqfqDgVkikYoDAczkcB1/dLUPssXF4QV4FZTX+OKjEUJmrGN2FK7Mp/?= =?utf-8?q?jrs2sp7z3LR8o1rkPgD0l4tCMq/RZG45RKk3niFqYbsAADikThc8s1apF53Oo7ytq?= =?utf-8?q?t4yGW/uv2ErS9T1Axcg0CSar84eUZDo1hunu8+MsKGh6fU4YAa9LpEi0PW6ZtidTq?= =?utf-8?q?tO2VmxrREoIOUlyRPKrQWn5ZCs5essZUdbmxhXHQGepuR5GN38dagmepgHIg/Zk9r?= =?utf-8?q?ao75SfpCdTIivUQDaB2ejVISqFgkY+XeabnUKbZ6Sd5OMHpe23VjpyHg545Intj5z?= =?utf-8?q?bjI4/BRgjCIgNwAsEPizb+5IHPORlPvb4EMAreXAdGhFR1Vq4F6vI6yNm5JAuB++q?= =?utf-8?q?rIgowXJchOPq2X3VsYnRQoc4UVYCipHr5MJu5+aST+7wS8sQJxoXHlk5EsYqav83B?= =?utf-8?q?KUXEwHP6RJ/qMBxwiy0FsyuWMx+w0rBxKjhLFm68wj7TV4iw2WsOJe7hzbOawiJ7T?= =?utf-8?q?SMfZ1KyuFhpbkhngBHuibiXQzMro3MJJ3m9FW/sqhwKEPxsWeNHdPdIscEByJWA+m?= =?utf-8?q?VBD3UjFestTBtaT9RKh5VnKILa3y/olNndUBGlRKoDGRgnvESX1izulk+jc8eUwmd?= =?utf-8?q?Tbtxg3deR0USPa3wW5k1WSsZNpV+Lb7s5HgM/iH1WCw8UhfXN45p4=3D?= X-Forefront-Antispam-Report: CIP:91.26.50.189;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:Postix.phytec.de;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013)(13003099007);DIR:OUT;SFP:1102; X-OriginatorOrg: phytec.de X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 09:46:56.6084 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0bdf10dc-51a9-4c00-79a5-08de12191ad4 X-MS-Exchange-CrossTenant-Id: e609157c-80e2-446d-9be3-9c99c2399d29 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e609157c-80e2-446d-9be3-9c99c2399d29;Ip=[91.26.50.189];Helo=[Postix.phytec.de] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509FA.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1P195MB1594 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 23 Oct 2025 09:47:11 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/120921 Fast Base64 encoding/decoding in Python. Signed-off-by: Martin Schwan --- meta-python/recipes-devtools/python/python3-pybase64_1.4.2.bb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-pybase64_1.4.2.bb b/meta-python/recipes-devtools/python/python3-pybase64_1.4.2.bb new file mode 100644 index 0000000000000000000000000000000000000000..a551034168fe525dafd33d822463137d38060d97 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pybase64_1.4.2.bb @@ -0,0 +1,10 @@ +SUMMARY = "Fast Base64 encoding/decoding in Python" +HOMEPAGE = "https://github.com/mayeut/pybase64" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=84b11fa55a5d83cf6fa202fd3b49c7e8" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "46cdefd283ed9643315d952fe44de80dc9b9a811ce6e3ec97fd1827af97692d0" + +BBCLASSEXTEND = "native nativesdk" From patchwork Thu Oct 23 09:46:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Schwan X-Patchwork-Id: 72892 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 79709CCF9E5 for ; Thu, 23 Oct 2025 09:47:11 +0000 (UTC) Received: from PA4PR04CU001.outbound.protection.outlook.com (PA4PR04CU001.outbound.protection.outlook.com [40.107.162.97]) by mx.groups.io with SMTP id smtpd.web11.16435.1761212820808700986 for ; Thu, 23 Oct 2025 02:47:01 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@phytec.de header.s=selector2 header.b=m8AD+xES; spf=pass (domain: phytec.de, ip: 40.107.162.97, mailfrom: m.schwan@phytec.de) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Euu5mWp/73RnhX0ZHKqQ0A0opcQeiMCY3f8lXc9ywXKxoCr/7DdS+nm1lnpOi3ku++CI2yaQRZrLZRaizAjWTFFWSWRwJIvvbDCO4Y6KLpmGSmyPL3uZraWXrb4sWUf61wHK3UTlywrGrkWz65WYnE5P879hGPYcsJaAVv0Y/JBSZNQOYeTYwkZqncQ+u2eYlFHid5xWj9zaEPDN6JhFhoCpMLuqFGiQ3V+cwkrdurQHxIGi7HTbVYCyT8zV0Tj+35u7+aAeyyWAV5pvSnUla19qOc+4syuqy9bzutwjRX0lIikgvnigFoOQJaf97MoyezN1koASapBkq/SJo1bC6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=VBnzpyKww+TeuKILOSkTjymhSJYqf+mkDW1AQpgnQiw=; b=BIwwvmTIV7cVLE6hiwrmQ3DoJ6M67LVPRqyFbyUO72GlgYz3EK4WSNrP6IFGYcfEf8AjmRpt/pvWYWJ/sYgr+UtT9zB/DPiHwwN+NLGsJuQy+isgLv8d8k7EdiJYLo5OCIBLRZ+4y1vMIm6Jh82QrmLkEYxpl6+OOW3Ysfu/0L1llAnC7+674IeFVYN8v+PTsU16oNitP9uDXjf01BydKUIymQGk8Fms1ACwQO8NVRvFG06fehBzJ7dwCAF4VV0xlLQmIC5bbPaRc7PWNcCVyoH3j/ZXen2rthyVjgSyX5ZY0+6N/WxrXHorMTFxTwtC1hOFNJp+jrIMA14eUtuF7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 91.26.50.189) smtp.rcpttodomain=fujitsu.com smtp.mailfrom=phytec.de; dmarc=fail (p=quarantine sp=quarantine pct=100) action=quarantine header.from=phytec.de; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=phytec.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VBnzpyKww+TeuKILOSkTjymhSJYqf+mkDW1AQpgnQiw=; b=m8AD+xESpXacbGG+RbCLQPb5miqvLT7whQnJB77mdC3muMUyXOY38dVZ3kmiROZ8mYusl1jYsuvzHsNw7WgFveeBGMZgUrgl5L2iZI1U6glhcg0rp6XtUis7tWd+ftomFNrQfOttTI/CG4u9kiRlVKA+3yBtPlNPHMIfvBwdpczzrOFe1/nguqfD2wM5yOfOf+ZLnMCUEYgMlK4+gX3rfFT13jm1D5PGcVeTH0TJcHAyOGNahDVaCjf8Uzdr9ngkcqNydYjLkBbRc/s1mV8HQYlhcsZU5eKgyP8xtIoBMBu1oYQPtgm+5yUKmDR4zVCO8jf3hvIBVYx/299b69dBOg== Received: from DUZPR01CA0060.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::18) by AM4P195MB3039.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:6e2::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Thu, 23 Oct 2025 09:46:57 +0000 Received: from DB1PEPF000509FA.eurprd03.prod.outlook.com (2603:10a6:10:469:cafe::6) by DUZPR01CA0060.outlook.office365.com (2603:10a6:10:469::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Thu, 23 Oct 2025 09:47:24 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 91.26.50.189) smtp.mailfrom=phytec.de; dkim=none (message not signed) header.d=none;dmarc=fail action=quarantine header.from=phytec.de; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning phytec.de discourages use of 91.26.50.189 as permitted sender) Received: from Postix.phytec.de (91.26.50.189) by DB1PEPF000509FA.mail.protection.outlook.com (10.167.242.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.7 via Frontend Transport; Thu, 23 Oct 2025 09:46:57 +0000 Received: from augenblix2.phytec.de (172.25.0.51) by Postix.phytec.de (172.25.0.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Thu, 23 Oct 2025 11:46:55 +0200 From: Martin Schwan Date: Thu, 23 Oct 2025 11:46:32 +0200 Subject: [PATCH 4/8] python3-pyfiglet: Add recipe MIME-Version: 1.0 Message-ID: <20251023-wip-thingsboard-gateway-master-v1-4-570de0ecafb2@phytec.de> References: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> In-Reply-To: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> To: CC: Wang Mingyu , Khem Raj , , Martin Schwan X-Mailer: b4 0.14.2 X-Originating-IP: [172.25.0.51] X-ClientProxiedBy: Postix.phytec.de (172.25.0.11) To Postix.phytec.de (172.25.0.11) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509FA:EE_|AM4P195MB3039:EE_ X-MS-Office365-Filtering-Correlation-Id: 467ba21e-496f-44e4-c64b-08de12191b15 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014|13003099007; X-Microsoft-Antispam-Message-Info: =?utf-8?q?aeHzkIitbAVOXF7Cn/rHMEChWbyRrbu?= =?utf-8?q?e4PcBWTSi98evRQS8/Mthf3dm9RlJc8XmgGZyMCmKKWtsX1ihWI6gtUwjrsRyy8ft?= =?utf-8?q?a5WssRHPYmHT0u81FjXrMg7WpyhZn7zS/yfvOaBaQDw8Yvgzxffvyav0GN+1KtCbT?= =?utf-8?q?9hNQr7SuUsWX2b5OgptlpkRqiTuxP05EdFbFimB2wHQQUYBSyiLrMNNeDquqB7Mpy?= =?utf-8?q?4ZYA9Ceg3Zw0AyqwzODOoaeree2QajQL8Y0WTeLfFbb3peMS87sJ2LUsBEFW6j0fQ?= =?utf-8?q?nwqgL9214K9kNnVkVBXU6z0fv8ne8zbSIPYcwZBtImiq6EhkaX0MDZDqR5q7e8GQY?= =?utf-8?q?BX7jvY5wlaRAsYcqWhdsGV6ZseB1460+fcmMQHHOu2W5iBIGVkt2QMvMXFOPxNVQZ?= =?utf-8?q?tB5jKAcorDC/4VeMKguT1UjNexABY0QDfPmPvUjHFuksh/0oq7Vgytqdd/9fzToxS?= =?utf-8?q?5OO8ehupnglQ6cnR4ruu248RcroxsTp5jv1a7wSCb7fuef6cRz8FxEp6MfvTBoWEc?= =?utf-8?q?5DhYSUANYjWhPsX0T/4qBEfvCZf+E49GZXyBUfejaOfU+serjAdmSeukBoeCCV5Rl?= =?utf-8?q?3S0SLDguI/o6IWG1cEIS7jnHwzPr7mF4hKCc3OK8kFrYQ7RTvigZydSc8+Tm9snGR?= =?utf-8?q?WsgQlYcjAVDWwnJjxT79waXSwHWB2oY2ofMDQFH3cpdehDfS0eOyXZhSawNZqWlfX?= =?utf-8?q?wt5q8hHtwE0ZkcpU8Vlc/ZDim4SaoD9gBzloRASvZlFqQi9lQROGavrqEOqgOmtyT?= =?utf-8?q?ZDOlE754V+SCKLfs36RYZwAoudGcvYLqL50QEvppHrXAQJsZMFEYda/WsjdPGN/36?= =?utf-8?q?jOLhpa9Q61/KDQI0w4VgnVR0mQY2dHFy1lGhRdNC8KRLi61jZ/AJcACed8D2Z7yaf?= =?utf-8?q?97Y5vv7zq4wA+KXacmu3hHm+H2VwOx0JGA5qyHbb2+XT4FZQ3qBEB5lD2enUWKRXp?= =?utf-8?q?HJ7WdNlWkQ2WbcWMVgsv7RN6JX19rwC4VlJiPVmEF9ErP6usblo2GS/BMhhQDSPZf?= =?utf-8?q?2RvVGQfbN+hmhqxh5gA5ZSRZ6l73QEl7p7dMRqqTSuFb+vjP0gSW7p+LUsJP1ArZ4?= =?utf-8?q?0xUho4676OoL+e6N28omhbChaRQ7ZbI5GeRdVxNT3sGNizjUmZWNcXHV4G9iAZWDX?= =?utf-8?q?A9waNccPawtTkXM+PM4wxpCYoAGM42Sgh14GJDzbzCMPFuxbGK/Fzi9PJesi+mq5j?= =?utf-8?q?hkwWFkWlIdH5O7eFdppvmwecqzX70LtCL8Gr2O8CbglH+2wbuNTHspKg8OuMdRjFx?= =?utf-8?q?qgHbnAnvuKthL+wOJHEFJ1p622fnGVmsgF2AFmkAzh0X3BRt2SwUGWXaVVwDYpUXW?= =?utf-8?q?WVn8wgXBNis6BE0I6ap1GNduTOlnwRjw94PofVSCLEjhPbT/v+Bl4iWJ7HeYNTTnc?= =?utf-8?q?aeihi9ex0AkrHjrlMIyaSFr8kr4ObVZ/SC2e0IYtKrxrrJKoQRhBMNpZrqSMOaoOc?= =?utf-8?q?9dLwDdJObVwd4w9TNZvRy1PPDuyGCtdBAnvfb4TgYz4hObRmhiKrA=3D?= X-Forefront-Antispam-Report: CIP:91.26.50.189;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:Postix.phytec.de;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014)(13003099007);DIR:OUT;SFP:1102; X-OriginatorOrg: phytec.de X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 09:46:57.0365 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 467ba21e-496f-44e4-c64b-08de12191b15 X-MS-Exchange-CrossTenant-Id: e609157c-80e2-446d-9be3-9c99c2399d29 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e609157c-80e2-446d-9be3-9c99c2399d29;Ip=[91.26.50.189];Helo=[Postix.phytec.de] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509FA.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4P195MB3039 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 23 Oct 2025 09:47:11 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/120920 An implementation of figlet written in Python. Signed-off-by: Martin Schwan --- meta-python/recipes-devtools/python/python3-pyfiglet_1.0.4.bb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-pyfiglet_1.0.4.bb b/meta-python/recipes-devtools/python/python3-pyfiglet_1.0.4.bb new file mode 100644 index 0000000000000000000000000000000000000000..948bac56dfd2d4debf30bff200a6f0a52869a818 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pyfiglet_1.0.4.bb @@ -0,0 +1,10 @@ +SUMMARY = "An implementation of figlet written in Python" +HOMEPAGE = "https://github.com/pwaller/pyfiglet" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f37a72c457e560fc4853ae67f3f9cc0e" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "db9c9940ed1bf3048deff534ed52ff2dafbbc2cd7610b17bb5eca1df6d4278ef" + +BBCLASSEXTEND = "native nativesdk" From patchwork Thu Oct 23 09:46:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Schwan X-Patchwork-Id: 72889 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 67539CCF9E4 for ; Thu, 23 Oct 2025 09:47:11 +0000 (UTC) Received: from AM0PR83CU005.outbound.protection.outlook.com (AM0PR83CU005.outbound.protection.outlook.com [52.101.69.90]) by mx.groups.io with SMTP id smtpd.web11.16444.1761212822370778109 for ; Thu, 23 Oct 2025 02:47:02 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@phytec.de header.s=selector2 header.b=TOaSZ226; spf=pass (domain: phytec.de, ip: 52.101.69.90, mailfrom: m.schwan@phytec.de) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=x8X7fhq8cjXgsY8mcSW58y8y3ne5M33UMrSbL24B2pO5DAHjOttASlE1dvAM2NulzPf7ifabXbHULtT1rXV0sdQuwP4Yx5dfAjgSzau+y0sex/WA4nwrpYRkmjKehsgYxEcH6ixz1MRfFiN5xxoWT8KAJZZxCZnj563O75xAHbpgqi5bQJTBdgN6WS/8Lll0uswKCVKYNyCy3gGVuDgMzM8sBEzuRz4QGCWg98XsZ8cCHkp3dwCZCkrGnXcPHrYqeHy7SeA+4jI8sGvgStZSfnU+diNdBCIzJqOn5BNb6LA6chewFlwiSNuKlcCRxOK+Sikd9T2CngpzDR8rPAHehg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=DgNXT01JmJDLlj3RChIwMzFTrTquNUJqNGtQdt/mt40=; b=nbTi/GmcBjKTP5FIkmD768Rfpk93VR+pENCVNOIualsNkMqIXKSwhSGYBdJk5mmtvtnGAx7HYsVWAlpSAn18XPShiM5GHYC0bRb27lMTDSvNHtJ4/qL4YGkl7y00Ai0S+MI8diM2Di0EyV15Wgm7rIdXXLeSR35wlA3PNUvULbp8mx39YcPdZqd1tzU3TgQRJrj3dyLNLhOT0sc2hpQvnZ2eViu5ZVD7MPGpkIUFz9DqrOn4VXAFENzpfXev+LuHR3TdF9K2vpShR0YzfeevdDB/EVTTzM/eI9cxJK+cxZg5zOmELEyLwzqLDua/ey2zTY/8pIC3Pw2RpJS3RecEkg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 91.26.50.189) smtp.rcpttodomain=fujitsu.com smtp.mailfrom=phytec.de; dmarc=fail (p=quarantine sp=quarantine pct=100) action=quarantine header.from=phytec.de; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=phytec.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DgNXT01JmJDLlj3RChIwMzFTrTquNUJqNGtQdt/mt40=; b=TOaSZ226mLjjj/i5MqsSpBGop1rlIMMIUUqt8L73Jk+BmutiR063UBNquiRtzyI8X05nXLWUPSlx7OPGZ5fdaXXn5oOFk+cxC7lh6SZ8BS9NyC0M/o0GJqBKOZdOj+JXpcmqqxMDvta5y01g4JK11OLhoX3cVx+W/E9UkCWDcs/luZ1Ym+R8PEV59zhfraQO9WauSgkcbmlwG+ltgR7g54rsvtD8FSnkVw+xdlpytWWJQUoJP5zpv0qvOPEEzcnxZOXj5AjeG1wjAlU93+qRYcnIkhFG6cQyE8jIpgQqPwyixsTWP5ZDa3IVBeEnHff836HUNt6zOTYQqDD+yhnjCg== Received: from DUZPR01CA0047.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::16) by VI0P195MB2835.EURP195.PROD.OUTLOOK.COM (2603:10a6:800:2bc::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Thu, 23 Oct 2025 09:46:57 +0000 Received: from DB1PEPF000509FA.eurprd03.prod.outlook.com (2603:10a6:10:469:cafe::c9) by DUZPR01CA0047.outlook.office365.com (2603:10a6:10:469::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Thu, 23 Oct 2025 09:47:18 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 91.26.50.189) smtp.mailfrom=phytec.de; dkim=none (message not signed) header.d=none;dmarc=fail action=quarantine header.from=phytec.de; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning phytec.de discourages use of 91.26.50.189 as permitted sender) Received: from Postix.phytec.de (91.26.50.189) by DB1PEPF000509FA.mail.protection.outlook.com (10.167.242.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.7 via Frontend Transport; Thu, 23 Oct 2025 09:46:57 +0000 Received: from augenblix2.phytec.de (172.25.0.51) by Postix.phytec.de (172.25.0.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Thu, 23 Oct 2025 11:46:55 +0200 From: Martin Schwan Date: Thu, 23 Oct 2025 11:46:33 +0200 Subject: [PATCH 5/8] python3-questionary: Add recipe MIME-Version: 1.0 Message-ID: <20251023-wip-thingsboard-gateway-master-v1-5-570de0ecafb2@phytec.de> References: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> In-Reply-To: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> To: CC: Wang Mingyu , Khem Raj , , Martin Schwan X-Mailer: b4 0.14.2 X-Originating-IP: [172.25.0.51] X-ClientProxiedBy: Postix.phytec.de (172.25.0.11) To Postix.phytec.de (172.25.0.11) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509FA:EE_|VI0P195MB2835:EE_ X-MS-Office365-Filtering-Correlation-Id: 3d6e8b8d-ec17-4db9-f4aa-08de12191b4f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013|13003099007; X-Microsoft-Antispam-Message-Info: =?utf-8?q?8mOMz8GA+yNrEezejd+WS14My+fsrlT?= =?utf-8?q?RjQUb5a+EmvfzZ8cAHEr5xC/XkrPtEvC6mjeQ+O0EgzE16Ro4DunGau1Q5CyEW+C1?= =?utf-8?q?DfOxlkOrnArCBw/vlRlw4UNWyhXcykLczYZ5ahXJUnLhCaoLGMKv8+OmqvzmM1jYg?= =?utf-8?q?Vu5E9TNMgGU9wq2CEKns41E6Q4WAojWfYRSCvfmNdxTV2pjyzzW3uUF3JONF281kz?= =?utf-8?q?P8OemeFDF1IzGz5urcPTLqcHj5EgkuqMhY+ddAd6ZL58w4Pd37L5tVhzD8/55pxZk?= =?utf-8?q?DWQRogJ4/PP+U60KpK47brrC+ro5/La9RWkTfd8qVKbGpiKjdH3W6fMQMhUBte7ld?= =?utf-8?q?V8hbJqCZlfrn1mgg5LFY7jQJKvaSyck++wPYyVpqEwWxdopdcgh/kznLZ9W9LNB1F?= =?utf-8?q?kKwBYk2L5Uw8MCiz5S+iO5oHI8Ff78pCzk2tnWoa9UUu76PHYYnXZj14GxOTBJflU?= =?utf-8?q?ieuirIjmJwSOj9BGEd9IRAETd47YnlUyRkXB1GPhdmyGoi+KhB8BkJ2MoDupf+l4W?= =?utf-8?q?8HMd4boM36ecaFr+cJfzIn/iZzxJ/szDzp4pVbBPb+72FkoFmQnRELbl8Ss0s+2U+?= =?utf-8?q?me5NNXQgemd04O2KkQIXUz7jW0lzBPUtEv3XIa72Wd1733b0RnJTeGhu4m8UOvZoE?= =?utf-8?q?X4giUUl5HvSXg6FrR4+bRsetLHwJ8NOJAi/px/iGoAepicNUeclXfS2HkkRvIFUM3?= =?utf-8?q?ftLN0RNeNzZoVZ1oJzHBey6B6TP6bXPjZDKH0s63ZAYkbLnCERC/1Yly9vb43lYjR?= =?utf-8?q?kq1EV+HNC3ankj/YXBh/fG2MYM+8HCYkCnx5wG5bhPOOK7Kyj4lsJaBadkW4BoggO?= =?utf-8?q?/xRLM5pKl7e4NJ5ua2wtJtIR9+uSIWMvukBQO9gyhIcdxwy5rtp+WVjgLmxUa2KpE?= =?utf-8?q?W/ME+cA+D7NNuqPlbo/0gs4Fx2wW9GVbrZGEcg8yyY+FW2vPo5/wUnwoYXmvCxGtd?= =?utf-8?q?Xa2QGeGhcb+UCX0v/MARCzx1+kIINqHBaP67FoE+JiGCyrJh9Dsg43xOkR75434Vn?= =?utf-8?q?ma5OAENshro0wFuUwWuLcQIZ5gHU3zKKXsO7nSCJjhhcX+5iD90Vn7P7CrHpiAYzC?= =?utf-8?q?2AlB85fONPsVcVcdJQwo9PYJE7jhez7MZUw2jeb+eKH+xQ+KpT7xrNT2zFNYcVMTC?= =?utf-8?q?kMGm2/mPFFKd6rkhpbWqTII2ZYRsdoWs73rFPqh14LUrm5WTw7T+B5leAfcDUxKT3?= =?utf-8?q?Vt+kPoFovqJQe5XYrctuoGd/FJAyFv2JO5dLaClUoS821gUapNr9+FHCM6fvuCRrP?= =?utf-8?q?w690uyf5nyNv39UjVRZuGziBHCDhwJoZVFKKpM0IlJ5NTsyrK5vPGv/Dg8+/5gM+5?= =?utf-8?q?Xiudd8Qp/Ze16nQBxuWTyxDB2vcklx1kqj6awDHXnBgNNN+1O/rhbz8b4ptVv/o2r?= =?utf-8?q?ybkOCOjsSd3v+gXQ2rOIYWksQuzlABoi6H+Mfg67R9gXo4H33p5zvVGsunF8GKe5t?= =?utf-8?q?Y9eNseuPuX7509bvJcVgvs9DW+x4T8FHR20FlRny370ypX9Xzg/FU=3D?= X-Forefront-Antispam-Report: CIP:91.26.50.189;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:Postix.phytec.de;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700013)(13003099007);DIR:OUT;SFP:1102; X-OriginatorOrg: phytec.de X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 09:46:57.4167 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3d6e8b8d-ec17-4db9-f4aa-08de12191b4f X-MS-Exchange-CrossTenant-Id: e609157c-80e2-446d-9be3-9c99c2399d29 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e609157c-80e2-446d-9be3-9c99c2399d29;Ip=[91.26.50.189];Helo=[Postix.phytec.de] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509FA.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0P195MB2835 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 23 Oct 2025 09:47:11 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/120925 Python library to build pretty command line user prompts. Easy to use multi-select lists, confirmations, free text prompts. Signed-off-by: Martin Schwan --- .../recipes-devtools/python/python3-questionary_2.1.1.bb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-questionary_2.1.1.bb b/meta-python/recipes-devtools/python/python3-questionary_2.1.1.bb new file mode 100644 index 0000000000000000000000000000000000000000..a7120dc619768944bf0d84644178f62784245f23 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-questionary_2.1.1.bb @@ -0,0 +1,11 @@ +SUMMARY = "Python library to build pretty command line user prompts. Easy to \ + use multi-select lists, confirmations, free text prompts." +HOMEPAGE = "https://github.com/tmbo/questionary" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=19f0688967ec2b2624ee04c0136daae7" + +inherit pypi python_poetry_core + +SRC_URI[sha256sum] = "3d7e980292bb0107abaa79c68dd3eee3c561b83a0f89ae482860b181c8bd412d" + +BBCLASSEXTEND = "native nativesdk" From patchwork Thu Oct 23 09:46:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Schwan X-Patchwork-Id: 72890 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7AE12CCF9E7 for ; Thu, 23 Oct 2025 09:47:11 +0000 (UTC) Received: from AM0PR02CU008.outbound.protection.outlook.com (AM0PR02CU008.outbound.protection.outlook.com [52.101.72.108]) by mx.groups.io with SMTP id smtpd.web11.16443.1761212821437435179 for ; Thu, 23 Oct 2025 02:47:01 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@phytec.de header.s=selector2 header.b=vGkGKR5v; spf=pass (domain: phytec.de, ip: 52.101.72.108, mailfrom: m.schwan@phytec.de) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ow06vz4Y5Nn2kWdZlv7pTdbxGZSihqjQN8T204OUpeMT7vc5R+ji1v7ri/f1PKL3HmwZVzt2Xfvq9ezcrWQBctG/AZqCOJe4qNjXkN2hw59DHFezLokhHQDDB9pL6G2qF5HhB2M+n3NUHB6Dt1wm4qj61s6FzEc9wbgXpbMA/mSC1b3v0cge2sTngJSk+jTL7nSQTK1sre5xSYJbjIJnqBOWx6D0ngGtcmBHBKcXe1b/uhZ58GiufJLK5bwYBqKj+fNcsdRlNPbWwKNSRGwJyjZz5KXLmnQosW1KdX6I7xAB+nnqDsSQnlGuh5qJdb2ZlprbCOWznRdNyaSaZ7NgJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=kCn8xCHqflCLkVA59wG7SMZgXSQgllY2+aRFDH22Rps=; b=SJV0naaJwNzgk7nDs+ZyYq1ISE1zTBv2sc0dI+T4Cy3KESNar9xYoUirw7/W2RjMnUaiYotx4BSCDOorxHgOotnWM8gVYRTwi9/aIwu25S/YSuMGc9gZdK5ynyVJcOF3pF/LWbdI5i0VR9SXt7Gn43NI8MyPhSHuEC/n7CUgfnXEC8VyOehuc/bbcQ88DF/qHZzpDYmKSJ4Y3OfvU4oegOdP0XXzoWTVtqIPtkEOXt6MOrwXHYNTvi5bOj6kq9nxolNwffptt4sVTAI+c9xfvCqMMa67gccKZIPYgg3xEQglzr+bQHkLu5p3pEIz01hLzEJJnHVJvfeGpDZKlMyNXQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 91.26.50.189) smtp.rcpttodomain=fujitsu.com smtp.mailfrom=phytec.de; dmarc=fail (p=quarantine sp=quarantine pct=100) action=quarantine header.from=phytec.de; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=phytec.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kCn8xCHqflCLkVA59wG7SMZgXSQgllY2+aRFDH22Rps=; b=vGkGKR5vxRu8WU1yhq1AC9MGBTj8QsFFTs1DJZqvZiQHEFBJxsHn6UVz+4aOrGVaYsVOmSXE+iWdUuVXye2eeRB2ybp0I4UqMSR8jgkrGIaRfWP9jQR9rq2hJ+A3bFsIKwDpEm72cm1w01q5NuslxBX6lpsUAidMQFa95KRvAwLvfPNM9d+vlJHwnaYDO7P7aWKE+IurA/zJH6jCIPTo1A5doO+m2PqbjiZhX189lxZUp8vCcPVaRdRKygegm81UxttJzBkFojh/hJjDl7NWwbDLoyUJVxR26iMseHrGZgXTc5+mX0Wq0YPQAwpUPOJLEPSD7ZwSDeSmu8fZv/E7EA== Received: from DUZPR01CA0050.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::20) by AS8P195MB2316.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:5a4::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct 2025 09:46:58 +0000 Received: from DB1PEPF000509FA.eurprd03.prod.outlook.com (2603:10a6:10:469:cafe::9c) by DUZPR01CA0050.outlook.office365.com (2603:10a6:10:469::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Thu, 23 Oct 2025 09:47:40 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 91.26.50.189) smtp.mailfrom=phytec.de; dkim=none (message not signed) header.d=none;dmarc=fail action=quarantine header.from=phytec.de; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning phytec.de discourages use of 91.26.50.189 as permitted sender) Received: from Postix.phytec.de (91.26.50.189) by DB1PEPF000509FA.mail.protection.outlook.com (10.167.242.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.7 via Frontend Transport; Thu, 23 Oct 2025 09:46:57 +0000 Received: from augenblix2.phytec.de (172.25.0.51) by Postix.phytec.de (172.25.0.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Thu, 23 Oct 2025 11:46:55 +0200 From: Martin Schwan Date: Thu, 23 Oct 2025 11:46:34 +0200 Subject: [PATCH 6/8] thingsboard-gateway: Add missing dependencies MIME-Version: 1.0 Message-ID: <20251023-wip-thingsboard-gateway-master-v1-6-570de0ecafb2@phytec.de> References: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> In-Reply-To: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> To: CC: Wang Mingyu , Khem Raj , , Martin Schwan X-Mailer: b4 0.14.2 X-Originating-IP: [172.25.0.51] X-ClientProxiedBy: Postix.phytec.de (172.25.0.11) To Postix.phytec.de (172.25.0.11) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509FA:EE_|AS8P195MB2316:EE_ X-MS-Office365-Filtering-Correlation-Id: 23dbad7a-5d37-48dd-ff56-08de12191b98 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: =?utf-8?q?VLzAtqDe6G+11whnjQIe+yIMMUPPRgT?= =?utf-8?q?qIHX8zQGpQygABGakBhuFnB3YfVPzJ1OfAn0DLJzuBzRtER+Xda1K5YXG8VremqJR?= =?utf-8?q?emcqrocpO3NSDduexXWfnYlCIculT63e3s+nI4wDHCgpqQ9Q9P49FPvKhJSMCl7oY?= =?utf-8?q?3k7El7/sA/pgANmeOieKGbcp35+auqBQHFJjvWFu/q2mSXJ0rBv+DnPWeD8US3Pvq?= =?utf-8?q?3+a/YlrzcsyME/zc7YNXkV70BLwWPU2CORFIkfhljvSONMZ+P/xs/o/U0ci4GAcaN?= =?utf-8?q?HObkXAhvDV7Bj34kQvs0W3G2LqBa2x9PWqfQxV6c9AaZkN3YxhibVIIc/WewjSs3R?= =?utf-8?q?Jiadrcf+hhrtYyLrh48hTssMiZP2GlcC74GVZMRAN5U9hWxssx8hC1WWi3NJTMr3f?= =?utf-8?q?QJS+mnOb2bUQ2CUulJ5gZNpy61cR6dYoLXNIXIoDXXBsm9BmVf3gwXWDDKI1dL6nX?= =?utf-8?q?idAScLm/z4WlFxTFh9OfvS/fCVD9w+xgIrh/g0vENtYmcAEvY/T3TarCrGp/BFp0h?= =?utf-8?q?K7gBrcufFKHsttK64GoTuii1x+Nc5931bBSJ2snWOtvpRnBMyD0d3KqCAj2M/SjV0?= =?utf-8?q?R0ookVV0M9X5/62WbWRvWT07kz6o2AmBMkfjpZMOQGpnsw/p8G/hFzCAQCMDmOMHo?= =?utf-8?q?8j4UfmIACxRBO8xi8y88Kdq5xPBiQsf90SGzL7K9WG+0iQMr+CHAAoNg9gx4HVTCI?= =?utf-8?q?CHEQL9TvzFWKcOuU6qLAnN4NbHucncjajyGB5LisIYmHYSHqEDLflPZ/p3ca0oHT8?= =?utf-8?q?ffiuYmsFvy+0e2WAK0QOL0pavpTVGoFOCTmM9QynNALZzj52MzkdGX99Q6/FlAeAg?= =?utf-8?q?USfMZ+c/UQpkUOsuBe1T9rypZHKkaeaacCad3cpRixM8/uslX1x0aPEuhr4M+SCjv?= =?utf-8?q?O3tc6+3qjyIlgwnBlGMvNAyA5kU6NFkMYUaYjneqBcRXM1untkU7XBszIoGInIsP4?= =?utf-8?q?Of/CGmiuHbNGXPEkykRfZy8qN4WQBnG/d6hBNmImfmDUvnCpnyUtKYUx168DMbfkY?= =?utf-8?q?YUUK9iMC2W/6ABBn9KEpGlsvNyB1E2ODoANoD1nc7+czhbaOvpS0JBs+/A1ZRRAhJ?= =?utf-8?q?RRenpxPtLZC5INvXmRG7R+QOst8AgvNUozZwKiSAUVrbI15mU1HzhSGuzaizNzEUq?= =?utf-8?q?ndparh9dn8eDOA7lFK2r7xf1eR6m9u6BS0aRSCBIKsQ4V4P5mM1/6j9+J/ejP4p0z?= =?utf-8?q?PSJeoDhsU3rnJ3cdDPqgsd4YNW8sCL5R5WP1oWJMaqtcPghqLG9RVKUGZWboilcsB?= =?utf-8?q?urQDATQ9LUIKWCJMcQI0rQPcnQrjDHjR/zmcUK2q3CL4qnhtMvhRmj5INudJxBH7n?= =?utf-8?q?AUwNaqT2Dd5wu5UEMOqMKRBTwzCpgw8tPLvd0RnDrGl5IE1a8m1SPY5Wv7mf5MVH0?= =?utf-8?q?kWQhJ0wT6llL/A6ydmR50Lg2itu7JnCsSjReMFdU9k3XvcB5U8WPYWlqf7sd9Qsfn?= =?utf-8?q?WSuySk1Fhx8hBRMgHrpdSwhOMaQE+9mG6B6IaeYEhj8OsoNa0nG40=3D?= X-Forefront-Antispam-Report: CIP:91.26.50.189;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:Postix.phytec.de;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700013);DIR:OUT;SFP:1102; X-OriginatorOrg: phytec.de X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 09:46:57.8961 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 23dbad7a-5d37-48dd-ff56-08de12191b98 X-MS-Exchange-CrossTenant-Id: e609157c-80e2-446d-9be3-9c99c2399d29 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e609157c-80e2-446d-9be3-9c99c2399d29;Ip=[91.26.50.189];Helo=[Postix.phytec.de] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509FA.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P195MB2316 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 23 Oct 2025 09:47:11 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/120923 Add all missing runtime dependencies that are required by thingsboard-gateway. Since thingsboard-gateway tries to install missing dependencies via pip and fails to do so, install the dependencies system-wide beforehand. Signed-off-by: Martin Schwan --- .../thingsboard-gateway/thingsboard-gateway_3.7.4.bb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.7.4.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.7.4.bb index 57e162cabdd73125f53d01c5294fe0f23e34bd47..83baffdc054a4530adca2fbebe97b04c7064010c 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.7.4.bb +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.7.4.bb @@ -21,6 +21,24 @@ RDEPENDS:${PN} += " python3-jsonpath-rw \ python3-requests \ python3-pip \ python3-pyrsistent \ + python3-cachetools \ + python3-orjson \ + python3-psutil \ + python3-pybase64 \ + python3-grpcio \ + python3-packaging \ + python3-protobuf \ + python3-service-identity \ + python3-termcolor \ + python3-charset-normalizer \ + python3-mmh3 \ + python3-dateutil \ + python3-setuptools \ + python3-urllib3 \ + python3-questionary \ + python3-pyfiglet \ + python3-cryptography \ + python3-pysocks \ " SRC_URI += "file://bacnet.json \ From patchwork Thu Oct 23 09:46:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Martin Schwan X-Patchwork-Id: 72888 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 54450CCD1BC for ; Thu, 23 Oct 2025 09:47:11 +0000 (UTC) Received: from MRWPR03CU001.outbound.protection.outlook.com (MRWPR03CU001.outbound.protection.outlook.com [40.107.130.96]) by mx.groups.io with SMTP id smtpd.web11.16447.1761212826138789078 for ; Thu, 23 Oct 2025 02:47:06 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@phytec.de header.s=selector2 header.b=qZfcYtqD; spf=pass (domain: phytec.de, ip: 40.107.130.96, mailfrom: m.schwan@phytec.de) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HYT5IPj0waoXKR9N3s3NLOOdFRAev76yHYFBENw+XZIvATpaJsv7+CcuBhk2ka+Xn3lw8HBtEMHHEq521P8ZflwmTXUtUqUIXaBXm7Ii/rcAd51enea944jDOEm6dziJb+jCt5XR9sKyrM3M7GxcUJmiJDOKXeACXpdFJ/Afyn3k/RA2OJVlZ4EYy7BU8hw/DRcXSt2dMHrDNdKU5PzIvo1mm4u1I9DBgFC5JMHRHa0PGa6yDKlyLDelmoZO9JsDbMaW4jw+q7siXEbO0/xLryJTDPBOX9C0PSDKFzZPWr9zHJEiFJG94u1wTk7bz5H2CPAtv+poCrQ6Ewxn0YJ3TA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=lf5zROWFgBnkeHRCySiKD313Gp13Cj4gMiU/BJl7e88=; b=J3AfI3xJAcAEkX/GGMS3rEVQ5MzZ2678DAHYtAkXJpx4v7rvj277vPvfYo4JVGnPie3eyWBNGNafKyfiLWxnw7jOESEzD5h6wIWYtwCoTqWi0gHBRPYm4PwrZxGBR2F9dPYdoCtuzQj5fZFJXYotGk1JKyUk343hAEtKfd05Q/oZqingpxPbRcemyAlbf2lUj9uDqUWLPNOfyPhFT3rTSalyx9iyhZ3cOHXqxzFHWf+x+E2/sxYlp//r6KoSGMiDLL45esJp0NvcC0AZLzfJpCf5SRCz8NZlD1SQ7ZZBVCCNoeCIiCKtlOqaSDtvOjFB5fD7NDNu71U3zbsuc2Nsww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 91.26.50.189) smtp.rcpttodomain=fujitsu.com smtp.mailfrom=phytec.de; dmarc=fail (p=quarantine sp=quarantine pct=100) action=quarantine header.from=phytec.de; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=phytec.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lf5zROWFgBnkeHRCySiKD313Gp13Cj4gMiU/BJl7e88=; b=qZfcYtqDAm2Em4PQqrt3XjvBlXHfHBWipcaFZqCVtfsmLPROReeC/cSPlTBa/XqKjHXvK75SGA0OggQAf70ci+1gtNEjMp8ig2DnWNhJzupc6SPz1YLN96o4Y+qE6gUyiTmZ6JJdjZvjIb7UJbkvLoJvbhaufmbYSob37x99PdtM9XK/RQnj51KMTon7iZoKiKWurw4g9BPF8Kv2QbL9CrYZiEcx3z6R0hDjWoWt4pqTQFHkdzbarzqjvO3rurkmueh4ycyM6wyAj14sbCoqCza0CJ1gf5ySBLPHBpojjq22KkZILyeLJ9WsEh9eGOIHMuewtyu57qCI8igcsYR3gA== Received: from DUZPR01CA0046.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::14) by AS8P195MB2140.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:56c::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Thu, 23 Oct 2025 09:46:58 +0000 Received: from DB1PEPF000509FA.eurprd03.prod.outlook.com (2603:10a6:10:469:cafe::75) by DUZPR01CA0046.outlook.office365.com (2603:10a6:10:469::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Thu, 23 Oct 2025 09:47:26 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 91.26.50.189) smtp.mailfrom=phytec.de; dkim=none (message not signed) header.d=none;dmarc=fail action=quarantine header.from=phytec.de; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning phytec.de discourages use of 91.26.50.189 as permitted sender) Received: from Postix.phytec.de (91.26.50.189) by DB1PEPF000509FA.mail.protection.outlook.com (10.167.242.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.7 via Frontend Transport; Thu, 23 Oct 2025 09:46:58 +0000 Received: from augenblix2.phytec.de (172.25.0.51) by Postix.phytec.de (172.25.0.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Thu, 23 Oct 2025 11:46:55 +0200 From: Martin Schwan Date: Thu, 23 Oct 2025 11:46:35 +0200 Subject: [PATCH 7/8] thingsboard-gateway: Use configs from source repository MIME-Version: 1.0 Message-ID: <20251023-wip-thingsboard-gateway-master-v1-7-570de0ecafb2@phytec.de> References: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> In-Reply-To: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> To: CC: Wang Mingyu , Khem Raj , , Martin Schwan X-Mailer: b4 0.14.2 X-Originating-IP: [172.25.0.51] X-ClientProxiedBy: Postix.phytec.de (172.25.0.11) To Postix.phytec.de (172.25.0.11) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509FA:EE_|AS8P195MB2140:EE_ X-MS-Office365-Filtering-Correlation-Id: 518a8d20-625d-431d-4dea-08de12191bd4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026; X-Microsoft-Antispam-Message-Info: b5pAy1B0VMZ/GTy/65gKiS+KAflXzayHE/Kj5bEVlvnuR1Tt9ykYSIZKggtYexLuMYJ29a4bs1AG1b+niko6M6/M7KO9YPx1OSkoMJx27nCsSUYQ+mKt1D7zq+PDz0gyO9tCJ+tRELQDIVx72qxZ5k3o6+2wnNMJBherqKpvNe9P6HPnr66Omm4JGeiixTVOF0ReUg7iriqfqjqYdEMcwEktrernv70iIgzplLC0UDl3U6q5jrVJbrXPDa+SzJg4Sj73T6Dhs6kDFdGQ8sOxjq/tM101gchfYgPYowvYHCpx+rQBHO4kpD3vQKGnEOX403v1vHQZ6gZNNmy2BtN0PQnUNVBnjBWX7mtA4tVNaM2clA7Ic4l4mm/YY91652nKGUWOPsd8q7dX0b7dffvk4CTATz1tlrgGuJ6YNAz1bEcWf/czPkMpgk3Ege5tsg5+pKSFTK/8p1XlnhpIVqHxEQ4xNXeNm9rbVu3Gz/2sOPea17TCKw2AXL6eZT/pmwLQo51hkbKLAcu8TilJB6uyQ/9f9if5J21eipkS7RBq5umiNiD3XmFAjFVRvvJxwBu2NTeeUngMj2dx3cDRNiS6ZJqAXhzjKY1X/G/WmVA9Y2vwKdlEzF+1qDDNPsicPKg+7qdbydI5BrpCvzdAWI4UNqAzu+0UCMnCGBvQ9K72b1Azj2vSFA1i5qh0Mq4kEs91s9o3OIcfPS0pJkUnOQfuRUubnVUzN4bDmowEXQHQn1lahdp96A03CqGE28V7pQPREtAOTTYFz++TGwdgYg2/aetz6326HlTP6/8v62YEsdsUSwLqiDviulcGO1+bF20WbRspRjVAeZGEpSrI2fSuvU2//5nOSPTWURhqI9QLuYKjxVKjah2c3naEsqvs/K6XKCzcVONjR3CEqLtz+3sjd6s9oSzI+457ABqybF70MVP0HixWtlr+IAxodvoS01SdsG1LyZa4tkY+i9gqoTGM4cGM6GsKIrRBW1+zyEmnpDwyl3LaZPEiBfJtXqgtA35kUidDfT8/qmxa14CixWIne9yVlHx9iD+0RNsas98HiPNdqsqLHxyVNOZFdI0mi0LZZ2EZdAeXC5P87Rdt4m7TNsJyNbVHlrus1mxIHK0aFBmMy+j6t1weRgH8nTGmmUepJHNkcSGih25cyaPFIb74PSSzF7MrW6Ghqto95Ny8xSMqu40oqZotKLWTl6gq2JII5nqNdRebW6ICp/WpJz2mlP5FTrBG/SbuT2jjcQ8bq1X2yHME3wBIaJF7VbdD1+RihRQFcJecJSU6UJqLJ18q5Wk4JOy59r5sJUcmbg+f5qdqwmK7MkT08LL+dwI/m5FpeALQHC6tQuNmsAzkyHo/7UJG89kcE252A2gHIKF11WVrXwZ6wvNQKxJRc0e3dyZ4A59mKd/EXB5VdUbTMs9R6FeFkDaBErlTo57n7xgZ5Vhb7bDvxnNGhlzs6iD7sPa1G368XDo9Zt5bP00oDsb3736euZ/C9EjBI4Th3uCWgFU= X-Forefront-Antispam-Report: CIP:91.26.50.189;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:Postix.phytec.de;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026);DIR:OUT;SFP:1102; X-OriginatorOrg: phytec.de X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 09:46:58.2846 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 518a8d20-625d-431d-4dea-08de12191bd4 X-MS-Exchange-CrossTenant-Id: e609157c-80e2-446d-9be3-9c99c2399d29 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e609157c-80e2-446d-9be3-9c99c2399d29;Ip=[91.26.50.189];Helo=[Postix.phytec.de] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509FA.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P195MB2140 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 23 Oct 2025 09:47:11 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/120927 Replace the outdated configuration files with the ones found the source repository of thingsboard-gateway. This makes sure, the configuration file examples stay up-to-date in future versions. Signed-off-by: Martin Schwan --- .../thingsboard-gateway/bacnet.json | 58 ------- .../thingsboard-gateway/ble.json | 53 ------- .../thingsboard-gateway/can.json | 89 ----------- .../thingsboard-gateway/custom_serial.json | 33 ---- .../thingsboard-gateway/logs.conf | 77 ---------- .../thingsboard-gateway/modbus.json | 169 --------------------- .../thingsboard-gateway/modbus_serial.json | 29 ---- .../thingsboard-gateway/mqtt.json | 132 ---------------- .../thingsboard-gateway/odbc.json | 54 ------- .../thingsboard-gateway/opcua.json | 49 ------ .../thingsboard-gateway/request.json | 146 ------------------ .../thingsboard-gateway/rest.json | 152 ------------------ .../thingsboard-gateway/snmp.json | 138 ----------------- .../thingsboard-gateway/tb_gateway.yaml | 66 -------- .../thingsboard-gateway_3.7.4.bb | 28 +--- 15 files changed, 3 insertions(+), 1270 deletions(-) diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/bacnet.json b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/bacnet.json deleted file mode 100644 index e36a2165d13ac514c17336f09cfe22f543cea670..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/bacnet.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "general": { - "objectName": "TB_gateway", - "address": "192.168.188.181:1052", - "objectIdentifier": 599, - "maxApduLengthAccepted": 1024, - "segmentationSupported": "segmentedBoth", - "vendorIdentifier": 15 - }, - "devices": [ - { - "deviceName": "BACnet Device ${objectName}", - "deviceType": "default", - "address": "192.168.188.181:10520", - "pollPeriod": 10000, - "attributes": [ - { - "key": "temperature", - "type": "string", - "objectId": "analogOutput:1", - "propertyId": "presentValue" - } - ], - "timeseries": [ - { - "key": "state", - "type": "bool", - "objectId": "binaryValue:1", - "propertyId": "presentValue" - } - ], - "attributeUpdates": [ - { - "key": "brightness", - "requestType": "writeProperty", - "objectId": "analogOutput:1", - "propertyId": "presentValue" - } - ], - "serverSideRpc": [ - { - "method": "set_state", - "requestType": "writeProperty", - "requestTimeout": 10000, - "objectId": "binaryOutput:1", - "propertyId": "presentValue" - }, - { - "method": "get_state", - "requestType": "readProperty", - "requestTimeout": 10000, - "objectId": "binaryOutput:1", - "propertyId": "presentValue" - } - ] - } - ] - } \ No newline at end of file diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/ble.json b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/ble.json deleted file mode 100755 index 2a5da3f41d111ad6d5c0b27bea670d088d6b913b..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/ble.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "BLE Connector", - "rescanIntervalSeconds": 100, - "checkIntervalSeconds": 100, - "scanTimeSeconds": 5, - "passiveScanMode": true, - "devices": [ - { - "name": "Temperature and humidity sensor", - "MACAddress": "4C:65:A8:DF:85:C0", - "addrType": "public", - "telemetry": [ - { - "key": "temperature", - "method": "notify", - "characteristicUUID": "226CAA55-6476-4566-7562-66734470666D", - "byteFrom": 2, - "byteTo": 6 - }, - { - "key": "humidity", - "method": "notify", - "characteristicUUID": "226CAA55-6476-4566-7562-66734470666D", - "byteFrom": 9, - "byteTo": 13 - } - ], - "attributes": [ - { - "key": "name", - "characteristicUUID": "00002A00-0000-1000-8000-00805F9B34FB", - "method": "read", - "byteFrom": 0, - "byteTo": -1 - } - ], - "attributeUpdates": [ - { - "attributeOnThingsBoard": "sharedName", - "characteristicUUID": "00002A00-0000-1000-8000-00805F9B34FB" - } - ], - "serverSideRpc": [ - { - "methodRPC": "rpcMethod1", - "withResponse": true, - "characteristicUUID": "00002A00-0000-1000-8000-00805F9B34FB", - "methodProcessing": "read" - } - ] - } - ] -} \ No newline at end of file diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/can.json b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/can.json deleted file mode 100644 index b5cec0045a9760e5881afe538b8620766057f819..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/can.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "interface": "socketcan", - "channel": "vcan0", - "backend": { - "fd": true - }, - "reconnectPeriod": 5, - "devices": [ - { - "name": "Car", - "sendDataOnlyOnChange": false, - "enableUnknownRpc": true, - "strictEval": false, - "attributes": [ - { - "key": "isDriverDoorOpened", - "nodeId": 41, - "command": "2:2:big:8717", - "value": "4:1:int", - "expression": "bool(value & 0b00000100)", - "polling": { - "type": "once", - "dataInHex": "AB CD AB CD" - } - } - ], - "timeseries": [ - { - "key": "rpm", - "nodeId": 1918, - "isExtendedId": true, - "command": "2:2:big:48059", - "value": "4:2:big:int", - "expression": "value / 4", - "polling": { - "type": "always", - "period": 5, - "dataInHex": "aaaa bbbb aaaa bbbb" - } - }, - { - "key": "milliage", - "nodeId": 1918, - "isExtendedId": true, - "value": "4:2:little:int", - "expression": "value * 10", - "polling": { - "type": "always", - "period": 30, - "dataInHex": "aa bb cc dd ee ff aa bb" - } - } - ], - "attributeUpdates": [ - { - "attributeOnThingsBoard": "softwareVersion", - "nodeId": 64, - "isExtendedId": true, - "dataLength": 4, - "dataExpression": "value + 5", - "dataByteorder": "little" - } - ], - "serverSideRpc": [ - { - "method": "sendSameData", - "nodeId": 4, - "isExtendedId": true, - "isFd": true, - "bitrateSwitch": true, - "dataInHex": "aa bb cc dd ee ff aa bb aa bb cc d ee ff" - }, - { - "method": "setLightLevel", - "nodeId": 5, - "dataLength": 2, - "dataByteorder": "little", - "dataBefore": "00AA" - }, - { - "method": "setSpeed", - "nodeId": 16, - "dataAfter": "0102", - "dataExpression": "userSpeed if maxAllowedSpeed > userSpeed else maxAllowedSpeed" - } - ] - } - ] - } \ No newline at end of file diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/custom_serial.json b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/custom_serial.json deleted file mode 100755 index 0aee5cb765bd1d8a6efebba4bf6d4e972be613ef..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/custom_serial.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "Custom serial connector", - "devices": [ - { - "name": "CustomSerialDevice1", - "type": "default", - "port": "/dev/ttyUSB0", - "baudrate": 9600, - "converter": "CustomSerialUplinkConverter", - "telemetry": [ - { - "type": "byte", - "key": "humidity", - "untilDelimiter": "\r" - } - ], - "attributes":[ - { - "key": "SerialNumber", - "type": "string", - "fromByte": 4, - "toByte": -1 - } - ], - "attributeUpdates": [ - { - "attributeOnThingsBoard": "attr1", - "stringToDevice": "value = ${attr1}\n" - } - ] - } - ] -} \ No newline at end of file diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/logs.conf b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/logs.conf deleted file mode 100755 index d66c2b84a8f6c68285f4c07f42bcc59aaed5e8fd..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/logs.conf +++ /dev/null @@ -1,77 +0,0 @@ -[loggers] -keys=root, service, connector, converter, tb_connection, storage, extension -[handlers] -keys=consoleHandler, serviceHandler, connectorHandler, converterHandler, tb_connectionHandler, storageHandler, extensionHandler -[formatters] -keys=LogFormatter -[logger_root] -level=ERROR -handlers=consoleHandler -[logger_connector] -level=INFO -handlers=connectorHandler -formatter=LogFormatter -qualname=connector -[logger_storage] -level=INFO -handlers=storageHandler -formatter=LogFormatter -qualname=storage -[logger_tb_connection] -level=INFO -handlers=tb_connectionHandler -formatter=LogFormatter -qualname=tb_connection -[logger_service] -level=INFO -handlers=serviceHandler -formatter=LogFormatter -qualname=service -[logger_converter] -level=INFO -handlers=converterHandler -formatter=LogFormatter -qualname=converter -[logger_extension] -level=INFO -handlers=connectorHandler -formatter=LogFormatter -qualname=extension -[handler_consoleHandler] -class=StreamHandler -level=INFO -formatter=LogFormatter -args=(sys.stdout,) -[handler_connectorHandler] -level=INFO -class=logging.handlers.TimedRotatingFileHandler -formatter=LogFormatter -args=("./logs/connector.log", "d", 1, 7,) -[handler_storageHandler] -level=INFO -class=logging.handlers.TimedRotatingFileHandler -formatter=LogFormatter -args=("./logs/storage.log", "d", 1, 7,) -[handler_serviceHandler] -level=INFO -class=logging.handlers.TimedRotatingFileHandler -formatter=LogFormatter -args=("./logs/service.log", "d", 1, 7,) -[handler_converterHandler] -level=INFO -class=logging.handlers.TimedRotatingFileHandler -formatter=LogFormatter -args=("./logs/converter.log", "d", 1, 3,) -[handler_extensionHandler] -level=INFO -class=logging.handlers.TimedRotatingFileHandler -formatter=LogFormatter -args=("./logs/extension.log", "d", 1, 3,) -[handler_tb_connectionHandler] -level=INFO -class=logging.handlers.TimedRotatingFileHandler -formatter=LogFormatter -args=("./logs/tb_connection.log", "d", 1, 3,) -[formatter_LogFormatter] -format="%(asctime)s - %(levelname)s - [%(filename)s] - %(module)s - %(lineno)d - %(message)s" -datefmt="%Y-%m-%d %H:%M:%S" \ No newline at end of file diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/modbus.json b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/modbus.json deleted file mode 100755 index 479d8aa4d01f8d4cbfd2450b559ebabcf7d27583..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/modbus.json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "server": { - "type": "tcp", - "host": "127.0.0.1", - "port": 5020, - "timeout": 35, - "method": "socket", - "byteOrder": "BIG", - "devices": [ - { - "unitId": 1, - "deviceName": "Temp Sensor", - "attributesPollPeriod": 5000, - "timeseriesPollPeriod": 5000, - "sendDataOnlyOnChange": true, - "attributes": [ - { - "tag": "string_read", - "type": "string", - "functionCode": 4, - "objectsCount": 4, - "address": 1 - }, - { - "tag": "bits_read", - "type": "bits", - "functionCode": 4, - "objectsCount": 1, - "address": 5 - }, - { - "tag": "8int_read", - "type": "8int", - "functionCode": 4, - "objectsCount": 1, - "address": 6 - }, - { - "tag": "16int_read", - "type": "16int", - "functionCode": 4, - "objectsCount": 1, - "address": 7 - }, - { - "tag": "32int_read_divider", - "type": "32int", - "functionCode": 4, - "objectsCount": 2, - "address": 8, - "divider": 10 - }, - { - "tag": "8int_read_multiplier", - "type": "8int", - "functionCode": 4, - "objectsCount": 1, - "address": 10, - "multiplier": 10 - }, - { - "tag": "32int_read", - "type": "32int", - "functionCode": 4, - "objectsCount": 2, - "address": 11 - }, - { - "tag": "64int_read", - "type": "64int", - "functionCode": 4, - "objectsCount": 4, - "address": 13 - } - ], - "timeseries": [ - { - "tag": "8uint_read", - "type": "8uint", - "functionCode": 4, - "objectsCount": 1, - "address": 17 - }, - { - "tag": "16uint_read", - "type": "16uint", - "functionCode": 4, - "objectsCount": 2, - "address": 18 - }, - { - "tag": "32uint_read", - "type": "32uint", - "functionCode": 4, - "objectsCount": 4, - "address": 20 - }, - { - "tag": "64uint_read", - "type": "64uint", - "functionCode": 4, - "objectsCount": 1, - "address": 24 - }, - { - "tag": "16float_read", - "type": "16float", - "functionCode": 4, - "objectsCount": 1, - "address": 25 - }, - { - "tag": "32float_read", - "type": "32float", - "functionCode": 4, - "objectsCount": 2, - "address": 26 - }, - { - "tag": "64float_read", - "type": "64float", - "functionCode": 4, - "objectsCount": 4, - "address": 28 - } - ], - "attributeUpdates": [ - { - "tag": "shared_attribute_write", - "type": "32int", - "functionCode": 6, - "objectsCount": 2, - "address": 29 - } - ], - "rpc": [ - { - "tag": "setValue", - "type": "bits", - "functionCode": 5, - "objectsCount": 1, - "address": 31 - }, - { - "tag": "getValue", - "type": "bits", - "functionCode": 1, - "objectsCount": 1, - "address": 31 - }, - { - "tag": "setCPUFanSpeed", - "type": "32int", - "functionCode": 16, - "objectsCount": 2, - "address": 33 - }, - { - "tag":"getCPULoad", - "type": "32int", - "functionCode": 4, - "objectsCount": 2, - "address": 35 - } - ] - } - ] - } -} diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/modbus_serial.json b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/modbus_serial.json deleted file mode 100755 index 19b38e3f7bcf7f7d7fbf4e34bb601718e983632d..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/modbus_serial.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "server": { - "name": "Modbus Default Server", - "type": "serial", - "method": "rtu", - "port": "/dev/ttyUSB0", - "baudrate": 19200, - "timeout": 35, - "devices": [ - { - "unitId": 1, - "deviceName": "Temp Sensor", - "attributesPollPeriod": 5000, - "timeseriesPollPeriod": 5000, - "sendDataOnlyOnChange": true, - "attributes": [ - { - "byteOrder": "BIG", - "tag": "test", - "type": "long", - "functionCode": 4, - "registerCount": 1, - "address": 4 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/mqtt.json b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/mqtt.json deleted file mode 100755 index 6b78a7cec94fe332a9232099731c23479da3dc17..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/mqtt.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "broker": { - "name":"Default Local Broker", - "host":"127.0.0.1", - "port":1883, - "clientId": "ThingsBoard_gateway", - "security": { - "type": "basic", - "username": "user", - "password": "password" - } - }, - "mapping": [ - { - "topicFilter": "/sensor/data", - "converter": { - "type": "json", - "deviceNameJsonExpression": "${serialNumber}", - "deviceTypeJsonExpression": "${sensorType}", - "timeout": 60000, - "attributes": [ - { - "type": "string", - "key": "model", - "value": "${sensorModel}" - }, - { - "type": "string", - "key": "${sensorModel}", - "value": "on" - } - ], - "timeseries": [ - { - "type": "double", - "key": "temperature", - "value": "${temp}" - }, - { - "type": "double", - "key": "humidity", - "value": "${hum}" - } - ] - } - }, - { - "topicFilter": "/sensor/+/data", - "converter": { - "type": "json", - "deviceNameTopicExpression": "(?<=sensor\/)(.*?)(?=\/data)", - "deviceTypeTopicExpression": "Thermometer", - "timeout": 60000, - "attributes": [ - { - "type": "string", - "key": "model", - "value": "${sensorModel}" - } - ], - "timeseries": [ - { - "type": "double", - "key": "temperature", - "value": "${temp}" - }, - { - "type": "double", - "key": "humidity", - "value": "${hum}" - } - ] - } - }, - { - "topicFilter": "/custom/sensors/+", - "converter": { - "type": "custom", - "extension": "CustomMqttUplinkConverter", - "extension-config": { - "temperatureBytes" : 2, - "humidityBytes" : 2, - "batteryLevelBytes" : 1 - } - } - } - ], - "connectRequests": [ - { - "topicFilter": "sensor/connect", - "deviceNameJsonExpression": "${SerialNumber}" - }, - { - "topicFilter": "sensor/+/connect", - "deviceNameTopicExpression": "(?<=sensor\/)(.*?)(?=\/connect)" - } - ], - "disconnectRequests": [ - { - "topicFilter": "sensor/disconnect", - "deviceNameJsonExpression": "${SerialNumber}" - }, - { - "topicFilter": "sensor/+/disconnect", - "deviceNameTopicExpression": "(?<=sensor\/)(.*?)(?=\/disconnect)" - } - ], - "attributeUpdates": [ - { - "deviceNameFilter": "SmartMeter.*", - "attributeFilter": "uploadFrequency", - "topicExpression": "sensor/${deviceName}/${attributeKey}", - "valueExpression": "{\"${attributeKey}\":\"${attributeValue}\"}" - } - ], - "serverSideRpc": [ - { - "deviceNameFilter": ".*", - "methodFilter": "echo", - "requestTopicExpression": "sensor/${deviceName}/request/${methodName}/${requestId}", - "responseTopicExpression": "sensor/${deviceName}/response/${methodName}/${requestId}", - "responseTimeout": 10000, - "valueExpression": "${params}" - }, - { - "deviceNameFilter": ".*", - "methodFilter": "no-reply", - "requestTopicExpression": "sensor/${deviceName}/request/${methodName}/${requestId}", - "valueExpression": "${params}" - } - ] -} \ No newline at end of file diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/odbc.json b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/odbc.json deleted file mode 100644 index c93992a2623bac5ceca276749a9d86d9d47b8e2a..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/odbc.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "connection": { - "str": "Driver={PostgreSQL};Server=localhost;Port=5432;Database=thingsboard;Uid=postgres;Pwd=postgres;", - "attributes": { - "autocommit": true, - "timeout": 0 - }, - "encoding": "utf-8", - "decoding": { - "char": "utf-8", - "wchar": "utf-8", - "metadata": "utf-16le" - }, - "reconnect": true, - "reconnectPeriod": 60 - }, - "pyodbc": { - "pooling": false - }, - "polling": { - "query": "SELECT bool_v, str_v, dbl_v, long_v, entity_id, ts FROM ts_kv WHERE ts > ? ORDER BY ts ASC LIMIT 10", - "period": 10, - "iterator": { - "column": "ts", - "query": "SELECT MIN(ts) - 1 FROM ts_kv", - "persistent": false - } - }, - "mapping": { - "device": { - "type": "postgres", - "name": "'ODBC ' + entity_id" - }, - "sendDataOnlyOnChange": false, - "attributes": "*", - "timeseries": [ - { - "name": "value", - "value": "[i for i in [str_v, long_v, dbl_v,bool_v] if i is not None][0]" - } - ] - }, - "serverSideRpc": { - "enableUnknownRpc": false, - "overrideRpcConfig": true, - "methods": [ - "procedureOne", - { - "name": "procedureTwo", - "args": [ "One", 2, 3.0 ] - } - ] - } - } \ No newline at end of file diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/opcua.json b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/opcua.json deleted file mode 100755 index 1deed7d524e374542f459b9f2421524da604155a..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/opcua.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "server": { - "name": "OPC-UA Default Server", - "url": "localhost:4840/freeopcua/server/", - "timeoutInMillis": 5000, - "scanPeriodInMillis": 5000, - "disableSubscriptions":false, - "subCheckPeriodInMillis": 100, - "showMap": false, - "security": "Basic128Rsa15", - "identity": { - "type": "anonymous" - }, - "mapping": [ - { - "deviceNodePattern": "Root\\.Objects\\.Device1", - "deviceNamePattern": "Device ${Root\\.Objects\\.Device1\\.serialNumber}", - "attributes": [ - { - "key": "temperature °C", - "path": "${ns=2;i=5}" - } - ], - "timeseries": [ - { - "key": "humidity", - "path": "${Root\\.Objects\\.Device1\\.TemperatureAndHumiditySensor\\.Humidity}" - }, - { - "key": "batteryLevel", - "path": "${Battery\\.batteryLevel}" - } - ], - "rpc_methods": [ - { - "method": "multiply", - "arguments": [2, 4] - } - ], - "attributes_updates": [ - { - "attributeOnThingsBoard": "deviceName", - "attributeOnDevice": "Root\\.Objects\\.Device1\\.serialNumber" - } - ] - } - ] - } -} \ No newline at end of file diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/request.json b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/request.json deleted file mode 100644 index 43237a7dc059142b7433ea48956e4ff55f3b0f19..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/request.json +++ /dev/null @@ -1,146 +0,0 @@ -"job": "leader" -}, -"allowRedirects": true, -"timeout": 0.5, -"scanPeriod": 5, -"converter": { - "type": "json", - "deviceNameJsonExpression": "SD8500", - "deviceTypeJsonExpression": "SD", - "attributes": [ - { - "key": "serialNumber", - "type": "string", - "value": "${serial}" - } - ], - "telemetry": [ - { - "key": "Maintainer", - "type": "string", - "value": "${Developer}" - } - ] -} -}, -{ -"url": "get_info", -"httpMethod": "GET", -"httpHeaders": { - "ACCEPT": "application/json" -}, -"allowRedirects": true, -"timeout": 0.5, -"scanPeriod": 100, -"converter": { - "type": "custom", - "deviceNameJsonExpression": "SD8500", - "deviceTypeJsonExpression": "SD", - "extension": "CustomRequestUplinkConverter", - "extension-config": [ - { - "key": "Totaliser", - "type": "float", - "fromByte": 0, - "toByte": 4, - "byteorder": "big", - "signed": true, - "multiplier": 1 - }, - { - "key": "Flow", - "type": "int", - "fromByte": 4, - "toByte": 6, - "byteorder": "big", - "signed": true, - "multiplier": 0.01 - }, - { - "key": "Temperature", - "type": "int", - "fromByte": 8, - "toByte": 10, - "byteorder": "big", - "signed": true, - "multiplier": 0.01 - }, - { - "key": "Pressure", - "type": "int", - "fromByte": 12, - "toByte": 14, - "byteorder": "big", - "signed": true, - "multiplier": 0.01 - }, - { - "key": "deviceStatus", - "type": "int", - "byteAddress": 15, - "fromBit": 4, - "toBit": 8, - "byteorder": "big", - "signed": false - }, - { - "key": "OUT2", - "type": "int", - "byteAddress": 15, - "fromBit": 1, - "toBit": 2, - "byteorder": "big" - }, - { - "key": "OUT1", - "type": "int", - "byteAddress": 15, - "fromBit": 0, - "toBit": 1, - "byteorder": "big" - } - ] -} -} -], -"attributeUpdates": [ -{ - "httpMethod": "POST", - "httpHeaders": { - "CONTENT-TYPE": "application/json" - }, - "timeout": 0.5, - "tries": 3, - "allowRedirects": true, - "deviceNameFilter": "SD.*", - "attributeFilter": "send_data", - "requestUrlExpression": "sensor/${deviceName}/${attributeKey}", - "valueExpression": "{\"${attributeKey}\":\"${attributeValue}\"}" -} -], -"serverSideRpc": [ -{ -"deviceNameFilter": ".*", -"methodFilter": "echo", -"requestUrlExpression": "sensor/${deviceName}/request/${methodName}/${requestId}", -"responseTimeout": 1, -"httpMethod": "GET", -"valueExpression": "${params}", -"timeout": 0.5, -"tries": 3, -"httpHeaders": { - "Content-Type": "application/json" -} -}, -{ -"deviceNameFilter": ".*", -"methodFilter": "no-reply", -"requestUrlExpression": "sensor/${deviceName}/request/${methodName}/${requestId}", -"httpMethod": "POST", -"valueExpression": "${params}", -"httpHeaders": { - "Content-Type": "application/json" -} -} -] -} \ No newline at end of file diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/rest.json b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/rest.json deleted file mode 100644 index be6c6ff18eccd7ca205f5ea53a1af892ddd65897..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/rest.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "host": "127.0.0.1", - "port": "5000", - "mapping":[ - { - "endpoint": "/device1", - "HTTPMethods": [ - "POST" - ], - "security": - { - "type": "basic", - "username": "user", - "password": "passwd" - }, - "converter": { - "type": "json", - "deviceNameExpression": "Device ${name}", - "deviceTypeExpression": "default", - "attributes": [ - { - "type": "string", - "key": "model", - "value": "${sensorModel}" - } - ], - "timeseries": [ - { - "type": "double", - "key": "${sensorModel}", - "value": "${temp}" - }, - { - "type": "double", - "key": "humidity", - "value": "${hum}" - } - ] - } - }, - { - "endpoint": "/anon1", - "HTTPMethods": [ - "GET", - "POST" - ], - "security": - { - "type": "anonymous" - }, - "converter": { - "type": "json", - "deviceNameExpression": "Device 2", - "deviceTypeExpression": "default", - "attributes": [ - { - "type": "string", - "key": "model", - "value": "Model2" - } - ], - "timeseries": [ - { - "type": "double", - "key": "temperature", - "value": "${temp}" - }, - { - "type": "double", - "key": "humidity", - "value": "${hum}" - } - ] - } - }, - { - "endpoint": "/anon2", - "HTTPMethods": [ - "POST" - ], - "security": - { - "type": "anonymous" - }, - "converter": { - "type": "custom", - "deviceNameExpression": "SuperAnonDevice", - "deviceTypeExpression": "default", - "extension": "CustomRestUplinkConverter", - "extension-config": [ - { - "key": "Totaliser", - "datatype": "float", - "fromByte": 0, - "toByte": 4, - "byteorder": "big", - "signed": true, - "multiplier": 1 - }] - } - } - ], - "attributeUpdates": [ - { - "HTTPMethod": "POST", - "SSLVerify": false, - "httpHeaders": { - "CONTENT-TYPE": "application/json" - }, - "security": { - "type": "basic", - "username": "user", - "password": "passwd" - }, - "timeout": 0.5, - "tries": 3, - "allowRedirects": true, - "deviceNameFilter": ".*REST$", - "attributeFilter": "data", - "requestUrlExpression": "sensor/${deviceName}/${attributeKey}", - "valueExpression": "{\"${attributeKey}\":\"${attributeValue}\"}" - } - ], - "serverSideRpc": [ - { - "deviceNameFilter": ".*", - "methodFilter": "echo", - "requestUrlExpression": "http://127.0.0.1:5001/${deviceName}", - "responseTimeout": 1, - "HTTPMethod": "GET", - "valueExpression": "${params}", - "timeout": 0.5, - "tries": 3, - "httpHeaders": { - "Content-Type": "application/json" - }, - "security": { - "type": "anonymous" - } - }, - { - "deviceNameFilter": ".*", - "methodFilter": "no-reply", - "requestUrlExpression": "sensor/${deviceName}/request/${methodName}/${requestId}", - "HTTPMethod": "POST", - "valueExpression": "${params}", - "httpHeaders": { - "Content-Type": "application/json" - } - } - ] - } \ No newline at end of file diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/snmp.json b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/snmp.json deleted file mode 100644 index b4ddb4264581513bf90446cb6b4983a7cbf91beb..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/snmp.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "devices": [ - { - "deviceName": "SNMP router", - "deviceType": "snmp", - "ip": "snmp.live.gambitcommunications.com", - "port": 161, - "pollPeriod": 5000, - "community": "public", - "attributes": [ - { - "key": "ReceivedFromGet", - "method": "get", - "oid": "1.3.6.1.2.1.1.1.0", - "timeout": 6 - }, - { - "key": "ReceivedFromMultiGet", - "method": "multiget", - "oid": [ - "1.3.6.1.2.1.1.1.0", - "1.3.6.1.2.1.1.2.0" - ], - "timeout": 6 - }, - { - "key": "ReceivedFromGetNext", - "method": "getnext", - "oid": "1.3.6.1.2.1.1.1.0", - "timeout": 6 - }, - { - "key": "ReceivedFromMultiWalk", - "method": "multiwalk", - "oid": [ - "1.3.6.1.2.1.1.1.0", - "1.3.6.0.1.2.1" - ] - }, - { - "key": "ReceivedFromBulkWalk", - "method": "bulkwalk", - "oid": [ - "1.3.6.1.2.1.1.1.0", - "1.3.6.1.2.1.1.2.0" - ] - }, - { - "key": "ReceivedFromBulkGet", - "method": "bulkget", - "scalarOid": [ - "1.3.6.1.2.1.1.1.0", - "1.3.6.1.2.1.1.2.0" - ], - "repeatingOid": [ - "1.3.6.1.2.1.1.1.0", - "1.3.6.1.2.1.1.2.0" - ], - "maxListSize": 10 - } - ], - "telemetry": [ - { - "key": "ReceivedFromWalk", - "community": "private", - "method": "walk", - "oid": "1.3.6.1.2.1.1.1.0" - }, - { - "key": "ReceivedFromTable", - "method": "table", - "oid": "1.3.6.1.2.1.1" - } - ], - "attributeUpdateRequests": [ - { - "attributeFilter": "dataToSet", - "method": "set", - "oid": "1.3.6.1.2.1.1.1.0" - }, - { - "attributeFilter": "dataToMultiSet", - "method": "multiset", - "mappings": { - "1.2.3": "10", - "2.3.4": "${attribute}" - } - } - ], - "serverSideRpcRequests": [ - { - "requestFilter": "setData", - "method": "set", - "oid": "1.3.6.1.2.1.1.1.0" - }, - { - "requestFilter": "multiSetData", - "method": "multiset" - }, - { - "requestFilter": "getData", - "method": "get", - "oid": "1.3.6.1.2.1.1.1.0" - }, - { - "requestFilter": "runBulkWalk", - "method": "bulkwalk", - "oid": [ - "1.3.6.1.2.1.1.1.0", - "1.3.6.1.2.1.1.2.0" - ] - } - ] - }, - { - "deviceName": "SNMP router", - "deviceType": "snmp", - "ip": "127.0.0.1", - "pollPeriod": 5000, - "community": "public", - "converter": "CustomSNMPConverter", - "attributes": [ - { - "key": "ReceivedFromGetWithCustomConverter", - "method": "get", - "oid": "1.3.6.1.2.1.1.1.0" - } - ], - "telemetry": [ - { - "key": "ReceivedFromTableWithCustomConverter", - "method": "table", - "oid": "1.3.6.1.2.1.1.1.0" - } - ] - } - ] - } \ No newline at end of file diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/tb_gateway.yaml b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/tb_gateway.yaml deleted file mode 100755 index e3eb8f1fc7014b8502b63eabb86e2ae0683cec0f..0000000000000000000000000000000000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/tb_gateway.yaml +++ /dev/null @@ -1,66 +0,0 @@ -thingsboard: - host: demo.thingsboard.io - port: 1883 - remoteConfiguration: false - security: - accessToken: PUT_YOUR_GW_ACCESS_TOKEN_HERE -storage: - type: memory - read_records_count: 100 - max_records_count: 100000 -# type: file -# data_folder_path: ./data/ -# max_file_count: 10 -# max_read_records_count: 10 -# max_records_per_file: 10000 -connectors: - - - name: MQTT Broker Connector - type: mqtt - configuration: mqtt.json - -# - -# name: Modbus Connector -# type: modbus -# configuration: modbus.json -# -# - -# name: Modbus Connector -# type: modbus -# configuration: modbus_serial.json -# -# - -# name: OPC-UA Connector -# type: opcua -# configuration: opcua.json -# -# - -# name: BLE Connector -# type: ble -# configuration: ble.json -# -# - -# name: REQUEST Connector -# type: request -# configuration: request.json -# -# - -# name: CAN Connector -# type: can -# configuration: can.json -# -# - -# name: BACnet Connector -# type: bacnet -# configuration: bacnet.json -# -# - -# name: ODBC Connector -# type: odbc -# configuration: odbc.json -# -# - -# name: Custom Serial Connector -# type: serial -# configuration: custom_serial.json -# class: CustomSerialConnector diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.7.4.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.7.4.bb index 83baffdc054a4530adca2fbebe97b04c7064010c..8ff06285f9be60a09c1d49c2f07140e8212d22fc 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.7.4.bb +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.7.4.bb @@ -41,22 +41,7 @@ RDEPENDS:${PN} += " python3-jsonpath-rw \ python3-pysocks \ " -SRC_URI += "file://bacnet.json \ - file://ble.json \ - file://can.json \ - file://custom_serial.json \ - file://modbus.json \ - file://modbus_serial.json \ - file://mqtt.json \ - file://opcua.json \ - file://odbc.json \ - file://request.json \ - file://rest.json \ - file://snmp.json \ - file://tb_gateway.yaml \ - file://logs.conf \ - file://thingsboard-gateway.service \ - " +SRC_URI += "file://thingsboard-gateway.service" inherit systemd @@ -70,15 +55,8 @@ FILES:${PN} += "/etc \ " do_install:append(){ - - install -d ${D}${sysconfdir}/thingsboard-gateway/config - - for file in $(find ${UNPACKDIR} -maxdepth 1 -type f -name *.json); do - install -m 0644 "$file" ${D}${sysconfdir}/thingsboard-gateway/config - done - - install -m 0644 ${UNPACKDIR}/tb_gateway.yaml ${D}${sysconfdir}/thingsboard-gateway/config - install -m 0644 ${UNPACKDIR}/logs.conf ${D}${sysconfdir}/thingsboard-gateway/config + install -d ${D}${sysconfdir}/${BPN}/config + install -m 0644 ${S}/thingsboard_gateway/config/*.json ${D}${sysconfdir}/${BPN}/config install -d ${D}${systemd_unitdir}/system/ install -m 0644 ${UNPACKDIR}/thingsboard-gateway.service ${D}${systemd_system_unitdir}/thingsboard-gateway.service From patchwork Thu Oct 23 09:46:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Schwan X-Patchwork-Id: 72894 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8B979CCF9E9 for ; Thu, 23 Oct 2025 09:47:11 +0000 (UTC) Received: from DUZPR83CU001.outbound.protection.outlook.com (DUZPR83CU001.outbound.protection.outlook.com [52.101.66.72]) by mx.groups.io with SMTP id smtpd.web10.16329.1761212821093965476 for ; Thu, 23 Oct 2025 02:47:01 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@phytec.de header.s=selector2 header.b=IcfnV3GZ; spf=pass (domain: phytec.de, ip: 52.101.66.72, mailfrom: m.schwan@phytec.de) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MDgxmGf4C/oqgSxhUTrHIRMHzDlIpF6O7Hn9W3VATIPcWPedlv5QnOmegK4FSc0MlJPqvZAkY6OXyj2w3FVkuuZWcJCE9oBDPmRPvik6lO13KTeOf+7PLyBzkCsSVETlCXWXljpfw+FoyKVeYbft/nRmhJJ1QDI3xU07e3EvMp/AvTQJaeEEUFofA2YxU4uxt3sv7+siJpAOwTygnRhmz/ufnS3cDxk22SJL8cwv8QCbaHMMlQ9qw+BtYuePlvHwcVf/97cOEcbRSpAKNzk45M/Jpzp7kU5bP5W8pFK0owVHUGcgRLkWbDJYMlAcNVzlFoN1L2MI6ayjzihbV5PU3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=8U3w8TKvGitKa3ukygCZc0scpogyAYdsy4/iHZXor9U=; b=LELv8HLmzKrBTjKe0o27harxNKstVkjWZbIpYqS4XJpzuK+pnUS68jjepZCf8uA/HYu38k0RwS5PkQIUgJES/zwBKnOw6wddj2+l4qrT57cgjSHDS+6Y0GQJisjQ+krnXmds9w2HZRFJnqiPqK347SX3PjAR/puix5NnTowzYFy7SEpgb3xCb1mrZCohGLBgUoUAsb4wkpGbIz6EtSQ4Muj6q458kr/87Aw1gQtQpBYh2xGuBIsb7tDgHeXhBhvBakT2J7gYQJ8YOWwCcx2k9ldc7MCT3lyyKBH8kScEGkC2qRb9XHIzBasXZn/fdYqdsHqJzXxTCc4De0Y8KLNgBw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 91.26.50.189) smtp.rcpttodomain=fujitsu.com smtp.mailfrom=phytec.de; dmarc=fail (p=quarantine sp=quarantine pct=100) action=quarantine header.from=phytec.de; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=phytec.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8U3w8TKvGitKa3ukygCZc0scpogyAYdsy4/iHZXor9U=; b=IcfnV3GZdfOs2tEbUmLIsjsAkIY3UIyIxULjc1OXQMZVCNPX3hsdVoAykh2NZt2UZtqD89rMeqZ2ZnPswvwBElFEo1c9Yibc3P9L9eZDX+7tgrH0ztQzS6IjXJ9MAobJAnNSiN5GcBUmwGjSg6U9yG71SK5GXr0j3vYF5i3qRLWo9Exl/2yUsVhBYoVjvK1G4OQbqQqlM3Ho5z/UAfl4/eu+SaQk+C/ekeSHht8AL+XmioBXPhZqrFx3C5rSM8ySIpNf+wXdReHa0DFblVjHNPLKK0A52I5AidjTFgzQkyO9/3EVEO1ce60a3JY18aYXzt7pelfm6Bt/QraBTxIjng== Received: from DUZPR01CA0048.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::17) by DU0P195MB1651.EURP195.PROD.OUTLOOK.COM (2603:10a6:10:3a4::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.13; Thu, 23 Oct 2025 09:46:58 +0000 Received: from DB1PEPF000509FA.eurprd03.prod.outlook.com (2603:10a6:10:469:cafe::a0) by DUZPR01CA0048.outlook.office365.com (2603:10a6:10:469::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9253.13 via Frontend Transport; Thu, 23 Oct 2025 09:47:54 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 91.26.50.189) smtp.mailfrom=phytec.de; dkim=none (message not signed) header.d=none;dmarc=fail action=quarantine header.from=phytec.de; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning phytec.de discourages use of 91.26.50.189 as permitted sender) Received: from Postix.phytec.de (91.26.50.189) by DB1PEPF000509FA.mail.protection.outlook.com (10.167.242.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.7 via Frontend Transport; Thu, 23 Oct 2025 09:46:58 +0000 Received: from augenblix2.phytec.de (172.25.0.51) by Postix.phytec.de (172.25.0.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Thu, 23 Oct 2025 11:46:55 +0200 From: Martin Schwan Date: Thu, 23 Oct 2025 11:46:36 +0200 Subject: [PATCH 8/8] thingsboard-gateway: Update systemd service MIME-Version: 1.0 Message-ID: <20251023-wip-thingsboard-gateway-master-v1-8-570de0ecafb2@phytec.de> References: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> In-Reply-To: <20251023-wip-thingsboard-gateway-master-v1-0-570de0ecafb2@phytec.de> To: CC: Wang Mingyu , Khem Raj , , Martin Schwan X-Mailer: b4 0.14.2 X-Originating-IP: [172.25.0.51] X-ClientProxiedBy: Postix.phytec.de (172.25.0.11) To Postix.phytec.de (172.25.0.11) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509FA:EE_|DU0P195MB1651:EE_ X-MS-Office365-Filtering-Correlation-Id: 45a27d81-825d-4d2a-b74a-08de12191c05 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?TxlKX9/TvAt1cfmsuIqbHNgB1c2F17c?= =?utf-8?q?pmQNnsxP9ARotYUmu03uCnia2opNF7p/ZHD/k8DLmtdoDDCcNKAc/5bvJpdhU6idS?= =?utf-8?q?161rgaY+zjlzoLWcxF4+5O1PiSo5tjTchQEKoqzLE3vcuKsby1+fAVPXOSTml3y5p?= =?utf-8?q?VE1N7augvF3gF5df+B5y8m+d6NCrG0BCqKOi0gSewFvofprOsYVAvDASi5AsSDcf6?= =?utf-8?q?TJrIzck6w01rNJ5SwwQneD+/nk1VmEVuamiOSBEqikDsWvnUrP2KABYtnvjBvcg4j?= =?utf-8?q?Dz6mSoktg5JD/jsOWzXPLwy8vAnW9h0AJuJKysLGt8M1WW8H61e+lldUA4N1kH9zE?= =?utf-8?q?SMOoEjd+UjjyvTwygTJu7/5XQcF4RCUQmzYdPN4zunX/iSD3guykNPRLWG0mk9His?= =?utf-8?q?VkKwT6KiGOXQV4W686mSr3mtwIwo9HsWd9+sLljDMwfBXnhRhNOX2pYh0GsDhCglk?= =?utf-8?q?YyItoIisMMHICMEZaizZamM0jxdsM26Qk9tvguLFCKn7EtzFML9b8/5dNoOaG1wPd?= =?utf-8?q?fF93jV53yG7e0uOPiYZtYthkEPB1dPormtIL70dKX1IAzzKzYJnLW8Kc2NTsmlD+V?= =?utf-8?q?toKvjomTKRtdZWgDtXaCH8FuGMd467Pmqgnj8u8ZCyRQjfPUK/W+OfUTFbRhwUHqj?= =?utf-8?q?UD+laxqq96asiY4Mv9TYRm6JKaKtbQDUenvIM1jjEA6LNyarMdiXAsyKtngDWlk6J?= =?utf-8?q?C0kkUme7Ozaugo3XgJgTDGyFpggL7OJmMoT1vMbgNH0B00zMwK155hMjxe+2uIYF7?= =?utf-8?q?d89E1qk34M7G2N8l048EhCWA1L1CVvSwN79LsV7CWJLmsbCgHej6s8MguCIr7WAdT?= =?utf-8?q?Lz/vPC827UkPVwEElE1iiN0r+pz7t0tWqNkKO+dVVsIgSHFasqTJhu12vH8fAn7ge?= =?utf-8?q?Tq8fVAoJHoZsn/J3LOKxv/xdXxHZqRi7wNXmgI/0eg9fIAFaXurO/y+QtPZYtQoMT?= =?utf-8?q?d1qepoHrEyMrlLG6Wcn0KmJv2Onp6SGBS07AuUdTB3dEGxBqRg+4sYcHyz/numPCs?= =?utf-8?q?Yhji0w4BES4VfRsYf8E+kGYaDCnMTr/bn23tfIE8zRB9P7XhGcqWVvOIstBpM2Q1p?= =?utf-8?q?ONQt0zQcmHju18pZ7bW4jNrQMFjlnmVqOGNfVOARUpt+irtVuoUyy8PTfgwvktZqq?= =?utf-8?q?di5Q1wLyTx4IRojjwmu+VsGTRRmd0Wact2KDZwLmJZr+l0DNI9S6ZbgEfkVQok8Te?= =?utf-8?q?BzEr98HGWRlLLjHWmVqk0zZt1p1gpUam2pBDO+71kzfuzEV4KLC5WdK8oL3dX+bud?= =?utf-8?q?hdP0HNnU/2HaFILMRWyusR+3282YGpyirwR1scE5plzvEgW8e4JJcowKt2pGRySTv?= =?utf-8?q?Xr4/5g0/U/SHWb0uZqMQ++pVfDePGpbixFKuMNffW0kYjSUzhwSep7uzM9hx+quTj?= =?utf-8?q?FZLn4l3tRZ5VHu5vwqynhVQnBZFIMUPO3putRSTy6LsLAfBfTCr93H0SVzF9eMZza?= =?utf-8?q?LAJgAjRoRszVKX3RICzP53jE7lVC3ZOq78PV9TqtJxS5pV2tiNQ8A=3D?= X-Forefront-Antispam-Report: CIP:91.26.50.189;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:Postix.phytec.de;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1102; X-OriginatorOrg: phytec.de X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2025 09:46:58.6082 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 45a27d81-825d-4d2a-b74a-08de12191c05 X-MS-Exchange-CrossTenant-Id: e609157c-80e2-446d-9be3-9c99c2399d29 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=e609157c-80e2-446d-9be3-9c99c2399d29;Ip=[91.26.50.189];Helo=[Postix.phytec.de] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509FA.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0P195MB1651 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 23 Oct 2025 09:47:11 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/120922 Update the systemd service file to reflect the changes of the source repository. Add a user and group "thingsboard_gateway" which the service runs under, instead of root. Store temporary files, like logs, in /var and make use of the newly created user and group. Additionally, the service should start after and wants a network connection to be online, not just be activated. Signed-off-by: Martin Schwan --- .../thingsboard-gateway.service | 18 +++++++++------- .../thingsboard-gateway_3.7.4.bb | 24 +++++++++++++++++++--- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/thingsboard-gateway.service b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/thingsboard-gateway.service index 5dd352a553fc71562f444561e6424bee94814691..0b7601d494b2b10e2e5cd39d25db7be4ba82b437 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/thingsboard-gateway.service +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway/thingsboard-gateway.service @@ -1,13 +1,17 @@ [Unit] -Description = Systemd service for Thingsboard Gateway -After = network.target +Description=ThingsBoard Gateway +After=network-online.target +Wants=network-online.target +ConditionPathExists=/etc/thingsboard-gateway/config/tb_gateway.json [Service] -ExecStart = /usr/bin/python3 /usr/bin/thingsboard-gateway -ExecStop = /bin/kill -INT $MAINPID -ExecReload = /bin/kill -TERM $MAINPID -Restart = always -Type = simple +Type=simple +User=thingsboard_gateway +Group=thingsboard_gateway +ExecStart=/usr/bin/python3 /usr/bin/thingsboard-gateway +ExecStop=/bin/kill -INT $MAINPID +ExecReload=/bin/kill -TERM $MAINPID +Restart=on-failure [Install] WantedBy=multi-user.target diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.7.4.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.7.4.bb index 8ff06285f9be60a09c1d49c2f07140e8212d22fc..7a82414937da8bdf3094c825ec5dc2ce4b429c1d 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.7.4.bb +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.7.4.bb @@ -43,21 +43,39 @@ RDEPENDS:${PN} += " python3-jsonpath-rw \ SRC_URI += "file://thingsboard-gateway.service" - -inherit systemd +inherit systemd useradd SYSTEMD_PACKAGES = "${PN}" SYSTEMD_SERVICE:${PN} = "thingsboard-gateway.service" +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = " \ + --system --no-create-home \ + --comment 'ThingsBoard-Gateway Service' \ + --home-dir ${localstatedir}/lib/${BPN} \ + --shell ${base_sbindir}/nologin \ + --gid thingsboard_gateway thingsboard_gateway" +GROUPADD_PARAM:${PN} = "--system thingsboard_gateway" + FILES:${PN} += "/etc \ /lib \ /usr \ + ${localstatedir} \ " do_install:append(){ install -d ${D}${sysconfdir}/${BPN}/config install -m 0644 ${S}/thingsboard_gateway/config/*.json ${D}${sysconfdir}/${BPN}/config + chown -R thingsboard_gateway:thingsboard_gateway ${D}${sysconfdir}/${BPN} - install -d ${D}${systemd_unitdir}/system/ + install -d ${D}${systemd_system_unitdir}/ install -m 0644 ${UNPACKDIR}/thingsboard-gateway.service ${D}${systemd_system_unitdir}/thingsboard-gateway.service + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/log/${BPN} 0755 thingsboard_gateway thingsboard_gateway -" \ + > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + echo "d ${localstatedir}/lib/${BPN} 0755 thingsboard_gateway thingsboard_gateway -" \ + >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi }