From patchwork Thu Oct 10 08:46:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niko Mauno X-Patchwork-Id: 50210 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 53653CF07C8 for ; Thu, 10 Oct 2024 08:48:28 +0000 (UTC) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (EUR02-DB5-obe.outbound.protection.outlook.com [40.107.249.125]) by mx.groups.io with SMTP id smtpd.web11.38923.1728550096789001253 for ; Thu, 10 Oct 2024 01:48:18 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@vaisala.com header.s=selector1 header.b=xX9q9AiD; spf=permerror, err=parse error for token &{10 18 spf3.vaisala.com}: parse error for token &{10 18 _spf-dc57.sapsf.eu}: limit exceeded (domain: vaisala.com, ip: 40.107.249.125, mailfrom: niko.mauno@vaisala.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BO/wxViPaCT5Co/qRnMOGR3BFWlxH9s7Lu4SgIGcRYAe37uqUN9KShJbS1205HiGBOwQJWG7bRP83EUaa9onr1qt+0t77N8ScE0yHUMsDDp5yXBV+4WTbgwoBd5pU6/TjiynaOxn1bGRMKgd9S+XhF4WvBEYclM2Sb8ANHpjdsNVZBjxi4HOc19BnGZDaXcS61xnDeRrTr+hY5ztmYkewwz+UU2UnMszMYH5UhxDjjOAXcZ3iWAfV421xiox+7QCothIwt9Kw1fcO558AQgrJqj5sc75dO0WQ5J/B7l/rTokgeA76+Hf9ubu1Vizc6peBqXJ/woZ+lECZFBiND96Jw== 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=MXJffnnIqLyIDuMRrqsi55zYbIlR7Nn/XlaC+92Mvoc=; b=euR7jMQKVLI3Fa9A6Ztq+PzYFQR9XFu3cevEOTj0DIT/Zw5y6kPTc+iODDodrER3Sr1IZMlgRv7o5b2xaTeRrwti/iA43r0e9f9GyrNcQH0ff9+w0bEeVXhQuopD2mW4vI9+wd/KZ/mdzMlxAp7qxLn9iX89RfolTjX5PTSGgjuEiGR94aJZHHybToxzpc0T5oOKGDjGQfelSOBB9bY9N1+pHlccMNFpE6DJYBXRE4ywqseNPDO3HFR0G6aMqM45S7tcQbr8Vox46Yap3xmncz9FUBh4Oi3hU5sX58EkfBNY6dalVcnkkHNsjNNKxXV5ihKBvlOUJ1LNs49p9oaV9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vaisala.com; dmarc=pass action=none header.from=vaisala.com; dkim=pass header.d=vaisala.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vaisala.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MXJffnnIqLyIDuMRrqsi55zYbIlR7Nn/XlaC+92Mvoc=; b=xX9q9AiDri+m7pnBdRrWzHUADrAxNH/7085awbE90U0pZ9MVK5FjDKzjYqfHm5XgYcEl8xJeCjBfR+Ys+bYZjIXWwEE96omKVet1vdD5Q9MLLte2m9UUVX3tthgMRIKz1E/am2IlIJsGdFF0cCFAig2lIBuYzMIsDicdXK34wTzxQM5UbRX27vz7lSB2wxuKkyoG03ZNHETX88zpyD6LfoxyHO+mwIg/709fN15u1ikcPS3CiYzz9qLNMrly2BQWY43sHz3Fol7SQfvq+UE5+GrhHzQsIy6V4pbEgq0A7idatd5SyDa5Fcb1zzqCBS5B6GsT+zMAdoe6WaXkrm5kJw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vaisala.com; Received: from AS4PR06MB8447.eurprd06.prod.outlook.com (2603:10a6:20b:4e2::11) by AM7PR06MB6519.eurprd06.prod.outlook.com (2603:10a6:20b:112::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8048.18; Thu, 10 Oct 2024 08:48:12 +0000 Received: from AS4PR06MB8447.eurprd06.prod.outlook.com ([fe80::af93:b150:b886:b2bc]) by AS4PR06MB8447.eurprd06.prod.outlook.com ([fe80::af93:b150:b886:b2bc%6]) with mapi id 15.20.8048.013; Thu, 10 Oct 2024 08:48:12 +0000 From: Niko Mauno To: openembedded-devel@lists.openembedded.org CC: raj.khem@gmail.com, Niko Mauno Subject: [meta-oe][PATCHv4] fluentbit: Upgrade recipe to 3.1.9 Date: Thu, 10 Oct 2024 08:46:24 +0000 Message-ID: <20241010084624.811148-1-niko.mauno@vaisala.com> X-Mailer: git-send-email 2.39.2 X-ClientProxiedBy: AM0PR02CA0178.eurprd02.prod.outlook.com (2603:10a6:20b:28e::15) To AS4PR06MB8447.eurprd06.prod.outlook.com (2603:10a6:20b:4e2::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS4PR06MB8447:EE_|AM7PR06MB6519:EE_ X-MS-Office365-Filtering-Correlation-Id: 6a9e154f-bef5-4118-743b-08dce90845cd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|376014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: y9xzMYTNm6wtM0KHvr2fHRSLBCWR2Iind6ZRJqb7OH38uyII+5ErJNtsOGFHLzgzHDxgjsS5aWxaPiq0OV437hai+RXar2sf+E/buu5OgEI+jpMFB3YWGQdUunyBeCg4DypUSRfiLrMzOKPbDmB4Na2mPczLHjspEtlupFUtIyyRApL+ndQXP9dYa+jzJNxM55Zj05uxYqRLmI3AIq6yg/CO++eWzQpuDD+gzrXGb+RTwiVJLiEAzn3ds1/JuGa1vJ96LNxY0lL71/TKPa/Bm6tdBiTqrwBNfneliJulSQ1QwWLZY+LEgp9dQaVQjRhc9GbQKfgbqeGHVcZh5ETVNN8NJ5ebgvjVDNn4S2qrwWTGvD8YBjOzlzMNxs0iXKD9sZLRH8ZJaKFIv1fjsjmIFj0pubYK+eCvfdac8qX1/Z+UuI0Y/6X97MQtsoI8Ca6st2bf6LOemJOQ3RFt29GvPBlM89qrWY9Ky2/1TXkxq7m35j5yx32T0R1OxDP6wOP6O4iLJXeWbxM6QK03+w4X6aPdM3STfLeejYw/oxTxveDS6sbIf5xVka8Q3Fqbc6mEZwadcpFWPlIBASCWPag3VGz9mirCnyoXlkJL2CgAD2MfaB5IMO9QLqruKGCQv44MsF1071udw7VteCluDa885xtD+UZviqv19Ny8hfdEEJhUN2Imah/K5ckAhv2Jz8AWhQ2p7vg1QIiN/1xlBlAJoUzfvSk8pDnwtJ+CHTmoVIUkp50M301t4uBL54bMxf0qi9VZU0ghuuSBkrIdAPuQm+9UvxTOF5g3+jj8/lAru1nzTk0+bdszHM9jeRQdBmISVc15HQm6wW5569qjNXoJ8miHPN42kMa78yfUsPadHVnuM+R+vHMiMUUSi1dJplZTRZSuOK2jypOBLWtkHJwrVb2BDNRaExMtF/I2fxRuEntKLWNIMix34Egp3UnfOmEzei0Gaz9mfRPblX8sj9YfF+97UDG0o0EIC6HkcOOA4E+uKUUcz9BcqdZGcduDs49mEEuLeaSyfGHztlLfid7fs6H+6Z5WldfAqRr32F5zvKtvit/wfP2pfLVA2JVSh8bEsDoBDKjznn42lVcIDzUyRxdYxw0tcaDaF+RGNm8FnNIlodmdqj1/C4siBYhow4v5rLaWVz4y15EnVOmET3WR6Gk4JbVy+c7z3Y6qqCmH4ZC5kXGaLZ8LMYmXQEYleVrS8JIIJpuKaGoq8rzQgEdD1wxV5Y1dmr8ubQUn+8kQUjoZN5xGoJcxq52v5OaecRoMnz82GmncNN392Rv4O//J7w== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR06MB8447.eurprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(52116014)(376014)(1800799024)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oaCxjC4uykq7CabGkLhkmI08i4Ijt7wcWy5c6zeNz6rgke8rjqGYO7MwXG4DWJm4Ahn/SASLnGSI8BY9DgZ6Izj+Kqr+p8np6WQdG6/7cG04hkCo53wTgIZ3uM9PO7jM9LIe3qPWvY1KXLvlfK2Y3E4+3pz10KTy+O2fzQdAGVEJlZMwKrbhzeoAf8oVr1Gp/IUhZVw0H6zdYI9HPl2XT3LyKr+K1YJ5+H8UBULq1zLB7yFwCLdPwAL5YCuhNpbkfFCndJeCOJGLvt1g5teIBaMtNt6qLgcRn14kVcz/eOUE0JfVZ4F/0LiRXYcG+0RMlF+weUYFL72HWXRIu5Oxn5VunpuK1aNVT+0ceN1dWrcpq6SCepRFxxJ+beCa7G3DRZNK8rI04ilY0v43RKl7BDqbjOcSkTGQ+qaezGz9GQXcX4kReWJBk2yCOUFSobVmYAIfnFdgyle++6+QCCiONUKLHP0vZ24EzV0leR9Xh54ANamGWdPzJyG9QMJsWnZnRYFOYmRTL8kml7APjdQFBElyw0ZZzmcZmFyctGgBaEyUprmZw/Ht0Y4XKh6ALhg5MRuXZ8+s+FoVVLs2iMJc7fIneA3P3HfYoz7rIeOj5pLWiO4RzYOLX4pV3i7NwGJRFlccjVNd+HoJq7nu5Kae7c5gaRwHh0OM52/ApvMbGKat1mx4kppfQ5r6xbIeJXekeOQdWsrK/r3WjMRXXsUT+nzjLoZK5+98OD+NAQM9PlECenjL4kB4buiuOX+Z1dAVYYOrz4CihiMlTFB9ZKi9htTsCnkIWBPelaOd2YagizbH7BE1QAuVqIyFT7L1wWjqkahPlFEwdeit4zPBF06BYW8yJ/LCma5c8Mc9UhyxUNxiKXQDZFvpYwGLmrxch/k3b2xtwG4GMP/bvazrcJ6uRTAqpF8G2sfrZ5/ochIb36iGVjzXA7GL2zjQc/hjuD2pGFvGr18QQ/suXQqi+2X6nFDaIRkKCtF7aoKTNDvdiZi1d7BOjHz3fi0UPW0cvWjoVOYyU36cTOA8CJg44X7PiHd+qKfMbc6JToBtTe93ZHP79yGNrDoCpDHylB6u6t6dkSj5e8exgaNloybkgyg2G8WkCYpqHnn3JQ1SGcamolcmFXGuaq47YC3aWqHSPhFroNo1bgrLPigg3SnNKoR32JhWbWCKd09/dgvAywnUg8JadgfxGnB5Sv8BadGyN77HlnRzeLUTmLBRPSbD9erVNUWUDyTpoI9QLDy1sNf8o31WMpAiX+TYbSoNHsILhRbMyHMb38ACPskiWsiLgUN7azmb0kRv5Ppudgm9tUAFfdOZToGVwoii8YqBYSrbBUshwAf6wzbHxjoDzKAOOnvyrHBE4U0Pd+CTnPtvYgv6DauR1KIvW7EE1t19goU6xEdWpzJMUdAtDZk/xoxPrrPXzVpQBxFWDiBXhRW80u5bN2TnLBbT0VTjqsFuVybZwoVaakQSp0qQQEoubWnsS9ltJlI11fps1PXcaz0Wda1A/DfFdaHZau+DEF9+E+yBkOVI0vFEoi+SSfDjKY30RDsfFTmJDI4D3R5x+qbE8tercEFeAKsyyH+2sdWV6B08M2iHKeFgDTYDQhtIAUpd0bzcGw== X-OriginatorOrg: vaisala.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a9e154f-bef5-4118-743b-08dce90845cd X-MS-Exchange-CrossTenant-AuthSource: AS4PR06MB8447.eurprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Oct 2024 08:48:12.1522 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 6d7393e0-41f5-4c2e-9b12-4c2be5da5c57 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2GsQ2RPRmmu8yFhbd9/nYwZj0tMPEZoiwP81qMB0UdqXgdnhJvFg4tx7O6htwcGfMY5uD3uHmiC6DSQWLjnT6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR06MB6519 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, 10 Oct 2024 08:48:28 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/112766 According to https://fluentbit.io/announcements/older-versions/ Security Policy: support for current series ends three months after a new series is released. Fluent Bit v1.9 Series has beel EOL since Dec 5, 2022, so upgrade the recipe to currently supported / newest available version. Relevant changelogs since previous 1.9.9 version of the component - https://fluentbit.io/announcements/v2.0.0/ - https://fluentbit.io/announcements/v2.1.0/ - https://fluentbit.io/announcements/v2.2.0/ - https://fluentbit.io/announcements/v3.0.0/ - https://fluentbit.io/announcements/v3.1.0/ - https://fluentbit.io/announcements/v3.1.1/ - https://fluentbit.io/announcements/v3.1.2/ - https://fluentbit.io/announcements/v3.1.3/ - https://fluentbit.io/announcements/v3.1.4/ - https://fluentbit.io/announcements/v3.1.5/ - https://fluentbit.io/announcements/v3.1.6/ - https://fluentbit.io/announcements/v3.1.7/ - https://fluentbit.io/announcements/v3.1.8/ - https://fluentbit.io/announcements/v3.1.9/ Associated added PACKAGECONFIG knobs are described for the most part in https://github.com/fluent/fluent-bit/blob/v3.1.9/CMakeLists.txt#L107-L167 The PACKAGECONFIG knobs are named according to the constant names used in upstream source code. Please note that here the 'yaml' PACKAGECONFIG option has changed to 'config-yaml', and instead of 'kafka' there is now 'out-kafka'. As a related side note, the plugin options are now defined in https://github.com/fluent/fluent-bit/blob/v3.1.9/cmake/plugins_options.cmake I have tested this change briefly against "qemuarm64" and "qemuppc" machines that the fluent-bit systemd service starts successfully in current master based core-image-minimal, and against "qemuarm" machine using yoe/meta-clang based core-image-minimal. Also tested using an i.MX6 board that the new Fluent Bit version seems to work as well as it did with the old 1.9.9 version with respect to logging in a Yocto Scarthgap based image. Signed-off-by: Niko Mauno --- .../packagegroups/packagegroup-meta-oe.bb | 1 + ...t-Do-not-use-private-makefile-target.patch | 64 --------- .../0001-Use-posix-strerror_r-with-musl.patch | 34 ----- ...rivate-makefile-targets-in-CMakelist.patch | 106 +++++++++++++++ ...ine-_GNU_SOURCE-for-memmem-API-check.patch | 28 ---- .../0002-mbedtls-Remove-unused-variable.patch | 40 ------ ...able-installing-systemd-service-file.patch | 40 ++++++ ...documentation-warning-as-error-with-.patch | 32 ----- ...0003-mbedtls-Do-not-overwrite-CFLAGS.patch | 34 ----- ...-to-store-return-from-flb_kv_item_cr.patch | 45 ------- ...md-init-systemd-detection-contingent.patch | 63 --------- ...kio-Link-with-fts-library-with-musl.patch} | 3 +- .../0005-Use-posix-strerror_r-with-musl.patch | 28 ++++ ...stackdriver-Fix-return-type-mismatch.patch | 33 ----- ...06-monkey-Fix-TLS-detection-testcase.patch | 36 ------ ...-not-check-for-upstart-on-build-host.patch | 46 ------- .../fluentbit/fluentbit_1.9.9.bb | 97 -------------- .../fluentbit/fluentbit_3.1.9.bb | 122 ++++++++++++++++++ 18 files changed, 298 insertions(+), 554 deletions(-) delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0001-Use-posix-strerror_r-with-musl.patch create mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0002-mbedtls-Remove-unused-variable.patch create mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0003-Disable-installing-systemd-service-file.patch delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Disable-documentation-warning-as-error-with-.patch delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Do-not-overwrite-CFLAGS.patch delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0004-build-Make-systemd-init-systemd-detection-contingent.patch rename meta-oe/recipes-extended/fluentbit/fluentbit/{0002-chunkio-Link-with-fts-library-with-musl.patch => 0004-chunkio-Link-with-fts-library-with-musl.patch} (91%) create mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0005-Use-posix-strerror_r-with-musl.patch delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0005-stackdriver-Fix-return-type-mismatch.patch delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0006-monkey-Fix-TLS-detection-testcase.patch delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit/0007-cmake-Do-not-check-for-upstart-on-build-host.patch delete mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit_1.9.9.bb create mode 100644 meta-oe/recipes-extended/fluentbit/fluentbit_3.1.9.bb diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index 6dbe194cd..78239b1ea 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb @@ -333,6 +333,7 @@ RDEPENDS:packagegroup-meta-oe-extended = "\ dumb-init \ enscript \ figlet \ + fluentbit \ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gnuplot", "", d)} \ haveged \ hexedit \ diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch deleted file mode 100644 index 0cabed963..000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 6a704ab7bf69cd5d6970b3a7d3ae7798b26027c1 Mon Sep 17 00:00:00 2001 -From: Paulo Neves -Date: Thu, 28 Jul 2022 11:28:41 +0200 -Subject: [PATCH] CMakeLists.txt Do not use private makefile $< target - -$< is a private detail from the Makefile generated by CMakefile and -are not under control or to be used at the CMakeLists level. In 3.20 -that private generation changed pre-requisite targets[1] and now logs -contain the path compiler_depend.ts instead of the actual file. - -Upstream-Status: Pending [https://github.com/fluent/fluent-bit/issues/5492] ---- - CMakeLists.txt | 6 +----- - lib/chunkio/CMakeLists.txt | 7 +------ - lib/cmetrics/CMakeLists.txt | 7 +------ - 3 files changed, 3 insertions(+), 17 deletions(-) - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -46,11 +46,7 @@ else() - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") - endif() - --if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'") --else() -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__") --endif() -+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__") - - if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7l") - set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -latomic") ---- a/lib/chunkio/CMakeLists.txt -+++ b/lib/chunkio/CMakeLists.txt -@@ -14,12 +14,7 @@ else() - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall ") - endif() - --# Set __FILENAME__ --if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'") --else() -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__") --endif() -+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__") - - include(cmake/macros.cmake) - ---- a/lib/cmetrics/CMakeLists.txt -+++ b/lib/cmetrics/CMakeLists.txt -@@ -34,12 +34,7 @@ set(CMT_VERSION_MINOR 3) - set(CMT_VERSION_PATCH 7) - set(CMT_VERSION_STR "${CMT_VERSION_MAJOR}.${CMT_VERSION_MINOR}.${CMT_VERSION_PATCH}") - --# Define __CMT_FILENAME__ consistently across Operating Systems --if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__CMT_FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'") --else() -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__CMT_FILENAME__=__FILE__") --endif() -+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__CMT_FILENAME__=__FILE__") - - # Configuration options - option(CMT_DEV "Enable development mode" No) diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Use-posix-strerror_r-with-musl.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Use-posix-strerror_r-with-musl.patch deleted file mode 100644 index 8d89e4df3..000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Use-posix-strerror_r-with-musl.patch +++ /dev/null @@ -1,34 +0,0 @@ -From f645128082117a0152a95b3dccd869a184b7513f Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 10 Aug 2022 01:23:48 -0700 -Subject: [PATCH 1/2] Use posix strerror_r with musl - -Default with glibc is GNU extention of strerror_r -where as musl uses posix variant, call that out - -Upstream-Status: Inappropriate [Need wider porting beyond linux/musl/glibc] -Signed-off-by: Khem Raj ---- - src/flb_network.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/flb_network.c b/src/flb_network.c -index 992eb1d..5d7a337 100644 ---- a/src/flb_network.c -+++ b/src/flb_network.c -@@ -506,7 +506,12 @@ static int net_connect_async(int fd, - } - - /* Connection is broken, not much to do here */ -+#ifdef __GLIBC__ - str = strerror_r(error, so_error_buf, sizeof(so_error_buf)); -+#else -+ strerror_r(error, so_error_buf, sizeof(so_error_buf)); -+ str = so_error_buf; -+#endif - flb_error("[net] TCP connection failed: %s:%i (%s)", - u->tcp_host, u->tcp_port, str); - return -1; --- -2.37.1 - diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch new file mode 100644 index 000000000..233e8c4e3 --- /dev/null +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch @@ -0,0 +1,106 @@ +From 940a4e270bb8879a78c0eac4daf997cb77e25b4b Mon Sep 17 00:00:00 2001 +From: Niko Mauno +Date: Sun, 29 Sep 2024 12:00:00 +0000 +Subject: [PATCH] lib: Do not use private makefile targets in CMakelists.txt + +By extending the scope of changes introduced in commit +fc325524d50fe179b76f127243ab9e03ddbdaaa4 +("build: CMakeLists.txt Do not use private makefile targets (#5819)") +we mitigate the following error produced by BitBake in Yocto + + ERROR: fluentbit-3.1.9-r0 do_package_qa: QA Issue: File /usr/bin/fluent-bit in package fluentbit contains reference to TMPDIR [buildpaths] + ERROR: fluentbit-3.1.9-r0 do_package_qa: Fatal QA errors were found, failing task. + +stemming from + + $ strings packages-split/fluentbit/usr/bin/fluent-bit + ... + $(subst /yocto/upstream/build/tmp/work/cortexa57-poky-linux/fluentbit/3.1.9/git/,,$(abspath $<)) + ... + +Signed-off-by: Niko Mauno + +Upstream-Status: Submitted [https://github.com/fluent/fluent-bit/pull/9450] +--- + lib/cfl/CMakeLists.txt | 8 ++------ + lib/cmetrics/CMakeLists.txt | 8 ++------ + lib/ctraces/CMakeLists.txt | 8 ++------ + lib/monkey/CMakeLists.txt | 4 ---- + 4 files changed, 6 insertions(+), 22 deletions(-) + +diff --git a/lib/cfl/CMakeLists.txt b/lib/cfl/CMakeLists.txt +index 2193cb29c..e2a5cba37 100644 +--- a/lib/cfl/CMakeLists.txt ++++ b/lib/cfl/CMakeLists.txt +@@ -40,12 +40,8 @@ if(NOT MSVC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") + endif() + +-# Define __FILENAME__ consistently across Operating Systems +-if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$$(subst ${CMAKE_SOURCE_DIR}/,,$$(abspath $$<))\"'") +-else() +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__") +-endif() ++# Define __FILENAME__ ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__") + + + +diff --git a/lib/cmetrics/CMakeLists.txt b/lib/cmetrics/CMakeLists.txt +index 4f2989106..9c40dadf4 100644 +--- a/lib/cmetrics/CMakeLists.txt ++++ b/lib/cmetrics/CMakeLists.txt +@@ -60,12 +60,8 @@ if(NOT MSVC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") + endif() + +-# Define __CMT_FILENAME__ consistently across Operating Systems +-if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__CMT_FILENAME__='\"$$(subst ${CMAKE_SOURCE_DIR}/,,$$(abspath $$<))\"'") +-else() +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__CMT_FILENAME__=__FILE__") +-endif() ++# Define __CMT_FILENAME__ ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__CMT_FILENAME__=__FILE__") + + # Configuration options + option(CMT_DEV "Enable development mode" No) +diff --git a/lib/ctraces/CMakeLists.txt b/lib/ctraces/CMakeLists.txt +index e92834e06..5cebb3b73 100644 +--- a/lib/ctraces/CMakeLists.txt ++++ b/lib/ctraces/CMakeLists.txt +@@ -30,12 +30,8 @@ set(CTR_VERSION_MINOR 5) + set(CTR_VERSION_PATCH 6) + set(CTR_VERSION_STR "${CTR_VERSION_MAJOR}.${CTR_VERSION_MINOR}.${CTR_VERSION_PATCH}") + +-# Define __FILENAME__ consistently across Operating Systems +-if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$$(subst ${CMAKE_SOURCE_DIR}/,,$$(abspath $$<))\"'") +-else() +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__") +-endif() ++# Define __FILENAME__ ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__") + + # Configuration options + option(CTR_DEV "Enable development mode" No) +diff --git a/lib/monkey/CMakeLists.txt b/lib/monkey/CMakeLists.txt +index 95d8cc1e6..8c66887da 100644 +--- a/lib/monkey/CMakeLists.txt ++++ b/lib/monkey/CMakeLists.txt +@@ -15,10 +15,8 @@ include(GNUInstallDirs) + # Set default compiler options + if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wall -Wextra") +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$$(subst ${CMAKE_SOURCE_DIR}/,,$$(abspath \$$<))\"'") +-else() +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__") + endif() ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__") + + # Monkey Version + set(MK_VERSION_MAJOR 1) +-- +2.39.2 + diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch deleted file mode 100644 index e70664031..000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0d22024c5defba7007e3e633753790e20209c6f6 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 9 Aug 2022 09:59:41 -0700 -Subject: [PATCH 1/5] monkey: Define _GNU_SOURCE for memmem API check - -This define is necessary to get this API on glibc based systems - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - lib/monkey/mk_core/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/monkey/mk_core/CMakeLists.txt b/lib/monkey/mk_core/CMakeLists.txt -index 0e74f8d..739fff3 100644 ---- a/lib/monkey/mk_core/CMakeLists.txt -+++ b/lib/monkey/mk_core/CMakeLists.txt -@@ -62,6 +62,7 @@ set(src "${src}" - ) - - check_c_source_compiles(" -+ #define _GNU_SOURCE - #include - int main() { - char haystack[] = \"1234\"; --- -2.37.1 - diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-mbedtls-Remove-unused-variable.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-mbedtls-Remove-unused-variable.patch deleted file mode 100644 index d911420df..000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-mbedtls-Remove-unused-variable.patch +++ /dev/null @@ -1,40 +0,0 @@ -From c7b969d1a2a6b61bd179214ee2516b7b6cd55b27 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 9 Aug 2022 11:21:57 -0700 -Subject: [PATCH 2/5] mbedtls: Remove unused variable - -Fixes -library/bignum.c:1395:29: error: variable 't' set but not used [-Werror,-Wunused-but-set-variable] - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - lib/mbedtls-2.28.0/library/bignum.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/lib/mbedtls-2.28.0/library/bignum.c b/lib/mbedtls-2.28.0/library/bignum.c -index 62e7f76..9c256ae 100644 ---- a/lib/mbedtls-2.28.0/library/bignum.c -+++ b/lib/mbedtls-2.28.0/library/bignum.c -@@ -1392,7 +1392,7 @@ void mpi_mul_hlp( size_t i, - mbedtls_mpi_uint *d, - mbedtls_mpi_uint b ) - { -- mbedtls_mpi_uint c = 0, t = 0; -+ mbedtls_mpi_uint c = 0; - - #if defined(MULADDC_HUIT) - for( ; i >= 8; i -= 8 ) -@@ -1443,8 +1443,6 @@ void mpi_mul_hlp( size_t i, - } - #endif /* MULADDC_HUIT */ - -- t++; -- - while( c != 0 ) - { - *d += c; c = ( *d < c ); d++; --- -2.37.1 - diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-Disable-installing-systemd-service-file.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-Disable-installing-systemd-service-file.patch new file mode 100644 index 000000000..36a0092ba --- /dev/null +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-Disable-installing-systemd-service-file.patch @@ -0,0 +1,40 @@ +From c3b891eeec691753fccdf8e0a4541dcba244ec6b Mon Sep 17 00:00:00 2001 +From: Niko Mauno +Date: Thu, 10 Oct 2024 11:06:07 +0300 +Subject: [PATCH] Disable installing systemd service file + +With this we avoid the the following BitBake error when using some +other init manager than SystemD: + + ERROR: fluentbit-3.1.9-r0 do_package: QA Issue: fluentbit: Files/directories were installed but not shipped in any package: + /lib + /lib/systemd + /lib/systemd/system + /lib/systemd/system/fluent-bit.service + Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. + fluentbit: 4 installed and not shipped files. [installed-vs-shipped] + ERROR: fluentbit-3.1.9-r0 do_package: Fatal QA errors were found, failing task. + +Upstream-Status: Inappropriate [hack] + +Signed-off-by: Niko Mauno +--- + src/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e24666484..c102806d0 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -534,7 +534,7 @@ if(FLB_BINARY) + set(SYSTEMD_UNITDIR /lib/systemd/system) + endif() + +- if(SYSTEMD_UNITDIR) ++ if(FALSE) + set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service") + configure_file( + "${PROJECT_SOURCE_DIR}/init/systemd.in" +-- +2.39.2 + diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Disable-documentation-warning-as-error-with-.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Disable-documentation-warning-as-error-with-.patch deleted file mode 100644 index 473ebaf7d..000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Disable-documentation-warning-as-error-with-.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 2d12629f768d2459b1fc8a8ca0c38024d84bc195 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 9 Aug 2022 11:32:12 -0700 -Subject: [PATCH 3/5] mbedtls: Disable documentation warning as error with - clang - -There are shortcomings with doxygen info which clang-15+ flags, dont -treat them as errors - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - lib/mbedtls-2.28.0/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/mbedtls-2.28.0/CMakeLists.txt b/lib/mbedtls-2.28.0/CMakeLists.txt -index b33c088..c5f886f 100644 ---- a/lib/mbedtls-2.28.0/CMakeLists.txt -+++ b/lib/mbedtls-2.28.0/CMakeLists.txt -@@ -212,7 +212,7 @@ if(CMAKE_COMPILER_IS_GNU) - endif(CMAKE_COMPILER_IS_GNU) - - if(CMAKE_COMPILER_IS_CLANG) -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wno-error=documentation") - set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage") - set(CMAKE_C_FLAGS_ASAN "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O3") - set(CMAKE_C_FLAGS_ASANDBG "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls") --- -2.37.1 - diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Do-not-overwrite-CFLAGS.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Do-not-overwrite-CFLAGS.patch deleted file mode 100644 index 158857ae2..000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Do-not-overwrite-CFLAGS.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 8486b912281ae85db0c9fc05bb546f16872e114c Mon Sep 17 00:00:00 2001 -From: Paulo Neves -Date: Thu, 28 Jul 2022 14:37:18 +0200 -Subject: [PATCH] mbedtls: Do not overwrite CFLAGS - -bitbake passes CFLAGS that are often in conflict with the ones set -in mbedtls' CMakeLists.txt. Such conflicts are the inability to use -FORTIFY_SOURCE=2 except in release mode - -Upstream-Status: Inappropriate [due to fluent-bit having it's own Release flags that also overwrite bitbake ones.] ---- - lib/mbedtls-2.28.0/CMakeLists.txt | 2 -- - 1 file changed, 2 deletions(-) - ---- a/lib/mbedtls-2.28.0/CMakeLists.txt -+++ b/lib/mbedtls-2.28.0/CMakeLists.txt -@@ -204,8 +204,6 @@ if(CMAKE_COMPILER_IS_GNU) - if (GCC_VERSION VERSION_GREATER 7.0 OR GCC_VERSION VERSION_EQUAL 7.0) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wformat-overflow=2 -Wformat-truncation") - endif() -- set(CMAKE_C_FLAGS_RELEASE "-O2") -- set(CMAKE_C_FLAGS_DEBUG "-O0 -g3") - set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage") - set(CMAKE_C_FLAGS_ASAN "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O3") - set(CMAKE_C_FLAGS_ASANDBG "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls") -@@ -215,8 +213,6 @@ endif(CMAKE_COMPILER_IS_GNU) - - if(CMAKE_COMPILER_IS_CLANG) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral") -- set(CMAKE_C_FLAGS_RELEASE "-O2") -- set(CMAKE_C_FLAGS_DEBUG "-O0 -g3") - set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage") - set(CMAKE_C_FLAGS_ASAN "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O3") - set(CMAKE_C_FLAGS_ASANDBG "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls") diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch deleted file mode 100644 index bd4276193..000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch +++ /dev/null @@ -1,45 +0,0 @@ -From a797b79483940ed4adcaa5fe2c40dd0487c7c2c7 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 9 Aug 2022 11:39:08 -0700 -Subject: [PATCH 4/5] Use correct type to store return from flb_kv_item_create - -Fix -error: incompatible pointer to integer conversion assigning to 'int' from 'struct flb_kv *' - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - plugins/out_stackdriver/stackdriver_conf.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/plugins/out_stackdriver/stackdriver_conf.c b/plugins/out_stackdriver/stackdriver_conf.c -index a9a8eb0..e4f969e 100644 ---- a/plugins/out_stackdriver/stackdriver_conf.c -+++ b/plugins/out_stackdriver/stackdriver_conf.c -@@ -176,12 +176,12 @@ static int read_credentials_file(const char *cred_file, struct flb_stackdriver * - - static int parse_configuration_labels(struct flb_stackdriver *ctx) - { -- int ret; - char *p; - flb_sds_t key; - flb_sds_t val; - struct mk_list *head; - struct flb_slist_entry *entry; -+ struct flb_kv *ret; - msgpack_object_kv *kv = NULL; - - if (ctx->labels) { -@@ -216,7 +216,7 @@ static int parse_configuration_labels(struct flb_stackdriver *ctx) - flb_sds_destroy(key); - flb_sds_destroy(val); - -- if (ret == -1) { -+ if (!ret) { - return -1; - } - } --- -2.37.1 - diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0004-build-Make-systemd-init-systemd-detection-contingent.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-build-Make-systemd-init-systemd-detection-contingent.patch deleted file mode 100644 index f6e3dce2f..000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0004-build-Make-systemd-init-systemd-detection-contingent.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 7a792624925d46690c1f07fe4b194b5f4c510db6 Mon Sep 17 00:00:00 2001 -From: Paulo Neves -Date: Tue, 2 Aug 2022 09:57:05 +0200 -Subject: [PATCH 1/1] build: Make systemd init systemd detection contingent on - pkgconfig - -Use pkg-config to get systemd.pc variables and systemdunitdir. Those -variable ensure that .service files are installed in the correct paths -and only when systemd is detected. - -Upstream-Status: Pending [https://github.com/fluent/fluent-bit/pull/5818] - ---- - cmake/FindJournald.cmake | 4 ++++ - src/CMakeLists.txt | 4 ++-- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/cmake/FindJournald.cmake b/cmake/FindJournald.cmake -index f5a3a832b..9e6657a29 100644 ---- a/cmake/FindJournald.cmake -+++ b/cmake/FindJournald.cmake -@@ -5,6 +5,8 @@ - # JOURNALD_INCLUDE_DIR - the Journald include directory - # JOURNALD_LIBRARIES - Link these to use Journald - # JOURNALD_DEFINITIONS - Compiler switches required for using Journald -+# SYSTEMD_UNITDIR - The systemd units' directory -+# - # Redistribution and use is allowed according to the terms of the BSD license. - # For details see the accompanying COPYING-CMAKE-SCRIPTS file. - # -@@ -16,7 +18,9 @@ - # in the FIND_PATH() and FIND_LIBRARY() calls - find_package(PkgConfig) - pkg_check_modules(PC_JOURNALD QUIET systemd) -+pkg_get_variable(PC_SYSTEMD_UNITDIR systemd "systemdsystemunitdir") - -+set(SYSTEMD_UNITDIR ${PC_SYSTEMD_UNITDIR}) - set(JOURNALD_FOUND ${PC_JOURNALD_FOUND}) - set(JOURNALD_DEFINITIONS ${PC_JOURNALD_CFLAGS_OTHER}) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 522bbf9bd..30743d8d6 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -480,13 +480,13 @@ if(FLB_BINARY) - endif() - - # Detect init system, install upstart, systemd or init.d script -- if(IS_DIRECTORY /lib/systemd/system) -+ if(DEFINED SYSTEMD_UNITDIR) - set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service") - configure_file( - "${PROJECT_SOURCE_DIR}/init/systemd.in" - ${FLB_SYSTEMD_SCRIPT} - ) -- install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION /lib/systemd/system) -+ install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR}) - install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary) - elseif(IS_DIRECTORY /usr/share/upstart) - set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf") --- -2.25.1 - diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-chunkio-Link-with-fts-library-with-musl.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch similarity index 91% rename from meta-oe/recipes-extended/fluentbit/fluentbit/0002-chunkio-Link-with-fts-library-with-musl.patch rename to meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch index bdcc53496..d1c39d89c 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-chunkio-Link-with-fts-library-with-musl.patch +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch @@ -1,7 +1,7 @@ From 63dbbad5978e5f5b0e7d42614999cb6b4ebcce10 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 10 Aug 2022 01:27:16 -0700 -Subject: [PATCH 2/2] chunkio: Link with fts library with musl +Subject: [PATCH] chunkio: Link with fts library with musl Fixes cio_utils.c:(.text+0x64): undefined reference to `fts_read' @@ -27,4 +27,3 @@ index a4fc2d3..4244eb8 100644 set(src -- 2.37.1 - diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0005-Use-posix-strerror_r-with-musl.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0005-Use-posix-strerror_r-with-musl.patch new file mode 100644 index 000000000..bcce32803 --- /dev/null +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0005-Use-posix-strerror_r-with-musl.patch @@ -0,0 +1,28 @@ +From f645128082117a0152a95b3dccd869a184b7513f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 10 Aug 2022 01:23:48 -0700 +Subject: [PATCH] Use posix strerror_r with musl + +Default with glibc is GNU extention of strerror_r +where as musl uses posix variant, call that out + +Upstream-Status: Inappropriate [Need wider porting beyond linux/musl/glibc] +Signed-off-by: Khem Raj + +Resolved conflicts while upgrading recipe from v1.9.9 to v3.1.9. + +Signed-off-by: Niko Mauno + +diff --git a/src/flb_network.c b/src/flb_network.c +index d183209fd..41e0281b5 100644 +--- a/src/flb_network.c ++++ b/src/flb_network.c +@@ -553,7 +553,7 @@ static int net_connect_async(int fd, + /* Connection is broken, not much to do here */ + #if ((defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L) || \ + (defined(_XOPEN_SOURCE) || _XOPEN_SOURCE - 0L >= 600L)) && \ +- (!defined(_GNU_SOURCE)) ++ (!defined(_GNU_SOURCE)) || (!defined(__GLIBC__)) + ret = strerror_r(error, so_error_buf, sizeof(so_error_buf)); + if (ret == 0) { + str = so_error_buf; diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0005-stackdriver-Fix-return-type-mismatch.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0005-stackdriver-Fix-return-type-mismatch.patch deleted file mode 100644 index f023ab573..000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0005-stackdriver-Fix-return-type-mismatch.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 27f0bd5a3339612e03112e6b490900a9fabc3337 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 9 Aug 2022 11:44:25 -0700 -Subject: [PATCH 5/5] stackdriver: Fix return type mismatch - -Fix -error: incompatible integer to pointer conversion returning 'int' from a function with result type 'flb_sds_t' (aka 'char *') [-Wint-conversion] - return -1; - ^~ - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - plugins/out_stackdriver/stackdriver.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/plugins/out_stackdriver/stackdriver.c b/plugins/out_stackdriver/stackdriver.c -index ae66bf2..e01755c 100644 ---- a/plugins/out_stackdriver/stackdriver.c -+++ b/plugins/out_stackdriver/stackdriver.c -@@ -2033,7 +2033,7 @@ static flb_sds_t stackdriver_format(struct flb_stackdriver *ctx, - flb_sds_destroy(operation_producer); - msgpack_unpacked_destroy(&result); - msgpack_sbuffer_destroy(&mp_sbuf); -- return -1; -+ return NULL; - } - - /* Number of parsed labels */ --- -2.37.1 - diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0006-monkey-Fix-TLS-detection-testcase.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0006-monkey-Fix-TLS-detection-testcase.patch deleted file mode 100644 index c3f2574d2..000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0006-monkey-Fix-TLS-detection-testcase.patch +++ /dev/null @@ -1,36 +0,0 @@ -From f88d9b82e8bd8ae38fba666b5825ffb41769f81a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 9 Aug 2022 12:25:22 -0700 -Subject: [PATCH] monkey: Fix TLS detection testcase - -Clang15 errors out on compiling the check and disables TLS - -Fixes errors like - -error: call to undeclared function '__tls_get_addr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] - __tls_get_addr(0); - ^ - -Signed-off-by: Khem Raj ---- -Upstream-Status: Pending - - lib/monkey/CMakeLists.txt | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/lib/monkey/CMakeLists.txt b/lib/monkey/CMakeLists.txt -index 15e62e8..96ac2bd 100644 ---- a/lib/monkey/CMakeLists.txt -+++ b/lib/monkey/CMakeLists.txt -@@ -178,6 +178,8 @@ endif() - # Use old Pthread TLS - if(NOT MK_PTHREAD_TLS) - check_c_source_compiles(" -+ #include -+ extern void *__tls_get_addr(size_t *v); - __thread int a; - int main() { - __tls_get_addr(0); --- -2.37.1 - diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0007-cmake-Do-not-check-for-upstart-on-build-host.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0007-cmake-Do-not-check-for-upstart-on-build-host.patch deleted file mode 100644 index 71bdd34ee..000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0007-cmake-Do-not-check-for-upstart-on-build-host.patch +++ /dev/null @@ -1,46 +0,0 @@ -From c41653e856d05ed430d22f8b311714ff756a0e0b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 23 Mar 2023 18:05:27 -0700 -Subject: [PATCH] cmake: Do not check for upstart on build host - -Some ubuntu distros might have this directory /usr/share/upstart around -and yocto based distros not using systemd will process this piece of -code and falsely assume that target supports upstart, which may not be -true in case of cross-compilation. - -This also can end up in configure errors e.g. - -| CMake Error at src/CMakeLists.txt:496 (install): -| install DIRECTORY given unknown argument "/etc/td-agent-bit/". -| -| -| -- Configuring incomplete, errors occurred! - -Upstream-Status: Inappropriate [ Cross-compile Specific ] -Signed-off-by: Khem Raj ---- - src/CMakeLists.txt | 8 -------- - 1 file changed, 8 deletions(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index bb30b2a..c63b6d8 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -486,14 +486,6 @@ if(FLB_BINARY) - ) - install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR}) - install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary) -- elseif(IS_DIRECTORY /usr/share/upstart) -- set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf") -- configure_file( -- "${PROJECT_SOURCE_DIR}/init/upstart.in" -- ${FLB_UPSTART_SCRIPT} -- ) -- install(FILES ${FLB_UPSTART_SCRIPT} COMPONENT binary DESTINATION /etc/init) -- install(DIRECTORY DESTINATION COMPONENT binary ${FLB_INSTALL_CONFDIR}) - else() - # FIXME: should we support Sysv init script ? - endif() --- -2.40.0 - diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.9.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.9.bb deleted file mode 100644 index 660a3a63e..000000000 --- a/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.9.bb +++ /dev/null @@ -1,97 +0,0 @@ -SUMMARY = "Fast Log processor and Forwarder" -DESCRIPTION = "Fluent Bit is a data collector, processor and \ -forwarder for Linux. It supports several input sources and \ -backends (destinations) for your data. \ -" - -HOMEPAGE = "http://fluentbit.io" -BUGTRACKER = "https://github.com/fluent/fluent-bit/issues" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" -SECTION = "net" - -SRC_URI = "https://releases.fluentbit.io/1.9/source-${PV}.tar.gz;subdir=fluent-bit-${PV};downloadfilename=${BPN}-${PV}.tar.gz \ - file://0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch \ - file://0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch \ - file://0003-mbedtls-Do-not-overwrite-CFLAGS.patch \ - file://0004-build-Make-systemd-init-systemd-detection-contingent.patch \ - file://0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch \ - file://0002-mbedtls-Remove-unused-variable.patch \ - file://0003-mbedtls-Disable-documentation-warning-as-error-with-.patch \ - file://0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch \ - file://0005-stackdriver-Fix-return-type-mismatch.patch \ - file://0006-monkey-Fix-TLS-detection-testcase.patch \ - file://0007-cmake-Do-not-check-for-upstart-on-build-host.patch \ - " -SRC_URI:remove:x86 = "file://0002-mbedtls-Remove-unused-variable.patch" -SRC_URI:append:libc-musl = "\ - file://0001-Use-posix-strerror_r-with-musl.patch \ - file://0002-chunkio-Link-with-fts-library-with-musl.patch \ - " -SRC_URI[sha256sum] = "3f6cd4bd1894cda16b465aef6ffec7e920d54c4209b3e2320fcffe7ae345700e" -S = "${WORKDIR}/fluent-bit-${PV}" - -DEPENDS = "zlib bison-native flex-native openssl" -DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" - -PACKAGECONFIG[yaml] = "-DFLB_CONFIG_YAML=On,-DFLB_CONFIG_YAML=Off,libyaml" -PACKAGECONFIG[kafka] = "-DFLB_OUT_KAFKA=On,-DFLB_OUT_KAFKA=Off,librdkafka" -PACKAGECONFIG[examples] = "-DFLB_EXAMPLES=On,-DFLB_EXAMPLES=Off" -PACKAGECONFIG[jemalloc] = "-DFLB_JEMALLOC=On,-DFLB_JEMALLOC=Off,jemalloc" -#TODO add more fluentbit options to PACKAGECONFIG[] - -DEPENDS:append:libc-musl = " fts " - -# flex hardcodes the input file in #line directives leading to TMPDIR contamination of debug sources. -do_compile:append() { - find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${TMPDIR}|${TARGET_DBGSRC_DIR}/|g' -} - -PACKAGECONFIG ?= "yaml" - -LTO = "" - -# Use CMake 'Unix Makefiles' generator -OECMAKE_GENERATOR ?= "Unix Makefiles" - -# Fluent Bit build options -# ======================== - -# Host related setup -EXTRA_OECMAKE += "-DGNU_HOST=${HOST_SYS} -DFLB_TD=1" - -# Disable LuaJIT and filter_lua support -EXTRA_OECMAKE += "-DFLB_LUAJIT=Off -DFLB_FILTER_LUA=Off " - -# Disable Library and examples -EXTRA_OECMAKE += "-DFLB_SHARED_LIB=Off" - -# Enable systemd iff systemd is in DISTRO_FEATURES -EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES','systemd','-DFLB_SYSTEMD=On','-DFLB_SYSTEMD=Off',d)}" - -# Enable release builds -EXTRA_OECMAKE += "-DFLB_RELEASE=On" - -# musl needs these options -EXTRA_OECMAKE:append:libc-musl = ' -DFLB_JEMALLOC_OPTIONS="--with-jemalloc-prefix=je_ --with-lg-quantum=3" -DFLB_CORO_STACK_SIZE=24576' - -EXTRA_OECMAKE:append:riscv64 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" -EXTRA_OECMAKE:append:riscv32 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" -EXTRA_OECMAKE:append:mips = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" -EXTRA_OECMAKE:append:powerpc = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" -EXTRA_OECMAKE:append:x86 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" - -CFLAGS:append:x86 = " -DMBEDTLS_HAVE_SSE2" - -# Fixes build with GCC-14 -CFLAGS += "-Wno-error=incompatible-pointer-types" - -inherit cmake systemd pkgconfig - -SYSTEMD_SERVICE:${PN} = "td-agent-bit.service" - -EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/" -TARGET_CC_ARCH += " ${SELECTED_OPTIMIZATION}" - -SKIP_RECIPE[fluentbit] ?= "It is not reproducible. QA Issue: File /usr/bin/.debug/td-agent-bit in package fluentbit-dbg contains reference to TMPDIR [buildpaths]" diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_3.1.9.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_3.1.9.bb new file mode 100644 index 000000000..fc67236d3 --- /dev/null +++ b/meta-oe/recipes-extended/fluentbit/fluentbit_3.1.9.bb @@ -0,0 +1,122 @@ +SUMMARY = "Fast Log Processor and Forwarder" +DESCRIPTION = "Fluent Bit allows to collect log events or metrics from \ +different sources, process them and deliver them to different backends \ +such as Fluentd, Elasticsearch, Splunk, DataDog, Kafka, New Relic, Azure \ +services, AWS services, Google services, NATS, InfluxDB or any custom \ +HTTP end-point." +HOMEPAGE = "http://fluentbit.io" +BUGTRACKER = "https://github.com/fluent/fluent-bit/issues" +SECTION = "net" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" +DEPENDS = "\ + bison-native \ + flex-native \ + openssl \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" +DEPENDS:append:libc-musl = " fts" + +SRCREV = "431fa79ae27edaef8d050a7af6f038f4400193a1" +SRC_URI = "\ + git://github.com/fluent/fluent-bit.git;branch=3.1;protocol=https \ + file://0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch \ + file://0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0003-Disable-installing-systemd-service-file.patch', d)} \ +" +SRC_URI:append:libc-musl = "\ + file://0004-chunkio-Link-with-fts-library-with-musl.patch \ + file://0005-Use-posix-strerror_r-with-musl.patch \ +" + +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= "\ + aws \ + binary \ + config-yaml \ + custom-calyptia \ + http-server \ + inotify \ + metrics \ + parser \ + proxy-go \ + record-accessor \ + regex \ + release \ + signv4 \ + sqldb \ + stream-processor \ + tls \ + utf8-encoder \ +" + +PACKAGECONFIG[all] = "-DFLB_ALL=Yes,-DFLB_ALL=No" +PACKAGECONFIG[arrow] = "-DFLB_ARROW=Yes,-DFLB_ARROW=No" +PACKAGECONFIG[avro-encoder] = "-DFLB_AVRO_ENCODER=Yes,-DFLB_AVRO_ENCODER=No" +PACKAGECONFIG[aws-error-reporter] = "-DFLB_AWS_ERROR_REPORTER=Yes,-DFLB_AWS_ERROR_REPORTER=No" +PACKAGECONFIG[aws] = "-DFLB_AWS=Yes,-DFLB_AWS=No" +PACKAGECONFIG[backtrace] = "-DFLB_BACKTRACE=Yes,-DFLB_BACKTRACE=No" +PACKAGECONFIG[binary] = "-DFLB_BINARY=Yes,-DFLB_BINARY=No" +PACKAGECONFIG[chunk-trace] = "-DFLB_CHUNK_TRACE=Yes,-DFLB_CHUNK_TRACE=No" +PACKAGECONFIG[config-yaml] = "-DFLB_CONFIG_YAML=Yes,-DFLB_CONFIG_YAML=No,libyaml" +PACKAGECONFIG[coverage] = "-DFLB_COVERAGE=Yes,-DFLB_COVERAGE=No" +PACKAGECONFIG[custom-calyptia] = "-DFLB_CUSTOM_CALYPTIA=Yes,-DFLB_CUSTOM_CALYPTIA=No" +PACKAGECONFIG[debug] = "-DFLB_DEBUG=Yes,-DFLB_DEBUG=No" +PACKAGECONFIG[enforce-alignment] = "-DFLB_ENFORCE_ALIGNMENT=Yes,-DFLB_ENFORCE_ALIGNMENT=No" +PACKAGECONFIG[examples] = "-DFLB_EXAMPLES=Yes,-DFLB_EXAMPLES=No" +PACKAGECONFIG[http-client-debug] = "-DFLB_HTTP_CLIENT_DEBUG=Yes,-DFLB_HTTP_CLIENT_DEBUG=No" +PACKAGECONFIG[http-server] = "-DFLB_HTTP_SERVER=Yes,-DFLB_HTTP_SERVER=No" +PACKAGECONFIG[inotify] = "-DFLB_INOTIFY=Yes,-DFLB_INOTIFY=No" +PACKAGECONFIG[jemalloc] = "-DFLB_JEMALLOC=Yes,-DFLB_JEMALLOC=No,jemalloc" +PACKAGECONFIG[luajit] = "-DFLB_LUAJIT=Yes,-DFLB_LUAJIT=No" +PACKAGECONFIG[metrics] = "-DFLB_METRICS=Yes,-DFLB_METRICS=No" +PACKAGECONFIG[mtrace] = "-DFLB_MTRACE=Yes,-DFLB_MTRACE=No" +PACKAGECONFIG[parser] = "-DFLB_PARSER=Yes,-DFLB_PARSER=No" +PACKAGECONFIG[posix-tls] = "-DFLB_POSIX_TLS=Yes,-DFLB_POSIX_TLS=No" +PACKAGECONFIG[proxy-go] = "-DFLB_PROXY_GO=Yes,-DFLB_PROXY_GO=No" +PACKAGECONFIG[record-accessor] = "-DFLB_RECORD_ACCESSOR=Yes,-DFLB_RECORD_ACCESSOR=No" +PACKAGECONFIG[regex] = "-DFLB_REGEX=Yes,-DFLB_REGEX=No" +PACKAGECONFIG[release] = "-DFLB_RELEASE=Yes,-DFLB_RELEASE=No" +PACKAGECONFIG[run-ldconfig] = "-DFLB_RUN_LDCONFIG=Yes,-DFLB_RUN_LDCONFIG=No" +PACKAGECONFIG[shared-lib] = "-DFLB_SHARED_LIB=Yes,-DFLB_SHARED_LIB=No" +PACKAGECONFIG[signv4] = "-DFLB_SIGNV4=Yes,-DFLB_SIGNV4=No" +PACKAGECONFIG[small] = "-DFLB_SMALL=Yes,-DFLB_SMALL=No" +PACKAGECONFIG[sqldb] = "-DFLB_SQLDB=Yes,-DFLB_SQLDB=No" +PACKAGECONFIG[stream-processor] = "-DFLB_STREAM_PROCESSOR=Yes,-DFLB_STREAM_PROCESSOR=No" +PACKAGECONFIG[tests-runtime] = "-DFLB_TESTS_RUNTIME=Yes,-DFLB_TESTS_RUNTIME=No" +PACKAGECONFIG[tls] = "-DFLB_TLS=Yes,-DFLB_TLS=No" +PACKAGECONFIG[trace] = "-DFLB_TRACE=Yes,-DFLB_TRACE=No" +PACKAGECONFIG[utf8-encoder] = "-DFLB_UTF8_ENCODER=Yes,-DFLB_UTF8_ENCODER=No" +PACKAGECONFIG[valgrind] = "-DFLB_VALGRIND=Yes,-DFLB_VALGRIND=No" +PACKAGECONFIG[wamrc] = "-DFLB_WAMRC=Yes,-DFLB_WAMRC=No" +PACKAGECONFIG[wasm-stack-protect] = "-DFLB_WASM_STACK_PROTECT=Yes,-DFLB_WASM_STACK_PROTECT=No" +PACKAGECONFIG[wasm] = "-DFLB_WASM=Yes,-DFLB_WASM=No" +PACKAGECONFIG[windows-defaults] = "-DFLB_WINDOWS_DEFAULTS=Yes,-DFLB_WINDOWS_DEFAULTS=No" + +# Option to disable all Fluent Bit plugins by default. See cmake/plugins_options.cmake which +# individual plugins then to enable (e.g. using EXTRA_OECMAKE:append = " -DFLB_FOOBAR=ON") +PACKAGECONFIG[minimal] = "-DFLB_MINIMAL=Yes,-DFLB_MINIMAL=No" + +# Without zstd dependency, kafka plugin build fails at link attempt against native libzstd.so +PACKAGECONFIG[in-kafka] = "-DFLB_IN_KAFKA=ON,-DFLB_IN_KAFKA=OFF,librdkafka zstd" +PACKAGECONFIG[out-kafka] = "-DFLB_OUT_KAFKA=ON,-DFLB_OUT_KAFKA=OFF,librdkafka zstd" + +SYSTEMD_SERVICE:${PN} = "fluent-bit.service" + +inherit cmake systemd pkgconfig + +FULL_OPTIMIZATION:remove = "${@'-O2' if bb.data.inherits_class('clang', d) else ''}" +TARGET_CC_ARCH += "${SELECTED_OPTIMIZATION}" +TARGET_CC_ARCH:remove = "-D_FORTIFY_SOURCE=2" +EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/" +EXTRA_OECMAKE:append:mips = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" +EXTRA_OECMAKE:append:powerpc = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" +EXTRA_OECMAKE:append:riscv32 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" +EXTRA_OECMAKE:append:riscv64 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" +EXTRA_OECMAKE:append:x86 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic" + +# flex hardcodes the input file in #line directives leading to TMPDIR contamination of debug sources. +do_compile:append() { + find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${TMPDIR}|${TARGET_DBGSRC_DIR}/|g' +}