From patchwork Tue Aug 25 00:45:38 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96209 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 9D5D1C61DB9 for ; Tue, 25 Aug 2026 00:46:20 +0000 (UTC) Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.11825.1787618774348290934 for ; Mon, 24 Aug 2026 17:46:15 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=KaNG4KUj; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.166.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250809.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67P09qHG214504 for ; Mon, 24 Aug 2026 17:46:14 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=9fHc6cgZgRbhKyjY4NXr914NBxt6aPRaq7TIYGoB/pY=; b= KaNG4KUj+evaVyyC94/RYMOmzp9dS7f3YSexvW4XILVRlEYenpsY8cX3NS6YBl9i 9lxMdrLDnis+rXQzlq18iVKhJWM3QXzEs9VQPynzYVdkCaqZYyoKPZ+23pIeN4HC 6I+60sdvuPEJ0+4xhqcmJIUyAY1Jdk1RGIfsKWY03U9D3spstd1a7clV+UPJud23 GJhbp7awB0PHtotoDztf4tfn7lWLsWhoQ2EcG0zIBr4nDFNrUFueK9k7LN6B7rz/ Ci6OQLCTjjOXztLqj5X158XaD+5+yxkvtJogLHRFz2wk5eO0J3ZGEgYi7oUlaPJy khcj4RmbYE4c3OhwT/6PvQ== Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azon11021075.outbound.protection.outlook.com [52.101.57.75]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g7b9gkdu9-3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 24 Aug 2026 17:46:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uEJBKKxulDb+1JP/1INl3WDpoSqSuDY3KuNy+2hjGT5VpTF8OzHZ7nPRDH3u0zNW7znjfMKZ+dmByO7oiHTOWAvg2Qw5FIMAUqEagaxb2mXj1W39e988eJa2PLM4eEGMGkqPxx6XN/TnOZpdr70Zd+TtLnc80t2b8ot+yL7I5gREUQG0fQUV/GWeRceJO3QhtZ/NAqNxMXFtCrbjfL7KKiXUzW8HJ0AerTwcFbci+F+l9vpR3DAhWGsT1QCm2Ub7HxGdJtyDOM5jaTrVTaYs+z/raZ3ABUvpuE7NjapB0mkgDxavily3J7zbdHeggRYLQ8PwXjZfr3eOmJSZxSG98A== 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=9fHc6cgZgRbhKyjY4NXr914NBxt6aPRaq7TIYGoB/pY=; b=rbC/kK6ytm0BF5JkXQHl4Oln+6hQxFs52in38uQpe5UoREq5v3wclP4lBIg0yshhmazKhkF2p3RaSPz2KaesTEWmz9aFTXRVlM4gLsleu4xxyupZlwuBEl5JpWJd7ELRRmRIUonetvpVZmTULKFL0CxcgMkvJBHZ8VljubrbuTtHtjTvhiDg4KqetbdAgrp/5C/r/9fijjrZec7b+X0Xy4iwB+HDcCBy3YJyhDOO8n+Zk2nBgx5FLlpsaTc72DZDJDPH3O2NlZLCUu6o2AqvnxKhY8+KY9mcfNxQ1LwkkXtxiFf5iMt5XkvcP5eCyAn19BQUiotH69QzXr7J+Tknkw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by LV3PR11MB8768.namprd11.prod.outlook.com (2603:10b6:408:211::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:09 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:09 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 01/14] package_rpm.bbclass: Drop external dependency generator to support rpm 6 Date: Mon, 24 Aug 2026 17:45:38 -0700 Message-ID: <20260825004555.4111831-2-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|LV3PR11MB8768:EE_ X-MS-Office365-Filtering-Correlation-Id: 34436678-514a-4b1d-0de6-08df02424113 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|23010399003|18002099003|22082099003|56012099006|11063799006|38350700014|6133799003|10067099003; X-Microsoft-Antispam-Message-Info: ZoO0gqb+0ClPA3N9t+uL3kMDhRETxgEo+pfvrHo7+5LGMOX2tMijE6w4NWoyf3ih82mcijgC9wk7225uVJhAzwATrXoK6h1Hix26kr+MuVX7rFL3VcE0mwSLcsQZiG+99A6vjCZcgTd31/5U+8VoKmGyaHxL0Kb0in0Dbshb2ITtSmPY3uzTbAGfb10ao3MbO3OnpYaWLG/YDAc5ze8bqyZoptOsU2dGiUvI1gXJpc9mcxh+stLvvvxdnfJJMI81wI19zueCvgXJhVm22lNBTTOvVGDqPUKQlezVDz1mWogLD9rUZ9u85Ou1W+tHMZ4FRvOdDSiKmF8JTncCMvbYlMybcG8Uq/LGAUKbww0MgNqk9F1tOcWqI6osIFifgBtlOGlLzGwFgxaaPa2JWlCpb5j+xqF418y+24v4qTr0t7KOrQgt/YZaBlrF149JtydMvQ8NxPBJ8yoJB3z+04MZAEYKja+5eSIlY0o/+wwkkyLycp3FxoEt9vw/6qsbhNpqkv6kc+PavNDSInWYE32UHSUIFk31mfa42JtplEx6q77ZvKVYuEIGZmkMnwLuXfyzj903fRO6/5nKci/2Rl4lHVOtyYUuA3TZypVFa3+6Ow9KiVXsva1x7Wa7rWErJsqX1wY0iW2Q1/5V6/2VWTLbdGv3Pb6v4IJsZdvKQEEoCihU8LHkAh4QMPkseU6ZdMoncoyGEMFLrbD3hS83ftolX8Ed10X6BQMi1lehzLO6IaE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(23010399003)(18002099003)(22082099003)(56012099006)(11063799006)(38350700014)(6133799003)(10067099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: m0MQS0pTAsmTVEXkszAmOm+LxzS4wMJNJIHVWZQ2+ylmyDfGXfhkqHKZhsIP4V+2CaPUQU/pIdRcCA4TVWdUP4go3PsPR6nigcXb5KBhGD6NyUbXZXWx/skLb0qbBbZ940180V5iVK4KApq8c5Sf7tZf4t9B9EYxUVk3b8DZoYidt3T8KYR/QoP6aolKy4yMVIXgWU5i0ByTQNq12HCG8fO4Wcw3qKr+n1BFj+sZVW8Q4F+vXKB7k7bgyHXsiAbpnLD2lyEXqFy27GfX59YI7pIrjSn7Z36rzandKlba19CmKJzuvTb7dpJHHOnKSwjBWVC9F361biFSQdP0876s0fyqKOo9p9ZhAFbV5+OJNQZuKrwDFkzUuhpEFMHzqML77ui3RPlAN6sRSpTMkf7frk1LfmCqC3n34MjeLLMeEMGcCuCFPAnIVy+O+3/JIg3clZXh8f41W+MURL1uS/zu2F2OxHI+oftkUmbRHCy7I/Aucf0jCf65AS4nJzPez11fZiLGdYIUeBONAw4V9eVdsZAfi6NElPhCwpDf6kbsnfWW407qHm3ysw3kjdSkh9Tel2IuD8S/lJDo5DKd49ofe0xG4L/bMAGFVXqGhWew14l5rof6sr2Q9fEzBQcjwvTfk88Y6+XpMOOy2sJxCVejKCC07GVS2mr4OIr9rpCswegdBWIqtTfG8hFsJw3emt4mQQYFp+jLtfSYW85sfNtWw4g9Zk+0FuIoooBvENOuf7Qs7CpxFaJPtmcFgVBndEKRFcQncQJ0h5J7MEFMe+Czwy6ZxbZJXZSW3yc+Ox9AaXoaqMrCKQhhmO8p8ckbXSdKMmMsDt3jZwlppaZJjXsm9o6VuQ2Gxyj9XWvZLkJ599qWhcTT9z4EFkRkpwsHP4IkQGzs5cFznQRRJ0gxo62QYdDZl8lWG2j4/JbfsIwV/CYOzuf1k63lofPGbAFSYNY66Bm7t1AhO9yFhUpFlAjTTpxh4iKL3CSCQIFc8UHtrAxAMm2IVuG6gNSz4+pTYeLOdT9v0+A8C/hEP+icm/7lYPj0SC/76am5EYQyKcXFA4herGzxhn21rxen9k25ItcNO0Drb+AJzupw4KRdMGBCL7JN4hHf3Vg1eAx3wmEW/tNutVez4ueQuP+60aoPizSNnYiQjTcXU20P0fovHq/WAP0Io/a1krZ0169Y1Ove93/tpDl4SO1pf5B6GllIuCoJzJfYoiMfsgG0OlbaofEunvsMNVRdMWckSyd11nwkfXBVq5P4AxM02mQXiYKoGsfKjOx4MhfOZND/smoVJdt+tix5U9kngwW7HOByKx1ZChqZluynuR6yFjmCEmbgG0EMO7Vnub6iZYm0WQk1ANXrIUCkJFMlv7aIw7Bt0OsmMSPY4LJrbj9B3Hgz5Jk2D6VV182JTvzKQJ7X4M1VYTcllCAeqVlVw8TMblZi2Ih2Oi13e8qwZf/+Uu6neWOg//aPl0G8GUI0bzSHnDulURNwJJfzU5ZbWL0I8K2Nsk5lM7PnvwQSYpbSWPjPqTWgdGG3AqCL5pzb35GgSrkEzYK1tFazVOqc/iLyRVFWXnAfJQ/324VbFXEfwjUbwrMVea6Z8y2WrhcG+oENyehZQMiF45L7bbl67CjhsKdqfI5pzo+pcxecqCVdmcqF/8PgA5QLDGxWsIVRS1aK4iloVB283UbPU6ezAlYXkF3oMPLcc9Axyz5XwdQt6ekfO/NseqOUFHiHF8tnZ2O1Eh1/aVXowTCGBksLCETBA5J0exvJBEI= X-Exchange-RoutingPolicyChecked: jg/fvOEoqpvWKdUKuesybykbGWQ6ju01QTvQVXaItu6L21BnK/tmpo56pGtHUA1i31TB3YfXeBAQz31kv3cLmNFY9E7Wiji1c4BaEWUKKuLcxp8PQd51GND5bxSpX7cMTED4+xTTg0nFx7SlKHhgZUoaxWEc0Qy7kO8SiR82Z/m335Tu/pCpQlc9RQWCF5bfeDKRsagDzOnVQrjvZdqnUTtqoXPfM0RvgdNiZl/C/Ou0+GQgWPhZ2Q9ZRv/MHyXtu1bYjayJqq4zqABR7szSfnElAFewyxN00XQXmJAbNcvvmu4PI+CUAH1mXHUT5LNUABwQAnATY6lpZNohwt5z6Q== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 34436678-514a-4b1d-0de6-08df02424113 X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:09.3902 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: unsvYtItAdw2KsvrmXHPz1ks7kFTvMMvyeTPndHvChOZumy55LE7pAlUC0UeYzEl8FPz/HY6XmGVyZZxWHevfhfUgESr5YvDIPz7JjKkgFs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR11MB8768 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-ORIG-GUID: crCaTVBoINjWtKh9YUmw1VKtJXbi6-0i X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX6fZh2HSP8nFc 581OhTm2lrxgxt8Wrku2a8wa8JTcObnedjt6gSj/sE7fL5YkAieHgFcaJ6TtN6DzwlW+490jUqN a7pyGtuz/JlavqNvm++B6bRNO2/t9DxYDUPigx1NPq6bc9G1nsS/Dx988KonTxYnmXkpqCbrzZt t5iXPNLSrKuhtcLhkfntKWHN9/soC5A6wr1Whs3VnP/IfqfEovpmAUE00kjUu0W1bk6jzT89naV pTIRCbCh8axxFaYiJyEHPEGX/Ewl59DR8xEKgXKp5mYnYEDD94yi6A2lVTqKwxbqwmbtva1JjVA ipk0vIsS1p9se7vu++xoHAaZwZiNWODqDxvbBYA6ySz7hCXBnlDKOjOB3eo5kriFiluekDfzBDc UAEVeelxnTuiAeowpJpvaJYpM7n0t0iIJdAQ9wyzkZ5qBbTBP3b4NzyyCcZasUJocsuXbqozF04 nBvNmfohd1p5ZQY83oA== X-Authority-Analysis: v=2.4 cv=LtaiDHdc c=1 sm=1 tr=0 ts=6a8ce5d5 cx=c_pps a=aQ32ZPuKfpH9dcZYVOilFA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=iKiJcTA2PjBS6x5JeXcw:22 a=t7CeM3EgAAAA:8 a=gH8vcDOTmKDoYkm8A40A:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-GUID: 0dzocd3ylKPSN6ZmVVH9Tm7utqAzDeWW X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX8QEfw+P+j3cX UK6wDLXDluLQtQRxqrGwZHf5zWS76XfFULTXcaVff+8k9pPGtLR4gwWlrUyYN9UdQHJqExAbXXO 6MWtR4K+e8b+SI1Ph8yR18wCk29O3t+482KQaNurdX/ADjwFH31f X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 priorityscore=1501 impostorscore=0 adultscore=0 spamscore=0 suspectscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:20 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244158 The rpm 6 doesn't support external dependency generator. Oe-core used it for per file dependency which was saved into pn.requires and pn.provides,but that hasn't been used any more since 2012 (rev: be40f6d0bb80274366af00461112af65687a4de8), and there were no complains or updates in the past 13 years, so just drop it to support rpm 6. Signed-off-by: Robert Yang Signed-off-by: Sumanth Gavini --- meta/classes-global/package_rpm.bbclass | 84 +------------------------ 1 file changed, 3 insertions(+), 81 deletions(-) diff --git a/meta/classes-global/package_rpm.bbclass b/meta/classes-global/package_rpm.bbclass index 9eacd91cbc..f286d3a0e2 100644 --- a/meta/classes-global/package_rpm.bbclass +++ b/meta/classes-global/package_rpm.bbclass @@ -14,10 +14,6 @@ RPMBUILD_COMPMODE ?= "${@'w%dT%d.zstdio' % (int(d.getVar('ZSTD_COMPRESSION_LEVEL PKGWRITEDIRRPM = "${WORKDIR}/deploy-rpms" -# Maintaining the perfile dependencies has significant overhead when writing the -# packages. When set, this value merges them for efficiency. -MERGEPERFILEDEPS = "1" - # Filter dependencies based on a provided function. def filter_deps(var, f): import collections @@ -36,67 +32,6 @@ def filter_nativesdk_deps(srcname, var): var = filter_deps(var, lambda dep: not dep.startswith('/') and dep != 'perl' and not dep.startswith('perl(')) return var -# Construct per file dependencies file -def write_rpm_perfiledata(srcname, d): - import oe.package - workdir = d.getVar('WORKDIR') - packages = d.getVar('PACKAGES') - pkgd = d.getVar('PKGD') - - def dump_filerdeps(varname, outfile, d): - outfile.write("#!/usr/bin/env python3\n\n") - outfile.write("# Dependency table\n") - outfile.write('deps = {\n') - for pkg in packages.split(): - dependsflist_key = 'FILE' + varname + 'FLIST' + ":" + pkg - dependsflist = (d.getVar(dependsflist_key) or "") - for dfile in dependsflist.split(): - key = "FILE" + varname + ":" + dfile + ":" + pkg - deps = filter_nativesdk_deps(srcname, d.getVar(key) or "") - depends_dict = bb.utils.explode_dep_versions(deps) - file = oe.package.file_reverse_translate(dfile) - outfile.write('"' + pkgd + file + '" : "') - for dep in depends_dict: - ver = depends_dict[dep] - if dep and ver: - ver = ver.replace("(", "") - ver = ver.replace(")", "") - outfile.write(dep + " " + ver + " ") - else: - outfile.write(dep + " ") - outfile.write('",\n') - outfile.write('}\n\n') - outfile.write("import sys\n") - outfile.write("while 1:\n") - outfile.write("\tline = sys.stdin.readline().strip()\n") - outfile.write("\tif not line:\n") - outfile.write("\t\tsys.exit(0)\n") - outfile.write("\tif line in deps:\n") - outfile.write("\t\tprint(deps[line] + '\\n')\n") - - # OE-core dependencies a.k.a. RPM requires - outdepends = workdir + "/" + srcname + ".requires" - - dependsfile = open(outdepends, 'w') - - dump_filerdeps('RDEPENDS', dependsfile, d) - - dependsfile.close() - os.chmod(outdepends, 0o755) - - # OE-core / RPM Provides - outprovides = workdir + "/" + srcname + ".provides" - - providesfile = open(outprovides, 'w') - - dump_filerdeps('RPROVIDES', providesfile, d) - - providesfile.close() - os.chmod(outprovides, 0o755) - - return (outdepends, outprovides) - - python write_specfile () { import oe.packagedata import os,pwd,grp,stat @@ -311,7 +246,6 @@ python write_specfile () { spec_files_top = [] spec_files_bottom = [] - perfiledeps = (d.getVar("MERGEPERFILEDEPS") or "0") == "0" extra_pkgdata = (d.getVar("RPM_EXTRA_PKGDATA") or "0") == "1" for pkg in packages.split(): @@ -365,10 +299,9 @@ python write_specfile () { splitrpostrm = localdata.getVar('pkg_postrm') - if not perfiledeps: - # Add in summary of per file dependencies - splitrdepends = splitrdepends + " " + get_perfile('RDEPENDS', pkg, d) - splitrprovides = splitrprovides + " " + get_perfile('RPROVIDES', pkg, d) + # Add in summary of per file dependencies + splitrdepends = splitrdepends + " " + get_perfile('RDEPENDS', pkg, d) + splitrprovides = splitrprovides + " " + get_perfile('RPROVIDES', pkg, d) splitrdepends = filter_nativesdk_deps(srcname, splitrdepends) @@ -630,10 +563,6 @@ python do_package_rpm () { d.setVar('OUTSPECFILE', outspecfile) bb.build.exec_func('write_specfile', d) - perfiledeps = (d.getVar("MERGEPERFILEDEPS") or "0") == "0" - if perfiledeps: - outdepends, outprovides = write_rpm_perfiledata(srcname, d) - # Setup the rpmbuild arguments... rpmbuild = d.getVar('RPMBUILD') rpmbuild_compmode = d.getVar('RPMBUILD_COMPMODE') @@ -658,7 +587,6 @@ python do_package_rpm () { cmd = cmd + " --define '_topdir " + workdir + "' --define '_rpmdir " + pkgwritedir + "'" cmd = cmd + " --define '_builddir " + d.getVar('B') + "'" cmd = cmd + " --define '_build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'" - cmd = cmd + " --define '_use_internal_dependency_generator 0'" cmd = cmd + " --define '_binaries_in_noarch_packages_terminate_build 0'" cmd = cmd + " --define '_build_id_links none'" cmd = cmd + " --define '_smp_ncpus_max 4'" @@ -668,12 +596,6 @@ python do_package_rpm () { cmd = cmd + " --define 'use_source_date_epoch_as_buildtime 1'" cmd = cmd + " --define '_buildhost reproducible'" cmd = cmd + " --define '__font_provides %{nil}'" - if perfiledeps: - cmd = cmd + " --define '__find_requires " + outdepends + "'" - cmd = cmd + " --define '__find_provides " + outprovides + "'" - else: - cmd = cmd + " --define '__find_requires %{nil}'" - cmd = cmd + " --define '__find_provides %{nil}'" cmd = cmd + " --define '_unpackaged_files_terminate_build 0'" cmd = cmd + " --define 'debug_package %{nil}'" cmd = cmd + " --define '_tmppath " + workdir + "'" From patchwork Tue Aug 25 00:45:39 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96212 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 AAF06C61CE2 for ; Tue, 25 Aug 2026 00:46:20 +0000 (UTC) Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.11822.1787618773981173903 for ; Mon, 24 Aug 2026 17:46:15 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=ZoiGcboz; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.166.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250809.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67ONJgxV128494 for ; Mon, 24 Aug 2026 17:46:13 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=PMSnjZ0Om9lyxUFPVbIQJjkiscHUQYRXHfWjUy1dvfU=; b= ZoiGcboz34Ab64g338kico0dvc81MSTLGaDDd2txEoOSf1gY4CO013szdtpiKHey USte21uqdbE1Ilf6uv1oDWJKrF/krJECx0HmnE3F+FsRTBnizrYUWEz5LcNIkkdj I/d0lBFLVZHlpRXpQoNjcXaNg0/C2lL/aS8iOKojOAGFRfR1twoiEcZlxRL4j8I2 AvPHV5tFOA2Nxs+pg6QTq7B/PZTFuldgcLt/e6VCLkTkHahIJX88pxwd0rlI7G26 l6O6/e8ANlHZXlTDzgSj3144D0jaq53edtEuVwSQ+Ob/8RAiHg5F4iNRpbsl1apn 7RKq8N6oDgG+0K/xaK+aDQ== Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azon11021075.outbound.protection.outlook.com [52.101.57.75]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g7b9gkdu9-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 24 Aug 2026 17:46:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RnFTCk1+9/w9BbolfLKz4c8ayF12fbPGhbWkRV1TZ/GLlAbDdlJZncvMBPNiLa6BYu3dSl7ut0fxH1ZUU20YwTvBUKgkiJ2gY/um2iI9PWP3PPLVm48YslTQPecuu+M7MxrUxd3T7Xl3QcHYC9+NvH+7dyA5AroDWois7in4WPtNi4aVnrrsygvADxtyxqwWSWbt7WCtkd86nab+WtepxpstDjsjjT9lC55mOXQ+cAOgCYHo5/cubUu5kHjrQy/mi/96XXZUppb5ewKaofhuJhE3BlFOyhEj5P6A8dOBQNTdHaNIXYJ8BDrxj8csM0Ffwf4GodBjy/0cKnjYceoJkA== 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=PMSnjZ0Om9lyxUFPVbIQJjkiscHUQYRXHfWjUy1dvfU=; b=esrXpAZeP6pq+jJvN7J/Ln+g9uVDjidFJE1JOWhS6wMshXkNBRg5cYkbfgsBzDhu2ixf03aQ1pf4cCB0tBFPx6LR3H5YzRxLXt7jN+sS+7OXAcSz/+8plxdYvsRCkjqxjWhkgzNUGLpQ2H1Y9heui/abNU+4YFTcRSNR3j4c8u7/Omg+K1TxeNIKZwOxoEnetQRCp3GNqSDfNWW6M8tfNlJr+SBnwWTJHPCYkK6cPxJyTTPMdmNOL4wxZ6QSX3wczEafZ9IZtpaPaa7kdh4ujGsseFOoZpJeOzz2s0bOxDiqcNvshNzKbnacAF9WRKDIIw7L1/3JjFxIgWXMtK6lUA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by LV3PR11MB8768.namprd11.prod.outlook.com (2603:10b6:408:211::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:10 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:10 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 02/14] package_rpm.bbclass: Define _lib and _libdir for rpmbuild Date: Mon, 24 Aug 2026 17:45:39 -0700 Message-ID: <20260825004555.4111831-3-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|LV3PR11MB8768:EE_ X-MS-Office365-Filtering-Correlation-Id: a4c2d368-1fe6-41fa-7e8f-08df024241a5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|23010399003|18002099003|22082099003|56012099006|11063799006|38350700014|10067099003; X-Microsoft-Antispam-Message-Info: Q2pgiLEHLJ3D2G1kteCiUMJ2A1wOSfGDF/HcFVYDF/4/3re3xhL+gUM/jFxpC1IGy4wGdh4J4MkW5aSuuuoz6b/PnM34+RGKipGnPRnxDqSfriywkJyDRffgtGqFF3e5SW1pdkPQcDZWScI6S+UXDSLMocc0uJB85GbJkOd6f8j5B8rKg5oKHGrZhKy5MnK3/7CFFly9YuZV6/YTHjVhOTVzKSW3PF/l+HTpfmNjG8MipEL09UlD57Iv68y8yLkFLav1JZZfjUTJ7VG1I3YRKGNnIlhzIERHG7OlbBOT2nFlaDyC4NKlyY1jHTyFxNag3v1SH8PkjjWnVIvPKHze4CFrfYkfSByTtAW0nCwqncy1GwWjZxs07/SKwZ6FZ7C47/nQQu0JNA0i7iv+4XzThiAmHxMDaLyHOAsIcTWwKBjbRWMrUNgj6lqsJGj5IQWAHL7ij0q2C0wHP1kQLkD+PH/QNFAwK3TcAM9VAjb9ApBayX+rpDeWx/VJbNWSBNqwTw5MvcPOTwPg1zLfRaAu4PPLO/DC9CDbhTa7IOsJeztljQI5gL1XwVj6gct44AeYioz5tNxfG3t4Oebmdd5M+O5gAxaMIeBewk6Lc0uGUQm3jNtNhW3FrCKSCyuep831IN8z2+fvMQv4quV9saRxQYnzbNcz2ItHTQzXPR9/l76tc+kFnoj5a3nb00toU0A9TItNbZwXlU/SU6VqKSqFE6/dzpA5sHG/gZ5xzNLZIuc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(23010399003)(18002099003)(22082099003)(56012099006)(11063799006)(38350700014)(10067099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7RfPq9RF3YQCeH0V41lAuYaOsurGA88Rg7+8DeHSg5wYgE2sN1FjBu43/gduDL9RYep59iSO+3h4FQdU9tSyc1S6rSyxEZTGmX4s9I2qNy1RYe4XBv9xQKSjEKZ2BWkS9ZuZVuko1RMCEXcUeSwYbMHOqYMaG3QTGk/FYErIz4F6aL6SH3YKOwuOLiYYAPtbADFTCaNb2wtNRJyTPEiGGQ04/4SMRSKj/SwEXXOeQONKgNybNZ6z+6l1x59I/wGi3Qj9lSx+0IytLL1VdiCzrS5AzC3ytRWGHeW7iNYsYn64sVwaUscIvKONAqhsuGSi3fSI8RZ5whh6Ua1zrB7LGYmpkAEk8B10enjaTFl0DNobNgjo/59iA3bRukhSJ6pZFoGdxnpVEgP520tiRzo8l7DDNKf7Qwmxe97vFTij/VxfUXcc9Ln8mzqCU/nq/WOSrPKUjVB6m3fzC/OqshJQKQwj2Zkm6YVZCEsERzKl+9V1OjKH7AkmHASoojNk8hH16bCALziPo/iC5J03tK2TaIllchOk05kgPgWTr0yJUwpCSOsFHrxXU2V+1rHiK/oXrtWxtqks10Zdf7QZXj0E5U/tv32eMtxR5ez7UywpzeXDxSKpccjcJiOdWsQLItE0cVCpy6PHqsJYvkjBYlCDIfub7BHGkfAuK96wFRPugn1EINA55hWfEBLFjZNzXoaaDDp8QmyrPmIlszYXIVikBAiHEdhTDKdpHPw9Jc+0+ClTBk3OcPtJYXZ/sv4cQHBxHh0rribkVQFSEb2CBBn4vtD6icNPAt/MT0V+zxNhcPwnXF3KQT5nNaJHpw0r3osdgmFndNzVrhTRqP4rOge8/VYX0RvyDTTybYQVaDzw7acDCJaHocHWV6X2QZZvVRWUkWLG+cPN/343QNywijCZPazOPuPJrSXkezhRo0FV5WJk0h0rBktT7nWBAIURM56e45AMkWtq4qgxupwKjsxGqk4fIKelwy1KCwEV2H1KXpyMB+APr0uaXqq6rIxwjhtd1D9f1nrHPW7ZZNzNDDHei/dC9eIdkkjYajO3WE/qBSb6x0mE7IA9JB1au+/M9aaS9hS2otoKSBMFnh64nVOv/ek8CXDdSNn0oe7t/Xb9BNCBx3Y1mWy7OjwkMRCLyl06Ss7cGE898Q/zMhFh+k42WqKuuA9SYhJUM3tAnz5rhjb7KC1wuSzWNBw4Y8svDBkrNGEzQMdTWkakfjc1WEhDGPYTqfjJGFz0GtiDaZay2n0ef7ORrH0v12oDhU9Q35hTGfqFmHmynk533EKhU8Ap+NepVXcJ9lg7X84V+HdUK+Dk8Xv8BHND38+2OzwraGLxgjP3MRmPpKT54qZxUD6a2fVlhDUtAPW0lj1zAVM+y4CqHxA/QxQtk8uWODshTu8bl1oH33LQ5p8SAdihdgRHMs8rG2QxQ1mrJVWqdnv0KudENgFCuc3Pi8tAGzWnmFxFib3dFisGPkHIDAYZJwkO9q5rQ0WvY8Yh3iC5UauTZutsh9kcohuMMLA1KI+1RP/Cyeu+WeLdWGTjEChLHwqc0QHl90OHneol3WASWciPo1wjMafGXDGwfigTQB36vaNdHK3T8+KkeVQlAnXUUE5Z27iXAuvpmxd5Np6YI2MQ1PJoAWViTbDvPdhwIfc2K6NKlOFDuwQLN01Fx2MjIW/i2pIE2PzSK5EMv3jb/rWy5qMPjSkSfNUnJciFrUtsUqU6AKUWbQw1VJtzFNeB9vmoxjkju6cCkB/xY2tdydmPd2U= X-Exchange-RoutingPolicyChecked: BgxznLQR/Z7Sys4cJLKPGKtyfRavFLnmthzArJr6KzEiUOuuzi+iay1IMH9pm1qnMldGzuqQ4B3uRE/0i3KMi5tiLpYEqp3NneATr8z6vcTi7T+WX7H07VqTElnCAicmcEX0usYrxZMWBBlf+eH2mNSEc+DjXQK44mFaUarZYm+n2Go4UHp77hvkC/HFohToZXTt9WgzHNzMTBYXrfwtDlW3LjePuevfQMgpDDg3u+xjt6wd3C8o++05j8BmPLDg6Mb8pcp1FqEg66Oi6LKBHLYE7CIh3Y1Y39yfPIOzDyxj8JvI7frGIdRkDWZH+L0Y1SjJPrz27GsJByZhHtt1Qw== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: a4c2d368-1fe6-41fa-7e8f-08df024241a5 X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:10.3368 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: PqbMjxz3XgLvIUHBxzlmeQvZSYkyyFS3rRIDw+dglJLrYI2OBXc6xGe7HEQY0zVdItnLRi4D68cGnsK+1dm0QxWD0jK9iQrcemBTsFC1Hi0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR11MB8768 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-ORIG-GUID: zmPA4AnUTMsKwScYN-a1shpHNH3XAJ-a X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX+SWoJra+GeQ1 tXPCetxdmsVXwYRQohEbPytmBOqzOxKQqmi7N21/UGxbbnCUD7MgM2PLWWfp8/+9l7AQtxnGAzO e25/A3IDq6VVbEAnjSJeBro9nNAzhSRNfjdn0SR/dXarjJjJ/RVKov4UjcwyqZpbgeFTVNhtGUj 4lUeYlvUiZwvXwGgIq7bbMp6AhEaWPxllI0muyxoTq+bOkPpZ3/+XaaAcV2KahM3i79n4h/pbkv zHqQaOzmsMFYvoy5j/WAdJJGa4YWr7/avCEvzMd7j+NFqnQbW0su86QoTaHtW7slin0fQQuZ2FM lfHxxxSafewrHoC34qbZHPXEGiQq3qK1pRyFbQQS1cXDpjK7OKKNOq8TZNCue25K1rBtPvKGN0L te/Dt2AVvrsEfeVCYfjGbKo/Vj8jQF7MhTsUGgDI/fycl0F1JBeNjOj6JOCsDrqCqwZ6Ot1qr5O hQunx0/XdiSmDN+S6Yg== X-Authority-Analysis: v=2.4 cv=LtaiDHdc c=1 sm=1 tr=0 ts=6a8ce5d5 cx=c_pps a=aQ32ZPuKfpH9dcZYVOilFA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=iKiJcTA2PjBS6x5JeXcw:22 a=t7CeM3EgAAAA:8 a=uhQZ5Q_QBcnTBNJc4ooA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-GUID: QxEFsMTPU_tC90VogHsRYpKjlJVV2zxq X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX6XH4M6BO7l0+ bUu/JfhZNYTJGViX0pTL/IK57L0m1N6t9VjB4qPoH6WuZlYhP9jxqGaz+i5yBUOUQ8l277pDd9/ 8rCBnDDOHWPp7/A6lsEQJm59uuq7fTWc/s3oHJlVi+oNdGDxvg2G X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 priorityscore=1501 impostorscore=0 adultscore=0 spamscore=0 suspectscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:20 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244157 The rpmbuild is from rpm-native, the lib and _libdir may be incorrect for target, for example: * rpm 4.20.1: No pkg-config files can be found for qemux86-64 or qemuarm64 * rpm 6.0.2: - qemux86-64: The _lib is lib64, this is incorrect when multilib is not enabled, and _libdir is RECIPE_SYSROOT_NATIVE/usr/lib,this makes the pkg-config files can't be matched. - qemuarm64/qemux86: The _lib is lib64, this is incorrect, but _libdir is correct (/usr/lib), so the pkg-config files can be found, this also looks wild. The rpmbuild is like cross build, define the values when run it can fix the problems for rpm 6.0.2. Signed-off-by: Robert Yang Signed-off-by: Sumanth Gavini --- meta/classes-global/package_rpm.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes-global/package_rpm.bbclass b/meta/classes-global/package_rpm.bbclass index f286d3a0e2..9af4cbdd94 100644 --- a/meta/classes-global/package_rpm.bbclass +++ b/meta/classes-global/package_rpm.bbclass @@ -585,6 +585,8 @@ python do_package_rpm () { cmd = rpmbuild cmd = cmd + " --noclean --nodeps --short-circuit --target " + pkgarch + " --buildroot " + pkgd cmd = cmd + " --define '_topdir " + workdir + "' --define '_rpmdir " + pkgwritedir + "'" + cmd = cmd + " --define '_lib ${BASELIB}'" + cmd = cmd + " --define '_libdir ${libdir}'" cmd = cmd + " --define '_builddir " + d.getVar('B') + "'" cmd = cmd + " --define '_build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'" cmd = cmd + " --define '_binaries_in_noarch_packages_terminate_build 0'" From patchwork Tue Aug 25 00:45:40 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96211 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 9878BC61DB6 for ; Tue, 25 Aug 2026 00:46:20 +0000 (UTC) Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.11826.1787618774815239493 for ; Mon, 24 Aug 2026 17:46:15 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=A1FpUXzQ; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.166.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250809.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67P0iiUf275106 for ; Mon, 24 Aug 2026 17:46:14 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=AmDvPiC+NnbVFpQxVSEZFhxxvRk7Q1QdqhZ7MAKMOtE=; b= A1FpUXzQqXaAp7m2gpuDdfmj9lXpG7FvuN8QZa31JNwGzWcfOh2a8jTJrMRrdtph l17sD3Rdtb6Kvs0v3yiMAGTu7BeEA6h/V5zqqNSsOaEVyCV1tLzKOZWGaBYQBOPk FaZqisZbTn14xVdYqIw336RI36h+jdwCj7VwD8Xx0WGUtOxjd1V1QV0RbijIRYyJ OPANlwgwVkZMDyaaIFwafHKjoa5oHRwcITBd2qVENQFBZa1EHF7FRwGi9Wm5eJip PtwZ2mEld4IyGQFh/HnPoCBAUuRxmPucSB1+Bh3eG6UEGIEddy/vgcJzpnVka6oP FdKyyRoRWwx6pnfdR+XaxA== Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azon11021075.outbound.protection.outlook.com [52.101.57.75]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g7b9gkdu9-4 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 24 Aug 2026 17:46:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gyJUbviejnv4sgQ19SfOZ7Dp9CSXUjJ7RbKkIXF2YGwAO3IX5D4AGUQd6kqKnvKxIUlZ8oI+dHnbIaSuXBCPvZNV4c5Y7P+A9bTeQiYU6ldfrS9lEP9iUrN49F4S2i9+kD5sxb6Sh3L6UtXIgX+NkDo23WCUsE4h/AhQjoxPstPSWa1t7qn/lLQfkBBRWoIa0j+7PX1D+04bHgkE5cLelD26gLO8mJFrCgF251n7wXyP/OfF+ttzTgSFPxJxM7uB/BYEhJd+GxrsiJqIxUSNI4iH7ZbZv5QKCmQjkHEKhraTSUUr1vg+mI2LoFE/KnrQi1tNOQgVhK47t0h+5yKsKg== 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=AmDvPiC+NnbVFpQxVSEZFhxxvRk7Q1QdqhZ7MAKMOtE=; b=Mg1Mn/ycmOFDQ+usJ9f3ufdi/5bYPByN5Le/4/i0A+PRDtn3jPCT3D2LOmjU+UvHYAoPK0LhNCLhKHqXVc0oVfRQc5B1eVzJ5OLWfIwAYgsgX51lGFCfqlTdxBBiYVAz9OzsFvOjkZUPFBV0VGSxzJ+wskvGk8FwTWU+NOAw0+dyiRCgleVv0Zt4DwMF7Lb99ajouunLDmEj8ckLc4MFTF1E1X+SHK8jpve2+EtiQRkvAhkpIr05APHV3T3wm7PBHb1fhV/FstXZP12ePtd96UWYi2cvgAqQ8g1s3fcvVfzl9IvKWRyAGnF4SXBNhLfEYzDuaGPJkzLJQ4Kq7dD7TA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by LV3PR11MB8768.namprd11.prod.outlook.com (2603:10b6:408:211::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:11 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:11 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 03/14] lib/oe/package.py: Don't add ldconfig_postinst_fragment for glibc or musl Date: Mon, 24 Aug 2026 17:45:40 -0700 Message-ID: <20260825004555.4111831-4-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|LV3PR11MB8768:EE_ X-MS-Office365-Filtering-Correlation-Id: 197843d1-6b97-4aea-5da8-08df02424233 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|23010399003|18002099003|22082099003|56012099006|11063799006|38350700014|6133799003|10067099003; X-Microsoft-Antispam-Message-Info: aD8pCMs+FuVdghjugMA3dTX510hOLXKCMNzReN6alNj8d0vNNQzYk8N5ea7dAKsKbKAmGhkNxQXeyLjBuOSeGJac6mesc7I/+Lm64UdHQlZEwtpr50xmbBz27HbRVdZQQJ+wUsAPnYHz6QxLjWApmK2tgcM7iZGX6LguDHqEdr5/5SphkWe6GLkreodyHMjUPWQvFj6JiT/qUci3ExriJQ0Cy1nzHjFnCjD/uqCo2fbThTzrr7sa10cf6Sp8CumXQqAnrXwPGYz5K4cikt1AeavjmaJDqbACw/4Gvohs/8RKCnikE3ZtRhHhubpGfVxi3alZu9NGwvkcIn1Q5bacSmLQ11+jKqvWDhY98fJtWJL3dpYA43HqggpyZhJW0rEOYfLOSZw40b5MIJ58+lV5rn9BSMDITYwSg1Z3KigfwXKrAprgWCg760J4FG/pn/v94Cl66Db3LL19ZGCO/nH7b2dREq7Kh/0Ae+u3iXw8t58ZlAJQiEZ8S+1M28bGCsanzd9As5bITZ7HYxWH2JJfVI9A9/2CDRBXY3oaDLbQgdkgGNT7GC+QpZlCzTin5HW9dGVadwYr1U9ZbrELpJ5jHuyvq/Rn92/bYx6py3/BM72MJzHZGroYsoW52NtlvV/CAXgK11+S5N1rRvGmKVhCjFFHLVGL9ZMcaZsyBuXwO+UW12XpUk2SgquzihWkR9ULZ3ytBA+LU+dRmLo/3HhM1iqK2SlkgFQBC6bkvl4ZM9c= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(23010399003)(18002099003)(22082099003)(56012099006)(11063799006)(38350700014)(6133799003)(10067099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5ATWPEVjCyRZoCibw/TZTpaUKXdkz5Uz3+WPONja2MlJmNyX4UPK+Vl+Y5jcZs19eRxqJ0Bb2xq5baPDDH8PHYsdFZVPYvN8ij99WjkEjDdVnK+QxUZxoTS0JQpB/wQWS303kFmfbpLCP9qKP2LMCO8Q9UtbhAMy/z9AhI8YQbjuq8DDi8q81BOTpYdkdWkw5fwAi48BckTu4xr055VpdhCyPtmfV9RbBe0wovid5sN6gRI/wvbVgQbIkdv+qSXXL3Rd8ldBY1sdM8H4JfKtVefA/fBX9JsNO8yVHJoEUeYfzK1FWmU8vkU+qL2VKTH6/eCsIuPuFVTM6j9L5QEX13LL5ijWB8StGw1LEQSyCBztxmEeXWIagZlESHrWSpv7tJux0IhMUC5pr5eVk7Cy3dn9/tcQ6Wtsr5w3Kl5/SP0NUsb8QCN5pOQbeiq+dfee+4xTxwRAAw5XDhSKngYZTqWqDrW7zok4DKHKc20J2FQ22A07yMMLHqs7JW5tbk9w2heVvEdF/rqNXy122P9i668yJkyw3f82DcqxMhfRVsJadAZzdoTcQCoS8K9ASK/Cr/FfsFClcPcZeWt6VnlH07rORqCOIcTMSE66cMUg7dwiD3N+zh2JdUv58r0V59H1SOSix5oAuZWGieqYiIxZghKXslhQLRJQGwsS63GVCQEsti/xvBrRZeow9PgX7J/f2bnabO9L4DoPYMVLw0CxVoY65fcwVtCzS8P0V8zE2Z8ycRs1jcfhkTe17Zx7RfZ/B3ltDtqsVcJU4mbzAA4VhVnPwI6sE0rkqbpZA4cvSoZdmO6/LXqPjjI1bOP/cyMEytNtcg6oTJ4TjjbO6RqmihGiV3qrjxKP0ThAar2nbCEw9WZlLfPD66zQXNQgzpLcAezS0371GQmV+Rrlf4D8M7rZ027oDZUTphoBfYkKTpOZoeswUfuOD+dEYzwjhRdc3bBtJhq38LwYNtlyrNaqUIcW21ZrmDsbl2UWLvwIipKCOnuJjXvduq6XmMNhfN5X+VvLgb5m4eVCEPPb03E62CO+NV3+Nt+czxZxD/mOD8BTn9l5/oTjWUk/3RFoI5ot+/XZ+8sKJS6UQGHyHA1t9+5aKZoGHo/S9Ham4fGRE/TIQI1CCUJjzdEks63pj7s2wp3+6cKZWgJ6W88ezhxWr6DWEKJBMlyDf061WKDNKnX1kXy78Ea93/o60NdUfbKOHlh5cVAiWN7UcXCPHd8wgcrJoIkp/gxn4OO3lCQUbYtDT1VgFguT/w1FvEvP6av9iC72CPDbrwMXdJrb4U4JJih0gPYbTbDDJppVYE3COehbu5fukIQdSS+F0RSwMx21R8oISuDmqE7U4BPdwae+1w+OPifGL8TYHbCVkrjyGPngVVYDW9AgWT4/d5/FE7lqCiXs89DZlGLHQxWKkdoklA7DpqGqCCGPHAIqbl1tOLIhGh1PXwXu697TpzHzTd+C3dI/My0yr29pbMnKqLLbwQu74S/wXPHegLrS86vFK7gNPZE2UJA3Tjg3uyM7PMo6KmPxEcTkH87Vyd+kr0gsFDpYo/7gAQbIxzgrotP1slttysqxF14rcsJDe3uzEz2ELJ5w/+lqO6bklOX0GhOVKrTDoRlvAiJBYdjH0eUe1hlnPuqMYwAZZswI7ZNpozOFhbbidKvOTPUBjovZqeMLdSed3nOIS1tvSvRoCtq6KNMQ6SPqvJ/ColORZBIh7v1xxyvpIaRNW5KrtG0GshsgBtsWoOvS0p02mCxqSYM4GZw= X-Exchange-RoutingPolicyChecked: 1GgrkDHZDcH/u6W7mBSZyMZX6iGQFAnsjzZPUqZqI6VvAajcucJkBNpwO7AWPWw9oHWvHA4rAGSXhPR599cbDuDLg78JZvp8uZoijhxjs+aTN7CZt8Z9uPCqIHBT9B/EJYH1i9OF/8IrG7SWN2iGl0726eqHwh9OM52mnkCrBYM6esdghkwdyAhhS4Ap7KdevRPD7jQQ4Oo77je3F8FGnGNA02PePbV4TeJ9FdoQmcg5GYSEUTjnIBzkoi2DkB2GqLgw6ASm6zGbU4meaCkff/jWt/IHAg50MQeUR/q52nEO9s65h6WIk1iXtwTRUYdl1cNYw/ae4hqwrspiuIIOPA== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 197843d1-6b97-4aea-5da8-08df02424233 X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:11.3215 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fZhzMCd5V97Ri0ng7qtMovgNl/QloKI3AFkkZD6bYlbsVp41GTV3g6903L08nP54PwH+6SJyTuKE02NOLkioqvjna0TlryvS1qZMoggI0TY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR11MB8768 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-ORIG-GUID: 3ekc0gRdUvjorjaInFmFfslq36QKQ6do X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX/+trIHYBYIpd Hbn/dE7P1xvBFgxw6QMACxzoJqWkMxM6F8BWYlPA0GuJdnv8aOL6uTdJVkuVOrCSavruzqO4UHd 4gKuZUycT4TnCgFNzr8HM7p+VxAvhYyfWyHIAGnXu1OL5XI5MoCf7l/m+cRsMg3GZFKDxZvqfUE 9rfaZ+t+U0qAuewzTiDTZ0MFF9UNpuY0umECtK23y0SSugxJnc/CJnDIm7m3qjCg8KxazjMMXtM HuSy5FTSoZ93gTR7noEhV73YqY5D5+RLMjvCzaBKCsiuBK0ZcO9HuBacxZLMDTuKxzx8L3hLZkF jyTyXZJF8QsS1lHCl/NspICYd2t6TGVuZmKMCHt9MXPiq0MIjfQQRL9L4/MubiIBfxa5i32lNgL uVzu9O7zmWBDQwT7TaQylDnOHDTYk3mm7Pm1TXn61iAkk6FbPOfQW0DM9bh04SxfkAWkmgrq39I ppWYKOpGkkdDsArr+MA== X-Authority-Analysis: v=2.4 cv=LtaiDHdc c=1 sm=1 tr=0 ts=6a8ce5d6 cx=c_pps a=aQ32ZPuKfpH9dcZYVOilFA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=iKiJcTA2PjBS6x5JeXcw:22 a=t7CeM3EgAAAA:8 a=YcdC0ctDMGJcGoIPl8kA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-GUID: Ev7cxNpb_4ujfCdM6r-2xQ-PMU0OuYBt X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX3xbSFY3ZOoWg bYCff8h5HzJ80jKQhZQa2HXH/6w0oB6dJWSDQ2K6BjV8jXP3QdZQIm9GsY1VknGR45DWvn6ikEk gOde/4hvdvyIchsNZ7XC/9OraCUEMpkwVgv2jigMNHoqWHi/k5Ov X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 priorityscore=1501 impostorscore=0 adultscore=0 spamscore=0 suspectscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:20 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244159 Fixed: $ bitbake core-image-full-cmdline:do_testimage %post(busybox-1.38.0-r0.x86_64_v3): execv(/bin/sh) pid 679 error: failed to exec scriptlet interpreter /bin/sh: No such file or directory It is because busybox and libc6 depends on each other, busybox' elf files depends on libc6, and libc6's postin depends on busybox' /bin/sh, the do_rootfs works well is because dnf-native has set RPM_NO_CHROOT_FOR_SCRIPTS=1, but it would be failed without it. In rpm 4.20.1, it let the installed files' Requires win, so it installed busybox firstly, but in rpm 6.0.1, it let the postin's Requires win since postin would run immediately after the files are installed, this does make sense, so it installed busybox (which provides /bin/sh required by libc6' postin) firstly, then we got the errors. I couldn't find which commit made this change because a lot of files and functions are refactored during 4.20.1 and 6.0.0 (not .1), I also tried bisect, but failed because a lot of do_patch or do_configure/do_compile failures for each build. For libc6's the postin is: #!/bin/sh if [ x"$D" = "x" ]; then if [ -x /sbin/ldconfig ]; then /sbin/ldconfig ; fi fi This doesn't make sense for libc6 since there is no /bin/sh or ldconfig when libc6 is not ready yet, so just not add ldconfig_postinst_fragment for glibc to fix the problem. And also remove the workarounds in oeqa/runtime/cases/dnf.py, they are not needed any more since the loop dependency is fixed. Similar to musl. Signed-off-by: Robert Yang Signed-off-by: Sumanth Gavini --- meta/lib/oe/package.py | 3 ++- meta/recipes-core/glibc/glibc-package.inc | 5 +++++ meta/recipes-core/musl/musl_git.bb | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py index 4a244ec980..2e348e0a10 100644 --- a/meta/lib/oe/package.py +++ b/meta/lib/oe/package.py @@ -1852,7 +1852,8 @@ def process_shlibs(pkgfiles, d): if s[0] not in shlib_provider: shlib_provider[s[0]] = {} shlib_provider[s[0]][s[1]] = (pkg, pkgver) - if needs_ldconfig: + if needs_ldconfig and \ + not bb.utils.to_boolean(d.getVar('SKIP_LDCONFIG_POSTINST_FRAGMENT:%s' % pkg)): bb.debug(1, 'adding ldconfig call to postinst for %s' % pkg) postinst = d.getVar('pkg_postinst:%s' % pkg) if not postinst: diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index 3d721d8f69..bea841b047 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc @@ -298,6 +298,11 @@ pkg_postinst:nscd () { fi fi } + +# Avoid loop dependencies between /bin/sh and libc.so.6 +SKIP_LDCONFIG_POSTINST_FRAGMENT:${PN} = "1" +do_package[vardeps] += "SKIP_LDCONFIG_POSTINST_FRAGMENT:${PN}" + CONFFILES:nscd = "${sysconfdir}/nscd.conf" SYSTEMD_PACKAGES = "nscd" diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb index 3aec643c40..057113bf16 100644 --- a/meta/recipes-core/musl/musl_git.bb +++ b/meta/recipes-core/musl/musl_git.bb @@ -80,4 +80,8 @@ LEAD_SONAME = "libc.so" INSANE_SKIP:${PN}-dev = "staticdev" INSANE_SKIP:${PN} = "libdir" +# Avoid loop dependencies between /bin/sh and libc.so +SKIP_LDCONFIG_POSTINST_FRAGMENT:${PN} = "1" +do_package[vardeps] += "SKIP_LDCONFIG_POSTINST_FRAGMENT:${PN}" + UPSTREAM_CHECK_COMMITS = "1" From patchwork Tue Aug 25 00:45:41 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96207 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 58EB3C5DF81 for ; Tue, 25 Aug 2026 00:46:19 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.11827.1787618778366369282 for ; Mon, 24 Aug 2026 17:46:18 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=DvYVAWch; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250811.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67ONKnvm220295 for ; Tue, 25 Aug 2026 00:46:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=2VmIH08WPmFh9RqJ7GxQqVf6zQjX4kwBgtVH+Gtn370=; b= DvYVAWchhbENDtd2cmv+ah7dy/qaBPPrAbT31eNQdq9G32uaEnYyARvizQGZhhVU n092U/ug61MmAXaPO1iQtLhN8t7aFKVx+Nk8Y9Js2coaeexsVTP2S73V0N8lDRkB sc50SMlpQBMHyXGeZo/xKlMRDsdV42qlXScAOKcTHzfEmINcIpURlmYrSAlDUlJw MYD+MYPFDdH+1wh2sn5iJmCMdVtroOY+Lk5jH/5tMEiTgVEkAPKa093jVaAxJexo a5B98zAmRfMBJD7zfq5VeW0S6PKT0prS1PBDwSoUegM40J17qY3fgMmDLEda6jxy bBCzPScXRKkWSGr/UdmCnQ== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11020121.outbound.protection.outlook.com [52.101.46.121]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g7100kr7y-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 25 Aug 2026 00:46:16 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=F4OomxX9xScfgv7kXBZo0ZV6ehEZnw3m+6V2CKLgVL35X700g5QuBHwHSm6zkVc7rRnrfXkxKGCZiAQds53D7YleGQsuUu0MjdhAjuUZvG5nqCb3LQme5SMNmipWq518LshsghhsHf9mJ3/mZ4ojUp48/dGqd/JSGMVSZJLIrjS1uyUJgjPCri2uvbJ7XECiuI/IggmeMKL6yoKaHiVJhl1pYFoZ1WkOHeaO6XHjhZEcw2XCKp44DmFObbIdEu575Q1bVjGJUPiKm83a4UYsmLJ/HdwFa4PuZS2C0PJcI2eTcowIlYX8Nfh/AnEUq8osJyoKkIOXGeG7TzZG0TadyQ== 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=2VmIH08WPmFh9RqJ7GxQqVf6zQjX4kwBgtVH+Gtn370=; b=dKFiKaxILTRr1eZTkV2d3/83RRwHzf8u9gWhiZEVyM534F8ye+RGbUEXmre7mE/DllB+aVDMGAxCD8dl2XHAE9t5IITyZicWNRMUOxI1yqLT2woLtziERGY/JKo+ERnevNWu2w7dcfpq6kDfUqqOUJZn7Qg0V7T10KpKmXTiCnZA0JNhSy7b5UFyAxbuub08CpwKZm6HHrVXABQ8WID2KIk7M7Vq+s2OnYyULjUhhYjHAJ4JKn6YQ5ilaURKecSX587/3BbMrzMJORwJ925DID4QMGu137ACf95Gd7tU/TZYJKmvjiBcPqip1z/hIF1WnBk01X7ovglWY7F+hC+vrQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by DSSPR11MB9642.namprd11.prod.outlook.com (2603:10b6:8:377::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:12 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:12 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 04/14] lib/oe/package.py: Don't redirect stderr Date: Mon, 24 Aug 2026 17:45:41 -0700 Message-ID: <20260825004555.4111831-5-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|DSSPR11MB9642:EE_ X-MS-Office365-Filtering-Correlation-Id: f7c0b641-1ad9-4959-316d-08df024242c8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|23010399003|11063799006|10067099003|56012099006|18002099003|22082099003|3023799007|38350700014; X-Microsoft-Antispam-Message-Info: BfEcb83qc47tb+ib5Y0rP5Qg2GdkRHLVh/KqEnf720yIPmRxpezOAlMalM3/vI1Ub7bx/5bMt1kKnarAvtfEqTdGefxVoRoor9Q2yZ+VJ+Awa0NuZv03ksBRTqhyr28FotVelvFrArjGZNjdUypYB5BKp5Rxoj66v4dwB0NRbN/EDqLDzgKe4IDvwrHC4YouVsPF4WdRh9XHg+N88+Y63zdGRz3ZEyy2538MiaI6lKSEW53eNPNtT9jGPmQtQFICaHW2FUh8coMxzRU1bj78Na3SVpaIuDTkVIVFDKz6L+phMdrL8T+XwTQIQTf8RIOYc0I2ngcWa/pKpeoM4Ix06OLtC51qzSVS4VUsJIl9PZiOSsxm+wEchp/CVwZ+L5D3HYfEuKnwdXyvo071fIxWFo+qAPQAIycM5uaC381QLOEvt3oZ4ViReiILK9AVxJ0hmhGw03RGFvUwLARpHlypR2lOhnspDHMJW6Hj87VorygBD0TBzkDOE8fryibqK0dU3n/VG5eVDRer+uQv3R/RxNoGcM4EShOh1R6AHdxelab1cVzftZRGrhv1NopgTEE/f5BrrsJno0tP5jrmrP5xA85sGOiLH7K0GqH3YQjU1O6gMmfJpECuga4V3iiUFHv6j40txNs2rJB43oGl+o1ablF014DmZLQ/AJwk4lTeC0WPg3fMhIpytD31gnxCUzptJbhbfM4P+d0AgszO7FVuLLYCW18A0AQdV1scP1vhMkw= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(23010399003)(11063799006)(10067099003)(56012099006)(18002099003)(22082099003)(3023799007)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: CmMs+m7yVx1xhn1x6l7Mep7R0bAizRk4z5pjN2VzwiWCPyAPxihJOrHoxFT1dZeYED/xt1FT2icFYepANJZDMLFxypiNGT3XlwZrM+S6tnfqSxA3hjtXftqdG4UyoDae5kpwhaY+avf2CGdOTYrj+EsABnJWp/UR1FUQ2GYRVnZhuURYgPMhkdy8C5lNQbHFu+ncg+9SNIKnf1YWr0/50oXjg9TYeueaq8OcwaM7skBByszaGPGLVbcjSF1cKORv+gQK/N/Lktngkf8oQT140sn9Ccdi6DzOQbMT8s23RsmfISgvZvKiCgHSN9/Lnoidb2BHFqNl546rwG7VYJ49tDT1PC6HIu7SEs1bM630+ytNliis1CQm6t8lvru0VHQmIt3lggh9L8Y3SijES+MEzATHxcUqjMAfvqtS2WzvQz1yqrE1Qmzrp3bxDrt7zqVC1Wqe4bT6tH3e/3ap+MOpbZnW4nzPmXUSUnY3w3dnp+xAGqwshuWPGoYxTP4rWCXkXKKPF1XdV3xFBGIrS3ibQHSjvPesws1E/gToAjSYp95rtNNWnIfNWBRwu5CtlxK0M13m8ErCwummocSUj2Q6mD8cHd6iY4AHG0sVJWiap7qczcndaia0XHi56A8Qvs+E5ENRRYOZ7jBEgj+FA1vwLuDyDB/y0oX5Jo8da2GPHKdkveAJA9iznPGMV8KsCIzLe6CpBRjREn3T5hfNoMW5S5xOEYJTmOAfZxsAMy8m62DgSnoROGIeSCbnJ/VWLc66c4x8HGxEcwBn8NFR3GQpUgisoYZLdcGSvrGdpapryOQhOIvW9TakUgtO/gSldeNA1v5g8nmL1bCZnxjlZUSoZ1kqrURK2YrsTAjYd576CkYIZHqKSNgxsVhT6yfmqQdrZ1CTkVDoaLM2Cy6KpgV7H+zStHNEgl1dRqwpCOqhSUGhD6GcWzEgOfcaVF7hXod0hne4On0YR5Y3VSLtIeWCTn2vG1EmSbe9ZGv7aCXzCzZC3FH+8qHVKBCx6v3pvFfh/+uXvcdI5O7OMHHS99W5FBZJMvubbhZJzADWnkqALL9hJwr72pI/eEiokU1/HyQtVXZ5iugIue71oTd37nM/SXo+oqyy9Y/M0q3Whce16hobzwKmQ+A4QHnTQWap9DONpqL5iGHUlVRau2m7ghyZoNzabl0Z9BM78CAHhBOkcUexQec5uj0PmSRoe6Sg80TrX/WUo1y1P8mHeH4J4PKOappsO8vyh+1Yr1C/nWct/j9NJJFgLXSPUNX7CQ1Q4UQZiJSS41uT8xTBbAfUQh27u1G4nA65qY3VxXgVVwFtSD/tcaut0ujYGxl2i9viKO4AY1gKyeu0zdz5udvCauEhUfsvVG1ok42qC+wE0HVCQoY9uOcmY0sfT3V5fsFvxw/mvr7FuJTNOA245Hc4INY4oAEuHy45ns2nfkc13HHpHCV58jMuqXsJVz0jwj047FwS/0zq/XlujDeWlob43rkROfCEy8TlWRHdFjOVMNmUiQNBjMylETKdbSvfQGi3sA26OyIzce+bNcjl/w9SYOlYBySyLgDrtSZc3LwA5P3fka6VPZqa7/j5drzanX1v00Kds8FgmX7slBdoC+ALhJPR5sM2WZP1oazKz5XUXuoaU8n1p3MfboIYj/RNNIOF8NDoq0lJr7X/nR974NvUo3cLD2v9B9l8ok6zzXjU7s8u5qLsxiY1z28Vb0HTY6zw31ng6rK2RD9PESfIpj+XDsuaYJG/UGXhJXzyA7KundeeIMk= X-Exchange-RoutingPolicyChecked: QmzgLvJfeTSJGvd6R1lmbXNXs0aeZcWqf/v7tUDB5Z/flBstcWpuLMUwAHBZmy0adwYc1KZpa3Pod0qlP5rcsvDOCm3Fo0qsyJ+f081zDrxrke3Nynewn2UGwu9ox5W49sN+UmTaowH2EBE/EW1iE27h4dkCTux63NOJCF9sYkTjYmievFVjLxCXMGGnN/mw5rI+DRdR12JqtsxPEv0Sn4EL5JL8zl9hOiDLAii6HQoMKE9eirs2oi+HzJszHSWxYVRkCqV/CdcfC02c3rz9Ytorul/P8FbPvt6jDRsE3Xb05rMLrHtH8g/2fvrJRldU8e9BF4iN+YiNG5yW1gbBkQ== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: f7c0b641-1ad9-4959-316d-08df024242c8 X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:12.3323 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5YNpSpzmfHd/3ic5WQYSoWYsNy+5MFVFlvUepUOhFIScXeprkhlnUGjDakMx+r7NM9T60NZrtaXtiU027NBW2QBpagWdLG33zOiTQah4x3k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSSPR11MB9642 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-GUID: aQN6cFDKAcJg92AOsYVMvfQuD-0XJZoZ X-Authority-Analysis: v=2.4 cv=UaJhjqSN c=1 sm=1 tr=0 ts=6a8ce5d9 cx=c_pps a=pjPKNKgC2VgaEdt9hcwoBQ==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=klDOsUkWDRETUCZYPvoE:22 a=t7CeM3EgAAAA:8 a=gZyeYKPtWqWysoXHKEgA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-ORIG-GUID: 3HCCPcRv9Wt3SQYHOTlF5dFAiGxqRAaa X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX+kTa3JOwPjpE DsdzBgo5QD4PqBb5qnAX2OztCPxDltOQqHOkyQz/YbNTm+ilRFnJaCeM4z8eBLN18GAGaXye8WB IvE/PZ4vkzV2wOzzx5ndpTn4cHqvm9yjLtAswUkATWhEVx3tEuxk X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX/mOVTLCEeIbh 1pnBl1X6CpaU3ALkPt8uEg7R58p+p6XjU5QwigYG+WpDKMMl3d52c5Goy1z1rzcnwKzxByy8Y4V tbZjOg5+GbAdpwlqB/wtAlwlBVauvVBRM1n2A6xCoOhM/GMQHrlk77UA1Ff0vqDnycZ5cRSRE0W c9illMQobpSkSqY/7/3m+E48vaKYVCQfpfJ1yucUJgA0Gwy2/gTlykBDgEBinOkSj36ypB3G8FM D6Q3vr5Fe7MMdMKc1WcKrZPFHYzja3VbTAyJlsK+kgPDipW4MiIIL+7HVjYL/NCJlKKjSf2NGQ0 vUs8/0TSSTTDWhEexREOuScqfGrlY6wEoJiL4EuxCQ/9dgWP7cZcIBTJadQxHUriaRnk6YynOs9 +AN8CYh8/cqom6iRrraF+3NouPvpuPpqaapMSpX9DZEqwVLURhSCaxJwVSO6NXYt5APE569XGe+ tXfsJ8FvzK2Eb4n1+AQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 adultscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244161 This can make the debug easier. Signed-off-by: Robert Yang Signed-off-by: Sumanth Gavini --- meta/lib/oe/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py index 2e348e0a10..ddf5956393 100644 --- a/meta/lib/oe/package.py +++ b/meta/lib/oe/package.py @@ -277,7 +277,7 @@ def filedeprunner(pkg, pkgfiles, rpmdeps, pkgdest): return provides, requires - output = subprocess.check_output(shlex.split(rpmdeps) + pkgfiles, stderr=subprocess.STDOUT).decode("utf-8") + output = subprocess.check_output(shlex.split(rpmdeps) + pkgfiles).decode("utf-8") provides, requires = process_deps(output, pkg, pkgdest, provides, requires) return (pkg, provides, requires) From patchwork Tue Aug 25 00:45:42 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96208 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 39DFDC5DF9C for ; Tue, 25 Aug 2026 00:46:19 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.11724.1787618778373088338 for ; Mon, 24 Aug 2026 17:46:18 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=QxC3ZNYT; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250811.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67P0VY0e343615 for ; Tue, 25 Aug 2026 00:46:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=/ud+6qTwHGthzRQFY/Zq22ZvMOftx95yhtndj1FM5ws=; b= QxC3ZNYTf/OcIqvsY9QWMqGotlTcrH1dJgMW04Lv7N+q1LDsnYr8O7bOyITpNOHs bIlzc20TktyHa/x7xdn5TbcuoYSj1wczRyxXezeLvPwJOhZ/KZYBIIEZZXilsjv/ Bi/+ajXTxITioo5G6Gz1t6PwtSeoRZ615vo+a7E8hNtg1lMUvZRkEZTuxg6+Hx+I ond2TGqMjdDi5h0RCC79Oo1tepUgxYvGlA5ShZQlP+wAFY1nVB9tuNSGrWrs3E2K DWq076hHw6el9sCg7mSEw5TeUjzqeICoP2tffUCdaYQayhL4EFHI6yinESSOR8QD c7BGFvF59DyBRPXxf5KOGQ== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11020121.outbound.protection.outlook.com [52.101.46.121]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g7100kr7y-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 25 Aug 2026 00:46:16 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eE0qgrKWKNkUarmAo1P62i0Stc7wRsJwc5U9zSrBMMviuubUtCyZHh0WSyrEot73e9xuGFNZbef1M9cCSKyvgg+iQVGqM3MH38pT1aPdG+JTV63BBWlLTYpP3Tyz+ys21MATeMDgFoEOsgYTfOYkIwGwKftGhMkid2qxWTpG8utgg2LNLNr+GqNHyFs5wFVuxXjxV/sC2wCckWxMafryG+5Z1Sw4r3Gduj9Cvh7VGOV72PQk7HCTOb6oGXHnsLXEi05c6gQTzg+ZPz8bSClkx8sjsHJViVr36IJUq/mffxu1RDsUINjYmx6FADCy5AsB6Dy0YTHeJDlHiBom0HpNrA== 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=/ud+6qTwHGthzRQFY/Zq22ZvMOftx95yhtndj1FM5ws=; b=MhETqhKMmVpN+GzHWVcuc5dLJXjwuWlaX6avj7AmmUKEHghErHSOKEno4S9gunG8xpclz8yTwdQoCunyibRpBuMZlt/bqg3cUtb+QgqtkpIzA6kVJemqYT+MlrQWVLNkkTdhGZqdh3oon3wkthN+6GXrhhfZBSyRcIjceyI4rVM+bw3v2b1PLBMjA63/80Q5gKxkOY2axeUnVElNUqKElxG+xkYd5mhEYhDv0EDmjQp3bpoJpdNC9lFEvR1O0Bibj/duMRrbDJwrGBFCxaatBiI2riQqkBJs8Gxv5+ukTqY+xvj2vhDYb4NmeiJxDmy3zjRftIpOddSSPe9yjVlMEQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by DSSPR11MB9642.namprd11.prod.outlook.com (2603:10b6:8:377::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:13 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:13 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 05/14] target-sdk-provides-dummy: Add pkg-config to DUMMYPROVIDES Date: Mon, 24 Aug 2026 17:45:42 -0700 Message-ID: <20260825004555.4111831-6-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|DSSPR11MB9642:EE_ X-MS-Office365-Filtering-Correlation-Id: c07a9d58-ddef-498b-c718-08df0242435e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|23010399003|11063799006|10067099003|56012099006|18002099003|22082099003|38350700014; X-Microsoft-Antispam-Message-Info: NnNaAMjpnGnV0cDlNaXeB9G0/h8d/+EkUy3kewcC5gmiwYVZQQDg4E1clNT/0jrIi5WDjUSW4vxtpx0quFPU+K4piJZUkcNQZIy40jD5eNQWXrbUivzcNMYEzjxLoPoFjPeRrFEIXuhnycPajMoLydyn0SjVae5r5cajZytZXaCuqFcMgP5D1JTqR4x+yxYBEXSlJEyys9uX5enOqJ/3oGng5w6oAIP3to6iKDUMURO6MlHY0P9066ycTpR9J6p2y1cPmM1oBJiBOUsoCraN3QIzduZ1QhblfDUqBL9u0auli5JusU3klTmP2JCfpkFzPx3FPn2BNO0NfnJZMQ38jfkaguyoYAecsnUG11soS59kYmRYoXvyVcjVtQ+YZ0+p4RMgZSpyb3lVOEkJmo20QymK55zvykvynC4UcfDxURvqfTGuF3NF795NRjfUx+x9BIV48Ojz5Q3AdobGMxg9VKqWcVfWB5BdvGghgShGY0Cnd8wK6y3fUIaA4itkLJcMhMKnjYITtWWmh8ds45xLDB8ft+fAlRaYhRxCbEgS/WUW8Cd4x0mUOA6CK+W8EIGPzqbw/hci390Sbtbe5vrjifTXhvTmQ22GH7FZez98JJ6p1kaAu6K84zOOFcXh9Vy+mjh5zPa4C6MxlGtgryYnqygfZu59WS0feLGXhrZRRYJbGtlDrISsCbFEs/tS4pba1vSGBmWitDyXtC+R9uH6x8h24VlAN0EYiasALtXs6qQ= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(23010399003)(11063799006)(10067099003)(56012099006)(18002099003)(22082099003)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: pYZRaSw65sUCIPK0bCBHVdhCcWrxxrZ7DVWRK0RJjM7sx+WFEmAMYEZU4wlB6D/7P5fD1mqwouljKnewM95GrAbtoyR0XBOAzB81MY3lJ52i+OMJoodoUSZt0QnS7OXi30U/Zet/AAr+58eJOog6QSHjCDaKotvYfqgQmim3ZB3rINLYlWhfyvSsoRS1un0KXJZ1d+fLrcUCct3aTAIpRYRZbCukd429nGt9ONPD2L8tlDlqsqOGBB0o36fX7Roa3l/mh1r24Rm0F1Rs9mrMe3vpqJfxNOkvbf55AP5RpRPbXsjQBOJETKaNHn935FgL+K1v6bSdkKk20vnpQ+0AWfaDnHZJNUtlvSDcSt4IRwoBz/xAZWzIF8qbp70TUZ+GsdJiqLWNs/HmNDa60QXfu+hYoBD3LJo5e8vaPvYFNPAVrkmtIOiuu/ceiZoxnEXDQ5f/yeqI1OuV97sJR84MPh1npBYTuVfB1cmF4CqfhURfGpfbzE3h6nmWuj60W7ZTbCujYpjPIlGLfZdtMAE2/KcqxQYXydBRqk3aYcONjwGz5rtkt/oQNeqHzEKnyIP1K6rvhvZC0TFocCRqcUKy6ct8I3/m2wUHnKZT/nZVsQMdZPM1z7vNrGpfqF08Xvg/cfDb/dNoQiWd4aIIk/bnFSKVVYcCt/oHU7716s6dxS/LF+s+BUzaeVNadQ9dpluFBZHuHylSWlOBxhfSEUl+wzEQllzjrb97CMvzr89rRtxRmO9xtHZ3NQjHc7xBCkfee+OnUjSYJdyjFpK+hubT8xwf2z9pPn9rPrhX6HJo1liT4RwndZvlgncT/8alyu2+YLRL8GtlkHE6Ntf+I+FJk0w97mo8edtnEgFCwRUb3UuIqFMTU6u0hl5lSWD46Q+AfdsjBAxbLD9VBGM1tBpQDFC61l5UeNKF77ekWnJ39WZZvT6mjyrYHNhUxje2863pS6RufEqU4TLEUmL6qtS04L9AY/b5vB/AOjT2igaQYrpBg37TA0qROoq1fyiZYhrjt84sAqIj6ep20hs8HSnyG3Pze5EdqMEDab9RmIUA6mYGrUzJoc0I6jLzPmeGjHSY7J6jHgxOzeR31QBmBVBA1d8Tmf/KIVN9WsLFP1yPQoxD+d0izGB7XvT6D7Wdx6iy5I0SlSP5T9OSxn5Fm1GzxPUsc1ZmN8mVygxb5CG372EwiZqfekJfaDg3VBueLYruAMAoirS0yFajM2bJ/NnoK5zt/FLg4lIj4m8HWQuTGVB+04xrYPJVMvZ+22rUSX6KQf5BfGFqTdFRi05by63GSKEqpkQeC3pgSBzX3X1ASd8/Opg2ueYRr/uz0s6LZIpXlodI5An4Lnu9zmk+ZtBbkEa4Yj7Os8Y17L58wkwHsTCVNxOytmO7KMjF6Vp/+VBBrbGxqRrOyNk8jBOAu+NuSOIp8afLlSX1AfhiSOiLFzfBB9gmt43zELETgE6AtmxyH7Zuu4gOsPLlSzT2J64bMV9LNHiaXfCG+vyjjgJOjtmg6lPgR/1l1V7KVNuzLQwrd4abeLSOcxfShJ1blKovD7vcZTzKXIi3zbJ1KG+u+77TUb5bt+u5DtK4Bz6wNr6Hg5G/4vBJ41/fsFRMN8fSu+aKXRwYL5CjweN/0N+XSCZlfQyylTzclPHfmD6Ew+UksdtYRrqdoIXLi3rgDRLsDQTKXqzsqds+1g7C5VHydEb1SYBKgCmpPvTOUXubcpJg2GDEEuBZBW4NZb3Q6mCfs/Pu24tOqGFtKLkhNBY1RRg= X-Exchange-RoutingPolicyChecked: ev3ODyGQEIZxpNP1z4dH0ZNOGuhoa5kdHQqTkwqNUYf92hp6H9IpZsNr9gDHYRdODzlUPfkATxrj1JO5fVUkXTMF43JM4TzvrNwxSeziKpgH5YcaWL5C6bywPPr62zztX+/wiC0O3FT/EPQtoVCdbauQFFBF2hmkvcdBqMtVegFRzTF9TT/Op5t+DnESrYmJ2+/uzmLXozJPAsuos+A819wpFb6UXpAV2ArYvQ+rxzySRIerk2ObrJoWkEFh01sZQWC5PzosLEz4J6PeVsEGqgQ7BH3bV2Ovj1OBZ47VzAMAB49vKJ0NKcMsqZ6dTfPqaOq7D4N4d+Py0guybavWww== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: c07a9d58-ddef-498b-c718-08df0242435e X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:13.2134 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gEoEsNdzhWdlqTy9rEOoBp6H7jHAXXl7chIVv1SAiYnqD0kv/NTL7KYDufIvQa8MJFBAYyIGPnsxHeevoKOABubrBei+fq/TEfzNWZQSEms= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSSPR11MB9642 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-GUID: Z06beDI_RfpJilc1dnbN83f1jwnrE-AG X-Authority-Analysis: v=2.4 cv=UaJhjqSN c=1 sm=1 tr=0 ts=6a8ce5d8 cx=c_pps a=pjPKNKgC2VgaEdt9hcwoBQ==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=klDOsUkWDRETUCZYPvoE:22 a=t7CeM3EgAAAA:8 a=lZurfIDJcIjVqGklx3sA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-ORIG-GUID: U1UycVgfz7sMNksnZU2f378xWyV-mChV X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX5kFOipJhUXUG d4AEcVxCzEzXu4/kczg5LN29JxgN3OmUvXUVTZ58BFf1b9VMxM/uQgEpqYepMbGRM2Ycu+54xZk 3sgF6qvbUGkQm5raN/zU4tbvWvlUL94c+y/wh9XonbNekaS5Q+HE X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX56/pVAaeOhA5 tAHP8sJak7rqyWIlXOe5j4m15dmb/KWCcYjGfYYTHZFqVFxeorO90pR1jYyuKlE2iYSeL1KPDPW BaCtQXDdCxT1pMqurxiOvJkHAJ7PCpaflTkqMAb+ISxXE3o5IbNL8jTvbERExtDFEFUt1NhYGDV Sdi7OT8fKUHEdF3N55w8RwtvSmFa+x+QULZNKMpXRyMsm8rIWVw9+FDtlPU3JBBoH/FDLR5PC+p 5Z+wVC+7vpKmLwZUcnBQ6Eftkv5Pu7qOAnbSGObSC/HFmdTTEqn4l4EowzGUDLh/Fh1wSr1ZrzA LPCIB3fvEADFspY6dc72EgnoO8bn7oio2uuDEKe/FDIGyGtI6oRGjbZjGWNiDAw/FiF3skN8GGI YROoCVYR/ijpt7L9V4ynNgIkLtDopSGwq0lQd2jvhL40038v8Lx332+7ip+UBSJI+0CRdShlEFM WIS+rlxgEO78NMUareg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 adultscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244162 The rpm package requires /usr/bin/pkg-config when it has .pc files. Fixed: 1) target-sdk-provides-dummy.bb: - package acl-dev-2.3.2-r0.core2_64 from oe-repo requires /usr/bin/pkg-config, but none of the providers can be installed 2) nativesdk-sdk-provides-dummy.bb: - package nativesdk-wayland-dev-1.24.0-r0.x86_64_nativesdk from oe-repo requires /usr/bin/pkg-config, but none of the providers can be installed Signed-off-by: Robert Yang Signed-off-by: Sumanth Gavini --- meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb | 1 + meta/recipes-core/meta/target-sdk-provides-dummy.bb | 1 + 2 files changed, 2 insertions(+) diff --git a/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb b/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb index 37dad54409..6075770bf0 100644 --- a/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb +++ b/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb @@ -11,6 +11,7 @@ DUMMYPROVIDES = "\ /bin/sh \ /bin/bash \ /usr/bin/env \ + /usr/bin/pkg-config \ libGL.so()(64bit) \ libGL.so \ " diff --git a/meta/recipes-core/meta/target-sdk-provides-dummy.bb b/meta/recipes-core/meta/target-sdk-provides-dummy.bb index 65b87fd97d..ca155d0705 100644 --- a/meta/recipes-core/meta/target-sdk-provides-dummy.bb +++ b/meta/recipes-core/meta/target-sdk-provides-dummy.bb @@ -54,6 +54,7 @@ DUMMYPROVIDES = "\ /bin/bash \ /usr/bin/env \ /usr/bin/perl \ + /usr/bin/pkg-config \ libperl.so.5 \ libperl.so.5()(64bit) \ " From patchwork Tue Aug 25 00:45:43 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96214 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 0A22CC61DBE for ; Tue, 25 Aug 2026 00:46:21 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.11828.1787618778972872272 for ; Mon, 24 Aug 2026 17:46:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=VO3bz3jw; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250811.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67P0gJw3362264 for ; Tue, 25 Aug 2026 00:46:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=XddR0/jmFczF+a/KF7fzzJ59dUhFigBtOkt7u8ptAlw=; b= VO3bz3jwT05615NtNjI2aeH7d6slmkBow4O5FmGkRPHgFWsPMihBR9qW7Hl3gDzd 1lfuxTgbOTYsvQ9JTwkbPyMm+YRFwcJksYU4MBDHOLlN2At5HEZS9BI4VArHBSwB mJWAxEQifAs45s9z6VNhkJqHC4Kj5DXDHUzMkvftU2QtvMVboFQS6T1czL7HNdJd QcJiEhwaV+0wEjS7E4IYclLbislotHEhru8omL8wOnyv4CokbP3CCe+D0hvAkmBD D9ZF79je9RSFfepvFXpLNx1EMerPaacAwRT71V10g2JW0ijICEu/0fDUP3H8/4Ap fNVIUFn6qatkF3+JSnFXBg== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11020121.outbound.protection.outlook.com [52.101.46.121]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g7100kr7y-3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 25 Aug 2026 00:46:17 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AgKFiut9/O8nUDIgJBeR3Fbjq/FfwuE3Vf/XYo5c589JLp+cUzLeTI3kkAFxlVHoLbX1ekRX31NrBv6FV0BOhq4UZw64mDQxur0pqnZ0v7+etRz8TM06msnFGgxshRQGOAmTj2+QEotiOX5V+O/GVtMmlK9AyJ/EF8nFtw/ndkX8mXN66VAq9F6W57AuL3vOvhO9R0+Rfo4dfHzbx6rbRM/p0YveaxY9dhXqNdbVPCboX0BejDIq5B3rwY80Npt8BVsFh8Zf7X9tNnzphS9MZOqVsmOLvEtZY4x3yRhEdejlipMBxhhPMuOFagwwcL2s7VcUYt2RACS20hxyzj77Yw== 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=XddR0/jmFczF+a/KF7fzzJ59dUhFigBtOkt7u8ptAlw=; b=rcALwkM6DY0EVleB8MezoTuO1KrIO93qcYMxIgCv52ax9B7FyGueN58or5BvTTpDm0QUj+ctnL6i6Fa5CzZJCrHgZfVwcAwqZ3nW73HNhQtn6KjJSd/3H0GqFogX+HBVDwQ9+jbjv213XZDOOavQtcCcZxHE3fJxU7iwKygcyuqLIUFtW3+eOu4ofygWoyMfsuk8WOEQnXmG2nhyB2cCiYNrRHbdOq+spaYRJoz569zpCmOId2XKyWTeTebmf/U8WbWJREaBsEjorTv1rptGiKI0tQag+ZXARLySpcPtObZfOVvZO0xwFUmzCTBYhX1zsQkQEVaE2qLhC1ccpA/u7g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by DSSPR11MB9642.namprd11.prod.outlook.com (2603:10b6:8:377::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:14 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:14 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 06/14] rpm: 4.20.1 -> 6.0.2 Date: Mon, 24 Aug 2026 17:45:43 -0700 Message-ID: <20260825004555.4111831-7-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|DSSPR11MB9642:EE_ X-MS-Office365-Filtering-Correlation-Id: 06432daa-859f-4a1d-5f95-08df024243ea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|23010399003|5023799004|11063799006|10067099003|6133799003|56012099006|18002099003|22082099003|3023799007|13003099007|38350700014; X-Microsoft-Antispam-Message-Info: WT8UrYTe6TI2SlpZEs+n8JoyEEgUulhP3sfjkt5VWRhTCtMpy2DdUeLzjDRADFCZylfcKRySLv0+TMIH8ZAgNudBaNOdIREi/JW/WzFtLQP98Xq0UpvvSyLEeVWYcIg7c037Hg2HkODYV1Pn7JY2MCXeZh8WvTisukOQdwP0MHIhiHsmpvnEbt9SjA5L/pbUDEtDzGDM2nb0rHwaqROMRId7XW4ZqFbZTAYms2BBX5IkENgnHTKZKg7gAi2zjQYuRH74hcr7RDDPJe6WczdA/+UoR12Yw7nAyzyWWD6cGuq8UMhN4Z7hK81biCl8eaAiHhawxRMPEKqi7HqdJET73heEnVA6tLVLvmx+3urtmJ6C3sNHYCB99AEtECqEyTf3HsmHQNMliUSEKWOCpbxNb+ZyCYwAqOb/KKHABVdW71Hj0CDVLyFyVRYzGZ9fYChRjbnp6+5sGH40HytYhTjMW3mkJoDj5NcladGLK6VvRum70FudmhswFiHWoJpSDgU5BsQOyy/Tue6kr6eAaCqm1ZhJOlmRjp9P8qI1b7p5qSoDBZFH41+kMHDuaAwRAc6trEsfUV3eX7YC6W+n7OQpnw0nju4c+2EwR3borBh8HrDF31UVpF9iS794GITWLxvuIV/+ZnPlBxtwTRPmBF0GqSaeQwkc/rv4//ZqdU+mNBE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(23010399003)(5023799004)(11063799006)(10067099003)(6133799003)(56012099006)(18002099003)(22082099003)(3023799007)(13003099007)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3ABR/meHgSGZ7WEwvtFEZgQo2+EZTuA6+fCr2HjJax4OkhpTa1/TQqqJNeAzEmctDWOQDnlIyKPqV2OmCWvSoaA3A2+Fp6mAy6/MS4iGHTKegn3vfMGwrjOSnYxI7SCKdqRmQlLyMJ0Nma2JNog0XkoOuCNDBOyH23o4YQufJuG+uh3Zuy6pImx7/ClCIbVtpjLCxF8yS79Bw4eB3Fi35jeUw1yJ/TgUm5/7xLqbnVnssQIxHxlwrZZu6pHDXZa5eOEozmv3cAig7h7ZzjrFtyD9wRTD9BvI0FWthUCZnVtrQKsEuCWks3M7dCYTKIfYM7vw/jBPi6KUMFiM61K7YhNTJFXyTM8+4dhjw5c1BpYueuVaQxlghgNoJbDrHNtgVU3M6FZPSLLmAcyro+K2v7rlNlKOlqeWQWE5YuVIoe8nrJNcWoCO56BIIiL0y6yRhzV9785AiGw2yNX9tHgfnOdNsPpYGLHnH5CTAYnT+vHU8rIHgbtG/HP0AWuKLxyBRwtrwFYgZp302B/6pmYj9Uk2aC2POy1HM2u3wpYsgUUrizZgC1kpae7oToVxx0tE20Upo5XxHlF3M5su0GO/iVAylDuu9RMWr8upBrhOh8vRMdobZLuEZLCu4NHwTgWachrgIoHOD8afj9R2uvRdj0lu1d/LnqU8srwVmoVAnCuiLTROlJAUgLZsE0F1aV3Pv1BNvjCRhfxkUdtTiVoEwurCJJ4viyWy0dim7PrOIsmAeW4aeety/Wkw4AhOJfuxFy1mdb4jEa7K3FA7zM8Uz0sTdZuznv3UhWbLgKTT1Qr+71asgFnCT+IcxJzimf1kr6XSAEHl3h/vZiV5O94S+xXjr4VIdPe7+I8YsktuKyNNt2ZA0tcNg1DcEDfoFAXb0OcTMTlHS8JOl+079gSQZ86x+niQLVdu9nqTfzWkDYI0SN/tXg/WFQoHGvJAHZbDYHmlA+5hnk0yEGiAOwlTrMg4rf4l+yDW62AAk6me0OoQVJYs11bG1OcogE7al2DgTAVfhnSBER/E0qTCKZGT7TbvD8I5xMGB0z45Kzmzolz3qSmrWGdpuviZoBH5lR0c9MreAF6Fvb/nT93f5NJb17q7TXvIhES+Gs5radE7PY0OVL8f4Nq5A4moh22WEVLw1vwYzIDXx6qWsAk1JACXFbTokULdHIiJ2fumqkNsV+Z1jy89LkZ6XbzE0L9Y259qY0w16kGtrOVAMl0YJ8P5V4NTuNFw1BWWfE0gO1ShnUx3HS81SNdUoepvZ+zX8CP99YfoikqvY+c9pBSH3rTDEUad8lsTk3FjLzPlvJoHui5hWj7tVY1thlMXckzau3hZEwpEgaVMGh/4kI8jX/76eFAEQIayARzNMx+a0nkxQfLlMTPC0/+6emCGNZMBYNjBokxvHqT2QRFzvqbftwdX2gDMyEkPSPHCkluZ6Jq5D4kfpP1K+c2fZMK5Uh+M74+DeO+GmAYdC/ce5OPiWPw0pWCPP7bQlFgRQkkMWliJB5raOz9GAoVo3fFR5tJTV/8qLk5sd+7kK16pnqcJKuDaZeyBsf0oaxdaVeUKBTV3n3U/000L+fSY+pbazYXOUOvamaGUOcAaUhx4HbMFK7ASRMQTz34xmLRGBopxhW4cFEJ3U27IxDkTDqgy8EtnEiVGBzjeWv0fjTHURIw3G69Mbk6Waz+HXIMVqihll5ujr8t5kO+uC0plHjXdYkQSx4KfXQgzQX7LmzcqqsfON3dUO+YHn1iaNTyPZLggugfsq7E= X-Exchange-RoutingPolicyChecked: DiypaANyAY5oYTFmgN2nJaxf9Vv0mFT5EMs0gbNZgbx2YvnAVjyvI3HmBLhzkQJ6f+ZR8QB/tBxaPYe5OsUq4SXQ1jDOHVWCVw39aLkMFfrtbYP4468Q6AnztlILLKrwQY3IAvSi4yvrQRq0nrvrb32nKENVxrOAXoB5mY6WTctMSKEoV0vQ9aywqSZH+ROneBzaa+gQS/F+LUDT/7hpEY873sHtHsIvKaywvxdoEV5PIQeoQwqgiqY7JF5W9CAQvC6QLVUq2ppdn0DF8Lvt/QWu/K4W41nkqeI7FFd77S1JGVHHQpBUINyt4VAbyqg0vdN8CBgTOHleDpPUwV54Gg== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 06432daa-859f-4a1d-5f95-08df024243ea X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:14.1878 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kmpsOdcKPlNRASRSGbSALCDfje6eC+EKQVYyxS+bH7RREj7k9IvW7VyhmxsrtNl/roWxt6YMWCi0C91AHQ1eQz2AfSxyKZoHNXpEEgSMQjg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSSPR11MB9642 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-GUID: 5WDBqxCt56jynjytr8gmcJj0hlWc-rLR X-Authority-Analysis: v=2.4 cv=UaJhjqSN c=1 sm=1 tr=0 ts=6a8ce5d9 cx=c_pps a=pjPKNKgC2VgaEdt9hcwoBQ==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=klDOsUkWDRETUCZYPvoE:22 a=NEAV23lmAAAA:8 a=Q4-j1AaZAAAA:8 a=GMGn13PZAAAA:8 a=t7CeM3EgAAAA:8 a=pGLkceISAAAA:8 a=Ia9td_k3mc_TV5fArrgA:9 a=2yX8oE26ukr_L8MB:21 a=O8hF6Hzn-FEA:10 a=9H3Qd4_ONW2Ztcrla5EB:22 a=jIF0orF5dxDFSsn8Ms5I:22 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-ORIG-GUID: e_iSv-KAXFh5YGjwnAsFPQcfb8E8Vqgw X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfXzHsv7YJL0CAb jgegS7ZNcDhTHP0Bc4IcxpLV+lV7jK68PyEA3wPYlcTljBz4lD8f3I52oMHeeg9tcszWNLLuWv7 lqhx01s/bYPwjiIiBkNM+gRqsbGyD44bBI2NqDaN7QoI/NX754/d X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfXxnFyBUO1dYV2 8cfXLiTQYf7Rt1ir1GG5/B1NSDWnBe79Jhi95kSjQINQOK8eNimeGWFvi4nP8sLYXyzFIC7T7hG 39zwwbFrJ7qTaowt6vBRLmJM2Ka6v71ZzscbyTQ7msX3f9X7lNKW+YB70hdOEiw5eFlPHuypLRm 3h5kHaLfuwKaB5ZQwyAOvWP14zrElQNuXuysqDUHZPUOYGS9CzzbgXYk0UOfXt2xiAa3G7Xji1D ecxV3hErw2Qkcb5w5BkfmyNlw5Y/5ek4q21M5R57uxCK78BmFJX83iyfkcB0Ti3M6zWwxFV4Q6Y TEvmiHEJ8YKGJ8Ez96XKoVBpGnEEfmeWo8ETWi6cdkpuvYpxuMPdr5idAq/OjHZL0YMP6G58NEQ VI8a2i6v5TctozwD/nzZF81U90GWFDJ1Gg18PeQivIJJjNEFqe6eUC2CYO76dMqPxuXGDbXefih 48Etvv2sXnglmBhOXPA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 adultscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:21 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244164 * Add a tag to SRC_URI so that there will be errors when only change the filename during upgrade it, as suggested by Alexander. * Rebase the following patch: - 0001-Add-a-color-setting-for-mips64_n32-binaries.patch - 0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch - 0001-Do-not-read-config-files-from-HOME.patch - 0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch - 0001-When-cross-installing-execute-package-scriptlets-wit.patch - 0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch - 0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch - 0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch - 0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch - 0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch * Updated 0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch Remove the changes for macros.in since it doesn't work for rpmbuild, rpmbuild is like cross build, will define the values in package_rpm.bbclass. * Remove 0001-CMakeLists.txt-set-libdir-to-CMAKE_INSTALL_FULL_LIBD.patch, there are no such warnings in rpm 6.0.2. * Remove backported patch 0001-CMakeLists.txt-Fix-checking-for-CFLAGS.patch * Add the following patches: - 0001-tools-elfdeps.cc-Remove-format-module.patch There is no format until gcc 13.1, so remove the format module to make it work on hosts such as Ubuntu 22.04. - 0001-macros.in-Set-_pkgverify_level-to-digest-as-RCPM-4.2.patch Fixed: GPG check FAILED * Fix filter /usr/bin/pkg-config file dependency pkg-config is a build-time tool, not a runtime dependency. Filter the /usr/bin/pkg-config file dependency that RPM pkgconfig.attr auto-detects for packages with .pc files, preventing unnecessary hard dependencies in -dev packages. * Add scdoc-native to DEPENDS to fix do_configure error for both native and target: Could not find SCDOC using the following names: scdoc Note, both target and native need scdoc-native, it is used for generating the manual, the man pages in *man/* are scdoc sources * Add /etc/rpm to nativesdk-rpm to fix: ERROR: nativesdk-rpm-1_6.0.1-r0 do_package: QA Issue: nativesdk-rpm: Files/directories were installed but not shipped in any package: /etc /etc/rpm * Add /etc/rpm to nativesdk-rpm to fix: * Fix build with systemd, the rpm's sysuser creation doesn't work with cross build, and we don't need rpm to create the users since we have useradd.bbclass. The fix is: cmd = cmd + " --define '__sysusers_path %{nil}'" The error is: /var/tmp/rpm-tmp.U4iaJX: line 114: tr: command not found * Make rpmbuild can find the pkgconfig (.pc) files in /usr/share/pkgconfig: cmd = cmd + " --define '_datadir ${datadir}'" The error is: - nothing provides pkgconfig(shared-mime-info) needed by libgdk-pixbuf-2.0-dev-2.44.5-r0.x86_6 Signed-off-by: Sumanth Gavini --- meta/classes-global/package_rpm.bbclass | 4 ++ ...olor-setting-for-mips64_n32-binaries.patch | 22 ++++---- ...akeLists.txt-Fix-checking-for-CFLAGS.patch | 46 ----------------- ...et-libdir-to-CMAKE_INSTALL_FULL_LIBD.patch | 50 ------------------- ...satisfiable-dependency-when-building.patch | 18 ++++--- ...lib-rpm-as-the-installation-path-for.patch | 24 +++------ ...1-Do-not-read-config-files-from-HOME.patch | 18 ++++--- ...-PATH-environment-variable-before-ru.patch | 16 +++--- ...lling-execute-package-scriptlets-wit.patch | 12 +++-- ...not-insert-payloadflags-into-.rpm-me.patch | 18 ++++--- ....c-fix-file-conflicts-for-MIPS64-N32.patch | 18 ++++--- ...kgverify_level-to-digest-as-RCPM-4.2.patch | 35 +++++++++++++ ...ools-elfdeps.cc-Remove-format-module.patch | 38 ++++++++++++++ ...prefixing-etc-from-RPM_ETCCONFIGDIR-.patch | 26 ++++++---- ...avoid-using-GLOB_BRACE-if-undefined-.patch | 14 ++++-- ...ge-logging-level-around-scriptlets-t.patch | 14 +++--- .../rpm/{rpm_4.20.1.bb => rpm_6.0.2.bb} | 14 +++--- 17 files changed, 199 insertions(+), 188 deletions(-) delete mode 100644 meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-Fix-checking-for-CFLAGS.patch delete mode 100644 meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-set-libdir-to-CMAKE_INSTALL_FULL_LIBD.patch create mode 100644 meta/recipes-devtools/rpm/files/0001-macros.in-Set-_pkgverify_level-to-digest-as-RCPM-4.2.patch create mode 100644 meta/recipes-devtools/rpm/files/0001-tools-elfdeps.cc-Remove-format-module.patch rename meta/recipes-devtools/rpm/{rpm_4.20.1.bb => rpm_6.0.2.bb} (96%) diff --git a/meta/classes-global/package_rpm.bbclass b/meta/classes-global/package_rpm.bbclass index 9af4cbdd94..51ad195baa 100644 --- a/meta/classes-global/package_rpm.bbclass +++ b/meta/classes-global/package_rpm.bbclass @@ -587,6 +587,7 @@ python do_package_rpm () { cmd = cmd + " --define '_topdir " + workdir + "' --define '_rpmdir " + pkgwritedir + "'" cmd = cmd + " --define '_lib ${BASELIB}'" cmd = cmd + " --define '_libdir ${libdir}'" + cmd = cmd + " --define '_datadir ${datadir}'" cmd = cmd + " --define '_builddir " + d.getVar('B') + "'" cmd = cmd + " --define '_build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'" cmd = cmd + " --define '_binaries_in_noarch_packages_terminate_build 0'" @@ -601,6 +602,7 @@ python do_package_rpm () { cmd = cmd + " --define '_unpackaged_files_terminate_build 0'" cmd = cmd + " --define 'debug_package %{nil}'" cmd = cmd + " --define '_tmppath " + workdir + "'" + cmd = cmd + " --define '__sysusers_path %{nil}'" cmd = cmd + " --define '_use_weak_usergroup_deps 1'" cmd = cmd + " --define '_passwd_path " + "/completely/bogus/path" + "'" cmd = cmd + " --define '_group_path " + "/completely/bogus/path" + "'" @@ -622,6 +624,8 @@ python do_package_rpm () { python () { if d.getVar('PACKAGES') != '': deps = ' rpm-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot' + # The pkgconfig-native is required by rpm's pkgconfigdeps.sh + deps += ' pkgconfig-native:do_populate_sysroot' d.appendVarFlag('do_package_write_rpm', 'depends', deps) d.setVarFlag('do_package_write_rpm', 'fakeroot', '1') diff --git a/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch b/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch index 769d7b3409..a808009058 100644 --- a/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch +++ b/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch @@ -5,16 +5,20 @@ Subject: [PATCH] Add a color setting for mips64_n32 binaries Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin + +Rebased to 6.0.2 +Signed-off-by: Robert Yang +Signed-off-by: Sumanth Gavini --- - build/rpmfc.c | 4 ++++ + build/rpmfc.cc | 4 ++++ rpmrc.in | 2 ++ 2 files changed, 6 insertions(+) -diff --git a/build/rpmfc.c b/build/rpmfc.c -index 86dd36d14..df421a23f 100644 ---- a/build/rpmfc.c -+++ b/build/rpmfc.c -@@ -716,6 +716,7 @@ static int rpmfcHelper(rpmfc fc, int *fnx, int nfn, const char *proto, +diff --git a/build/rpmfc.cc b/build/rpmfc.cc +index 833e56fa8..d50a3407f 100644 +--- a/build/rpmfc.cc ++++ b/build/rpmfc.cc +@@ -690,6 +690,7 @@ static int rpmfcHelper(rpmfc fc, int *fnx, int nfn, const char *proto, static const struct rpmfcTokens_s rpmfcTokens[] = { { "directory", RPMFC_INCLUDE }, @@ -22,7 +26,7 @@ index 86dd36d14..df421a23f 100644 { "ELF 32-bit", RPMFC_ELF32|RPMFC_INCLUDE }, { "ELF 64-bit", RPMFC_ELF64|RPMFC_INCLUDE }, -@@ -1258,6 +1259,9 @@ static uint32_t getElfColor(const char *fn) +@@ -1191,6 +1192,9 @@ static uint32_t getElfColor(const char *fn) color = 0; break; } @@ -33,10 +37,10 @@ index 86dd36d14..df421a23f 100644 if (elf) elf_end(elf); diff --git a/rpmrc.in b/rpmrc.in -index 8646a966b..7349fdfd3 100644 +index 8fd0d7ee1..4cc52ceb3 100644 --- a/rpmrc.in +++ b/rpmrc.in -@@ -142,6 +142,8 @@ archcolor: mipsr6el 1 +@@ -152,6 +152,8 @@ archcolor: mipsr6el 1 archcolor: mips64r6 2 archcolor: mips64r6el 2 diff --git a/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-Fix-checking-for-CFLAGS.patch b/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-Fix-checking-for-CFLAGS.patch deleted file mode 100644 index 412e1c146d..0000000000 --- a/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-Fix-checking-for-CFLAGS.patch +++ /dev/null @@ -1,46 +0,0 @@ -From e14502834fe6a9c6c9a439401ac3d2c8fd979267 Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Sun, 8 Jun 2025 00:36:38 -0700 -Subject: [PATCH] CMakeLists.txt: Improve checking for CFLAGS - -The previous log wasn't clear: --- Performing Test found --- Performing Test found - Success --- Performing Test found --- Performing Test found - Success --- Performing Test found --- Performing Test found - Failed - -Use a new var compiler-supports${flag} will make it more clear: --- Performing Test compiler-supports-fno-strict-overflow --- Performing Test compiler-supports-fno-strict-overflow - Success --- Performing Test compiler-supports-fno-delete-null-pointer-checks --- Performing Test compiler-supports-fno-delete-null-pointer-checks - Success --- Performing Test compiler-supports-fhardened --- Performing Test compiler-supports-fhardened - Failed - -Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/e14502834fe6a9c6c9a439401ac3d2c8fd979267] - -Signed-off-by: Robert Yang ---- - CMakeLists.txt | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 08e3e5274..f275c396b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -416,11 +416,10 @@ endif() - - # try to ensure some compiler sanity and hardening options where supported - foreach (flag -fno-strict-overflow -fno-delete-null-pointer-checks -fhardened) -- check_c_compiler_flag(${flag} found) -- if (found) -+ check_c_compiler_flag(${flag} compiler-supports${flag}) -+ if (compiler-supports${flag}) - add_compile_options(${flag}) - endif() -- unset(found) - endforeach() - - # generated sources diff --git a/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-set-libdir-to-CMAKE_INSTALL_FULL_LIBD.patch b/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-set-libdir-to-CMAKE_INSTALL_FULL_LIBD.patch deleted file mode 100644 index 7db643871f..0000000000 --- a/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-set-libdir-to-CMAKE_INSTALL_FULL_LIBD.patch +++ /dev/null @@ -1,50 +0,0 @@ -From cb5355da9b47166253dbe5ab3215e433b55068d1 Mon Sep 17 00:00:00 2001 -From: Yi Zhao -Date: Fri, 26 Jul 2024 17:18:30 +0800 -Subject: [PATCH] CMakeLists.txt: set libdir to ${CMAKE_INSTALL_FULL_LIBDIR} in - macros - -There is a patch in oe-core[1] to avoid hardcoded paths in macros. It -tries to use libdir to expand %_libdir in macros.in. However, in -upstream commit[2], libdir for macros in CMakeLists.txt is set to -${prefix}/=LIB=, which causes %_libdir to expand to ${prefix}/=LIB= -instead of the correct path in the final macros. - -On target: -$ rpm --showrc | grep _libdir -[snip] --13: _libdir ${prefix}/=LIB= -[snip] - -This also causes %__pkgconfig_path in fileattrs/pkgconfig.attr to become -an invalid regular expression when building rpm packages. This results a -warning in log.do_package_write_rpm in all packages: - -Warning: Ignoring invalid regular expression ^((${prefix}/=LIB=|usr/share)/pkgconfig/.*.pc|usr/bin/pkg-config)$ - -Set libdir to ${CMAKE_INSTALL_FULL_LIBDIR} instead of ${prefix}/=LIB= to -make sure it is expanded to the correct path in macros. - -[1] https://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch -[2] https://github.com/rpm-software-management/rpm/commit/d2abb7a48760418aacd7f17c8b64e39c25ca50c9 - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Yi Zhao ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 08dabffd3..1b7661139 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -96,7 +96,7 @@ function(makemacros) - set(sysconfdir "${CMAKE_INSTALL_FULL_SYSCONFDIR}") - set(sharedstatedir "${CMAKE_INSTALL_FULL_SHAREDSTATEDIR}") - set(localstatedir "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}") -- set(libdir "\${prefix}/=LIB=") -+ set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}") - set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") - set(oldincludedir "${CMAKE_INSTALL_FULL_OLDINCLUDEDIR}") - set(infodir "\${prefix}/${CMAKE_INSTALL_INFODIR}") diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch index 96a5e14999..63a10df0d5 100644 --- a/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch +++ b/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch @@ -9,16 +9,20 @@ hand produces rpms that way by design. Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin + +Rebased to 6.0.2 +Signed-off-by: Robert Yang +Signed-off-by: Sumanth Gavini --- - build/pack.c | 4 ---- + build/pack.cc | 4 ---- 1 file changed, 4 deletions(-) -diff --git a/build/pack.c b/build/pack.c -index eb9c7b3f1..fb1f1bed8 100644 ---- a/build/pack.c -+++ b/build/pack.c -@@ -712,10 +712,6 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch - headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16); +diff --git a/build/pack.cc b/build/pack.cc +index 49c9d0a58..b1cda6d75 100644 +--- a/build/pack.cc ++++ b/build/pack.cc +@@ -805,10 +805,6 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch + headerPutBin(pkg->header, RPMTAG_SOURCESIGMD5, spec->sourcePkgId,16); } - if (cheating) { diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch index 6a44f4f22d..309320cf43 100644 --- a/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch +++ b/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch @@ -6,10 +6,16 @@ Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for Upstream-Status: Denied [https://github.com/rpm-software-management/rpm/pull/263] Signed-off-by: Alexander Kanavin + +Updated for rpm 6.0.2: +Remove the changes for macros.in since it doesn't work for rpmbuild, rpmbuild +is like cross build, will define the values in package_rpm.bbclass. + +Signed-off-by: Robert Yang +Signed-off-by: Sumanth Gavini --- CMakeLists.txt | 2 +- - macros.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index de0b578a6..9a3aba071 100644 @@ -23,17 +29,3 @@ index de0b578a6..9a3aba071 100644 +set(RPM_CONFIGDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/rpm" CACHE PATH "rpm home") set(RPM_MACROSDIR "${RPM_CONFIGDIR}/macros.d") set(RPM_VENDOR "vendor" CACHE STRING "rpm vendor string") - -diff --git a/macros.in b/macros.in -index 4d3e8afdc..66e31320f 100644 ---- a/macros.in -+++ b/macros.in -@@ -964,7 +964,7 @@ Supplements: (%{name} = %{version}-%{release} and langpacks-%{1})\ - %_sharedstatedir %{_var}/lib - %_localstatedir %{_prefix}/var - %_lib lib --%_libdir %{_exec_prefix}/%{_lib} -+%_libdir @libdir@ - %_includedir %{_prefix}/include - %_infodir %{_datadir}/info - %_mandir %{_datadir}/man diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch index bfc9a74b6c..ae47499e22 100644 --- a/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch +++ b/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch @@ -5,15 +5,19 @@ Subject: [PATCH] Do not read config files from $HOME Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin + +Rebased to 6.0.2 +Signed-off-by: Robert Yang +Signed-off-by: Sumanth Gavini --- - lib/rpmrc.c | 6 ++---- + lib/rpmrc.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) -diff --git a/lib/rpmrc.c b/lib/rpmrc.c -index 5d778b8b7..dc8d42aeb 100644 ---- a/lib/rpmrc.c -+++ b/lib/rpmrc.c -@@ -485,8 +485,7 @@ static void setDefaults(void) +diff --git a/lib/rpmrc.cc b/lib/rpmrc.cc +index 2b3baeddc..cea6f4bc5 100644 +--- a/lib/rpmrc.cc ++++ b/lib/rpmrc.cc +@@ -390,8 +390,7 @@ static void setDefaults(void) if (!defrcfiles) { defrcfiles = rstrscat(NULL, confdir, "/rpmrc", ":", confdir, "/" RPM_VENDOR "/rpmrc", ":", @@ -23,7 +27,7 @@ index 5d778b8b7..dc8d42aeb 100644 } /* macrofiles may be pre-set from --macros */ -@@ -498,8 +497,7 @@ static void setDefaults(void) +@@ -403,8 +402,7 @@ static void setDefaults(void) confdir, "/" RPM_VENDOR "/macros", ":", SYSCONFDIR "/rpm/macros.*", ":", SYSCONFDIR "/rpm/macros", ":", diff --git a/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch b/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch index d3263896ef..05c8b79f29 100644 --- a/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch +++ b/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch @@ -8,15 +8,19 @@ We add lots of native stuff into it and scriptlets rely on that. Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin + +Rebased to 6.0.2 +Signed-off-by: Robert Yang +Signed-off-by: Sumanth Gavini --- - lib/rpmscript.c | 2 +- + lib/rpmscript.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/lib/rpmscript.c b/lib/rpmscript.c -index 060fd8124..4dc6466a8 100644 ---- a/lib/rpmscript.c -+++ b/lib/rpmscript.c -@@ -251,7 +251,7 @@ static void doScriptExec(ARGV_const_t argv, ARGV_const_t prefixes, +diff --git a/lib/rpmscript.cc b/lib/rpmscript.cc +index b75a62085..2d7a4c889 100644 +--- a/lib/rpmscript.cc ++++ b/lib/rpmscript.cc +@@ -260,7 +260,7 @@ static void doScriptExec(ARGV_const_t argv, ARGV_const_t prefixes, if (ipath && ipath[5] != '%') path = ipath; diff --git a/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch b/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch index b71156fe12..90f5322573 100644 --- a/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch +++ b/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch @@ -26,15 +26,17 @@ Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin Rebased to 4.20.1 +Rebased to 6.0.2 Signed-off-by: Robert Yang +Signed-off-by: Sumanth Gavini --- - lib/rpmscript.c | 9 +++++++-- + lib/rpmscript.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) -diff --git a/lib/rpmscript.c b/lib/rpmscript.c -index eb14870b3..1785e8f30 100644 ---- a/lib/rpmscript.c -+++ b/lib/rpmscript.c +diff --git a/lib/rpmscript.cc b/lib/rpmscript.cc +index b75a62085..7d667b7f5 100644 +--- a/lib/rpmscript.cc ++++ b/lib/rpmscript.cc @@ -456,8 +456,7 @@ exit: Fclose(out); /* XXX dup'd STDOUT_FILENO */ diff --git a/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch b/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch index 0c29e5543a..fe4e029830 100644 --- a/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch +++ b/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch @@ -1,7 +1,7 @@ From e688eb54fd54d65181e94b854b3568d99cbf3a24 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Tue, 31 Aug 2021 10:37:05 +0200 -Subject: [PATCH] build/pack.c: do not insert payloadflags into .rpm metadata +Subject: [PATCH] build/pack.cc: do not insert payloadflags into .rpm metadata The flags look like '19T56' where 19 is the compression level (deterministic), and 56 is the amount of threads (varies from one @@ -9,15 +9,19 @@ host to the next and breaks reproducibility for .rpm). Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin + +Rebased to 6.0.2 +Signed-off-by: Robert Yang +Signed-off-by: Sumanth Gavini --- - build/pack.c | 2 +- + build/pack.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/build/pack.c b/build/pack.c -index fb1f1bed8..45885a6ac 100644 ---- a/build/pack.c -+++ b/build/pack.c -@@ -330,7 +330,7 @@ static char *getIOFlags(Package pkg) +diff --git a/build/pack.cc b/build/pack.cc +index b1cda6d75..1425d27ba 100644 +--- a/build/pack.cc ++++ b/build/pack.cc +@@ -338,7 +338,7 @@ static char *getIOFlags(Package pkg) headerPutString(pkg->header, RPMTAG_PAYLOADCOMPRESSOR, compr); buf = xstrdup(rpmio_flags); buf[s - rpmio_flags] = '\0'; diff --git a/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch b/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch index 7d443ccc6c..5dc059493c 100644 --- a/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch +++ b/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch @@ -1,7 +1,7 @@ From ad530868e37f09e9236c085d25a834304750704b Mon Sep 17 00:00:00 2001 From: Changqing Li Date: Thu, 7 May 2020 17:40:58 +0800 -Subject: [PATCH] lib/transaction.c: fix file conflicts for MIPS64 N32 +Subject: [PATCH] lib/transaction.cc: fix file conflicts for MIPS64 N32 This patch is from: https://github.com/rpm-software-management/rpm/issues/193 @@ -27,15 +27,19 @@ Fixed by performing a 'last-in-wins' resolution when "neither is preferred". Upstream-Status: Submitted Signed-off-by: Changqing Li + +Rebased to 6.0.2 +Signed-off-by: Robert Yang +Signed-off-by: Sumanth Gavini --- - lib/transaction.c | 13 ++++++++++++- + lib/transaction.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) -diff --git a/lib/transaction.c b/lib/transaction.c -index 5e4414d2a..b1c55bd44 100644 ---- a/lib/transaction.c -+++ b/lib/transaction.c -@@ -400,7 +400,18 @@ static int handleColorConflict(rpmts ts, +diff --git a/lib/transaction.cc b/lib/transaction.cc +index de7cdabb2..697268733 100644 +--- a/lib/transaction.cc ++++ b/lib/transaction.cc +@@ -375,7 +375,18 @@ static int handleColorConflict(rpmts ts, rpmfsSetAction(ofs, ofx, FA_CREATE); rpmfsSetAction(fs, fx, FA_SKIPCOLOR); rConflicts = 0; diff --git a/meta/recipes-devtools/rpm/files/0001-macros.in-Set-_pkgverify_level-to-digest-as-RCPM-4.2.patch b/meta/recipes-devtools/rpm/files/0001-macros.in-Set-_pkgverify_level-to-digest-as-RCPM-4.2.patch new file mode 100644 index 0000000000..500a667a1b --- /dev/null +++ b/meta/recipes-devtools/rpm/files/0001-macros.in-Set-_pkgverify_level-to-digest-as-RCPM-4.2.patch @@ -0,0 +1,35 @@ +From 1cb53934b83b794c319813106c9f12d75cce66d2 Mon Sep 17 00:00:00 2001 +From: Robert Yang +Date: Sun, 18 Jan 2026 19:24:42 -0800 +Subject: [PATCH] macros.in: Set _pkgverify_level to digest as RPM 4.20.1 + +Fixed: +$ bitbake core-image-minimal +Package bash-5.3-r0.16.x86_64_v3.rpm is not signed +GPG check FAILED + +Set _pkgverify_level to digest as RPM 4.20.1 can fix the problem. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Robert Yang +Signed-off-by: Sumanth Gavini +--- + macros.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/macros.in b/macros.in +index 38066f00c..7fe00ad09 100644 +--- a/macros.in ++++ b/macros.in +@@ -680,7 +680,7 @@ Supplements: (%{name} = %{version}-%{release} and langpacks-%{1})\ + # signature require valid signature(s) + # digest require valid digest(s) + # none traditional rpm behavior, nothing required +-%_pkgverify_level all ++%_pkgverify_level digest + + # Disabler flags for package verification (similar to vsflags) + # Set to 0x0 for full compatibility with v4 packages. +-- +2.49.0 + diff --git a/meta/recipes-devtools/rpm/files/0001-tools-elfdeps.cc-Remove-format-module.patch b/meta/recipes-devtools/rpm/files/0001-tools-elfdeps.cc-Remove-format-module.patch new file mode 100644 index 0000000000..25f5496bde --- /dev/null +++ b/meta/recipes-devtools/rpm/files/0001-tools-elfdeps.cc-Remove-format-module.patch @@ -0,0 +1,38 @@ +From 3536ef6bb74144cf9dce10200cd62c2ad9f7cae4 Mon Sep 17 00:00:00 2001 +From: Robert Yang +Date: Thu, 15 Jan 2026 19:36:17 -0800 +Subject: [PATCH] tools/elfdeps.cc: Remove format module + +There is no format until gcc 13.1, so remove the format module to make it work +on hosts such as Ubuntu 22.04. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Robert Yang +Signed-off-by: Sumanth Gavini +--- + tools/elfdeps.cc | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/tools/elfdeps.cc b/tools/elfdeps.cc +index 17884b24e..33ff8d740 100644 +--- a/tools/elfdeps.cc ++++ b/tools/elfdeps.cc +@@ -1,6 +1,5 @@ + #include "system.h" + +-#include + #include + #include + +@@ -105,7 +104,7 @@ static void addSoDep(std::vector & deps, + if (ver.empty() && marker.empty()) { + addDep(deps, soname); + } else { +- auto dep = std::format("{}({}){}", soname, ver, marker); ++ std::string dep = soname + "(" + ver + ")" + marker; + addDep(deps, dep); + } + } +-- +2.49.0 + diff --git a/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch b/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch index 082fb343c2..1004253ff8 100644 --- a/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch +++ b/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch @@ -9,15 +9,19 @@ from target rootfs instead of its own native sysroot. Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin + +Rebased to 6.0.2 +Signed-off-by: Robert Yang +Signed-off-by: Sumanth Gavini --- - lib/rpmrc.c | 18 +++++++++++++----- + lib/rpmrc.cc | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) -diff --git a/lib/rpmrc.c b/lib/rpmrc.c -index dc8d42aeb..3f2996850 100644 ---- a/lib/rpmrc.c -+++ b/lib/rpmrc.c -@@ -481,11 +481,14 @@ static void setDefaults(void) +diff --git a/lib/rpmrc.cc b/lib/rpmrc.cc +index cea6f4bc5..e6cf21e1b 100644 +--- a/lib/rpmrc.cc ++++ b/lib/rpmrc.cc +@@ -386,11 +386,14 @@ static void setDefaults(void) userrc = xstrdup(oldrc); } } @@ -33,7 +37,7 @@ index dc8d42aeb..3f2996850 100644 } /* macrofiles may be pre-set from --macros */ -@@ -495,9 +498,9 @@ static void setDefaults(void) +@@ -400,9 +403,9 @@ static void setDefaults(void) confdir, "/platform/%{_target}/macros", ":", confdir, "/fileattrs/*.attr", ":", confdir, "/" RPM_VENDOR "/macros", ":", @@ -46,7 +50,7 @@ index dc8d42aeb..3f2996850 100644 } free(usermacros); -@@ -1142,7 +1145,11 @@ static void read_auxv(void) +@@ -1048,7 +1051,11 @@ static void read_auxv(void) */ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os) { @@ -55,11 +59,11 @@ index dc8d42aeb..3f2996850 100644 + if (etcconfdir == NULL) + etcconfdir = ""; + -+ const char * const platform_path = rstrscat(NULL, etcconfdir, SYSCONFDIR "/rpm/platform", NULL); ++ char * const platform_path = rstrscat(NULL, etcconfdir, SYSCONFDIR "/rpm/platform", NULL); static struct utsname un; char * chptr; - canonEntry canon; -@@ -1462,6 +1469,7 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os) + int rc; +@@ -1378,6 +1385,7 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os) if (arch) *arch = un.machine; if (os) *os = un.sysname; diff --git a/meta/recipes-devtools/rpm/files/0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch b/meta/recipes-devtools/rpm/files/0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch index 00fe19108e..59855466da 100644 --- a/meta/recipes-devtools/rpm/files/0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch +++ b/meta/recipes-devtools/rpm/files/0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch @@ -1,7 +1,7 @@ From d8972ff7fa0a30e199144ba135223bf561874e01 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Tue, 16 Jan 2024 09:59:26 +0100 -Subject: [PATCH] rpmio/rpmglob.c: avoid using GLOB_BRACE if undefined by C +Subject: [PATCH] rpmio/rpmglob.cc: avoid using GLOB_BRACE if undefined by C library This addresses musl failures; if there is code out there relying on @@ -11,14 +11,18 @@ This is unlikely to be trivially fixable upstream. Upstream-Status: Inappropriate [reported at https://github.com/rpm-software-management/rpm/issues/2844] Signed-off-by: Alexander Kanavin + +Rebased to 6.0.2 +Signed-off-by: Robert Yang +Signed-off-by: Sumanth Gavini --- - rpmio/rpmglob.c | 6 ++++++ + rpmio/rpmglob.cc | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/rpmio/rpmglob.c b/rpmio/rpmglob.c +diff --git a/rpmio/rpmglob.cc b/rpmio/rpmglob.cc index eb439cad8..1eef0b851 100644 ---- a/rpmio/rpmglob.c -+++ b/rpmio/rpmglob.c +--- a/rpmio/rpmglob.cc ++++ b/rpmio/rpmglob.cc @@ -33,6 +33,12 @@ #include "debug.h" diff --git a/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch b/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch index bac2d6331c..84f909c68b 100644 --- a/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch +++ b/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch @@ -1,7 +1,7 @@ From 452b696ea3e1975ea30cf7a92678aa4b316e6300 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 10 Jan 2019 18:14:18 +0100 -Subject: [PATCH] rpmscript.c: change logging level around scriptlets to INFO +Subject: [PATCH] rpmscript.cc: change logging level around scriptlets to INFO from DEBUG That way we can debug scriptlet failures without writing lots of @@ -11,15 +11,17 @@ Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin Rebased to 4.20.1 +Rebased to 6.0.2 Signed-off-by: Robert Yang +Signed-off-by: Sumanth Gavini --- - lib/rpmscript.c | 8 ++++---- + lib/rpmscript.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -diff --git a/lib/rpmscript.c b/lib/rpmscript.c -index e9f288ae0..f0c628708 100644 ---- a/lib/rpmscript.c -+++ b/lib/rpmscript.c +diff --git a/lib/rpmscript.cc b/lib/rpmscript.cc +index fe5fc9138..861fd8ca8 100644 +--- a/lib/rpmscript.cc ++++ b/lib/rpmscript.cc @@ -299,7 +299,7 @@ static char * writeScript(const char *cmd, const char *script) if (Ferror(fd)) goto exit; diff --git a/meta/recipes-devtools/rpm/rpm_4.20.1.bb b/meta/recipes-devtools/rpm/rpm_6.0.2.bb similarity index 96% rename from meta/recipes-devtools/rpm/rpm_4.20.1.bb rename to meta/recipes-devtools/rpm/rpm_6.0.2.bb index 17e75c3e14..e8977aa31a 100644 --- a/meta/recipes-devtools/rpm/rpm_4.20.1.bb +++ b/meta/recipes-devtools/rpm/rpm_6.0.2.bb @@ -24,7 +24,7 @@ HOMEPAGE = "http://www.rpm.org" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=066ecde17828e5c8911ec9eae8be78f4" -SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.20.x;protocol=https \ +SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-6.0.x;protocol=https \ file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \ file://0001-Do-not-read-config-files-from-HOME.patch \ file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \ @@ -37,14 +37,14 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.20.x;protoc file://0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch \ file://0001-CMakeLists.txt-look-for-lua-with-pkg-config-rather-t.patch \ file://0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch \ - file://0001-CMakeLists.txt-set-libdir-to-CMAKE_INSTALL_FULL_LIBD.patch \ - file://0001-CMakeLists.txt-Fix-checking-for-CFLAGS.patch \ + file://0001-tools-elfdeps.cc-Remove-format-module.patch \ + file://0001-macros.in-Set-_pkgverify_level-to-digest-as-RCPM-4.2.patch \ " PE = "1" -SRCREV = "c8dc5ea575a2e9c1488036d12f4b75f6a5a49120" +SRCREV = "a7f89afb57a98f6419d0eff35ca792198293b682" -DEPENDS = "lua libgcrypt file popt xz bzip2 elfutils python3 sqlite3 zstd" +DEPENDS = "lua libgcrypt file popt xz bzip2 elfutils python3 sqlite3 zstd scdoc-native" DEPENDS:append:class-native = " file-replacement-native bzip2-replacement-native" EXTRA_OECMAKE:append = " -D__CURL:FILEPATH=curl" @@ -154,7 +154,8 @@ do_install:append () { FILES:${PN} += "${libdir}/rpm-plugins/*.so \ " -FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/rpm.sh" +FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/rpm.sh \ + /etc/rpm" FILES:${PN}-dev += "${libdir}/rpm-plugins/*.la \ " @@ -181,6 +182,7 @@ FILES:${PN}-build = "\ ${libdir}/rpm/mkinstalldirs \ ${libdir}/rpm/macros.p* \ ${libdir}/rpm/fileattrs/* \ + ${libdir}/rpm/rpm-setup-autosign \ " FILES:${PN}-sign = "\ From patchwork Tue Aug 25 00:45:44 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96213 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 190BFC61DBD for ; Tue, 25 Aug 2026 00:46:21 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.11829.1787618779044578596 for ; Mon, 24 Aug 2026 17:46:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=awAv9PqG; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250811.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67P0gJw4362264 for ; Tue, 25 Aug 2026 00:46:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=XdMqEUZTMTUVZfQmnzmYhqouDJTd7RYT1b0MFw8peJg=; b= awAv9PqGSiQ3BhWNAyNXAFP8J2w7BVMyXK8Tvi9NHde6rvDyc9YHP/+HqVwLBuOq Uf7Q/8bK8tVbARLzJbJxZAkk4ltnE0Z1tv48g/DIfuEmmwm7cRlvBm6a+Fch+PQD Z6RyhkzVnl60h6YWWgP7vKaYWIo6HizRDtBj4vOrRP4TDWBLQSOQwuzgxEHGbEeq IGuosHsIv6vbjMbEzFj79ocWRBwARZhJlT+S5JKd5FiYBIb2VIUeHQ7mwJNTGAV1 g789thlbBFqJzqe+iEVPy2ho3ZZ4nJ8Eph3910qdf8Zsak/SedLHAg1hvs4HQDKH QbkgqrG3WvNtVhto2tt+mg== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11020121.outbound.protection.outlook.com [52.101.46.121]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g7100kr7y-4 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 25 Aug 2026 00:46:17 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Jm+/wUKde6l6Bbo2gdHE9pI7RWlJmFDrpAbojEr4bpLNA0xZ5gDRpyr5U2pcD+mYSVlW7OHUeJmYkTnJ/Y9RW08+Ho8xvA7fsIw+Oc+1IoEkusspHGIR9+fVRYnKTSB7a2xkjP7l4mngqj6KXEhEeByjsAJKoy2DBs54mx0Uuct0HRGgl5WhdsCPqKbHNMvGUgL0KqEHfwvD5QrdJ9Px0uWdyOzkJjcWq4c398dj0Mlz1UXAvYu9Sf9w7TK4dLX0emnfEL8fCULiFR7KgDWxYTgEpLbyRsN/AxQGFrCicvyLdMp1z8Pz06gj+zC9/IpgOxus6+QVwlUUvifGK+doFQ== 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=XdMqEUZTMTUVZfQmnzmYhqouDJTd7RYT1b0MFw8peJg=; b=aL4WOMOafg4/qMjK5dSM5K4RTEGA45/7E3b1GfXjbeOpBgnXiAFN+ByPXQ2YWkHrjPJhX7N5anfzZ62Tr79cWrXb1uuLpMi2zQHzVNfjqU6RE8h/3XrKEHlbUYsGY4f2Y7rOGVizifMn44RwKoIfPlIEdndfmmANaeyX/5SRVz6wWESWtaEKqsrQF+k06EG+ddAEjz4e0DEQZWsJUeShfzRBEHfzsV5bTfARP8PSm0vM311fm6vRrGsRUZXmeWpKSq1QzmrBec0iIiWF9GL1hhDQaMwXowdBMxsYhVrDJ/9W1RxV10B90M6eXba0ficEdbS+gTwlKF4NI/LIo6YVCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by DSSPR11MB9642.namprd11.prod.outlook.com (2603:10b6:8:377::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:15 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:15 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 07/14] libarchive: Make it work with rpm 6.0.2 Date: Mon, 24 Aug 2026 17:45:44 -0700 Message-ID: <20260825004555.4111831-8-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|DSSPR11MB9642:EE_ X-MS-Office365-Filtering-Correlation-Id: 70de0cf5-45f9-4a94-c667-08df0242447c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|23010399003|11063799006|10067099003|12006099003|6133799003|56012099006|18002099003|22082099003|13003099007|38350700014; X-Microsoft-Antispam-Message-Info: F98l0hQdfdC49OU6xWi6NwS83CWytl/3Y232TzWODYS+PJFr3rwO3djwy3N4tah7QmtzFXMbSD7kN5puzEdA+oavZ2P9bAJVJbk0wUj1roDtqr828Z17I9MbnCMK7q2+kc6Yyu8F+XGZgcixovKxrvzKvizfpGaxxzMP2eF0xb5YZMXQQVTOWHZimAwznbPxdgTER6Goxvydw/qzzX2ceLVgqLGndA959Xo5zrdMkqhnpL0UCbbRI6gwVcO3msjQ4WGhJPkyVEfy9vcztJQ1eEKc1Rn9iHt7VcE8VHB9I/Xs5/Ni6nYFvPJJusbJDyh+9B8pJEa9nYpDMEnOEYkoLlY+eo9vXZq22bUtr0aHlGXz54jNYGXY3s1d2BW/CvjhnfU5D75Rkr034omarwmshFEomSnxnG553NeQ92xFT9RgRhKky3vpERtenny3EjInw2lGIFfjqDheyP0Z7wAaoTzt/Tc+k3kMrk3sqGxM5eQ/rabBH/tTP3YMmHd2M++qoccirl5DYNtlC6pJbEYpg4dhnvj+QL6NJyPBECfGfJFjxWsZqZQOJ9YeODZw+GqzDzMNJu717oM97cjgq0ghsLxZdKTPt168SwaQ2bxITkeDVjElDBUskbW9Ckn0dYd9P5yKM6I628vi3IRUeo1JQ31MlpMRkgFmrEPnCxZurao= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(23010399003)(11063799006)(10067099003)(12006099003)(6133799003)(56012099006)(18002099003)(22082099003)(13003099007)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yQIUkBJHcjtPSdbLf3PVQAAuRMbKUBNg37HsXFXso0hh7mgZ0s5dRboKTHjfkMAlwAt/mbDbCQmKdlsl9W4j9F1tnJnnWlaOkTQknmNqNeMM4utqb6Sr2WBW0EBqglj1bhMTwlxcsHpeueBkw5fEysEFUc+/8I3JOGMdoP9moYJ2TdWB93TCgjayHosMBTokCru40WQFGs4OTrhZ2vsACpZuo1QVgE14zd4l9hCrNrqsrSkQKhVh0ETxvQfUzSdQ6wBxYZc8Ys9pvxF25xm4jqHmRRlM0B9A7aRlTnyz9EzB4IwPHxZRNZOTQfqKTm8HPvM3MFbdEDGNxwM/QMWYII+f20Mekl26bAl+JtLpYme1IOeCPSmsT79Ho+rBvL+Ya7vHuH4w8htyd4wtPRNwfx2XTJa8U5Y2XvIVrCa8yv9LUx7ucLwBIjezOqz7r/BYol/CCMT/tosj29O/e1YEcmoP42cuor5bQ7zc/TovJ9pgwKw2WfZK95cKl+vZ6HgRP135VmdRxnLR/lrX4vm1pgGrWI4R6T1WsRpHKz0eAJB+kzmCAY+rZwbHi7T8AMNLNqlPMMJ79+RuLM325I8hD/icURZFrTvTEVFtySt1dkN2tr+Guu3/Ls4blyNyc/YDX32z96A1lGlrjy45hln6fCsey0530db9KBFJO1Qv5TX6Jt/369zxPf4wfeyj0t/p9oIRfWhbv7DZrE0laE3e/Mm8MXIQ5JftefH+V5wNHma3CKRzNTeS6hG+crY6DttvCB6euGzWnJDm2iyCerYxFBrjvhy4UdUqdNRXwkiTZvhATfbeNGjxeiAiiSfsYNyATtSNYSIHIWWqm8Gaey0UgSKFuljEMA/+nlXSM2P0YtW3XmtlEBmEOFDwZ8BTRMkleCPvOjcNglHQQ2+SBBFt+1VVDwu3M7NAvxv8HEhWZTa1VFtchLTSOaX2bYXRiuhkLf6w0QPF8Scxawsr7YRTHllfotd/zFO9mxF6KjfFLcOSr18+okYLo1Kvq0Olrz3y9gswq1TgK+AAuJPaKaUHHSSIT59xPn2hSNnBtAWAp44lIk5XZocbOpPhCAeE2QxWs7TrEwdwllf1zv82u7K8YaEFO2lFuD2ZaB95cNB9RMsbV9Pr4GdyOw9uN+cK45fTOpBHUQ7prwkFT5WDO5uWs7i6XKR1yvdtJN2fI71fSpnKBM2FXVQvvWamHZpJDM16QJALL7LQ09zYCeUVrYtTwf83nKlumL2eWiH/uTn306tHYxtooyTly3inaq85yglJMOc/vnp9p6WlMbhLQrLQDVBLDwT2bU5qpGX7orAMfxpRtBIJnDVGrj4RTFg2ec9N7wp+1eXkY4MVYer606czYz6SLXwRt2P6ssg0MS039g9ECrtCw5nhyp0AH8uNY5dvKDtghu1nOg79DW0YjuLoHrS2rov+mTHNRVXG+X5OC7yLNZZ3dZXI9TN5SBpx3wB88SjbbAxdyAf7+27sCyGa6tABlvzeD73I+XC+VMZEoq/2YHQQfQLHWZo8K/+N6nlP8ReNHTfGb2BYQKyiHTL0Wz0FVWW2dV+Eb5McjlzdWUKc/rYYXdH27agSadbyI4SII3rZ/R6aE8PwTQ/GIWrtMGbmuo+OzcRTj1/HGWJfxLjIu5IuayFb8bemwSIrvRr+FTXtclHPMQH3V9LOAR/aTGCeIyQjuH0kkkix0FXVNNQF+7qSdTcz8tKMncJxtfipH5YgGmdOyJ7SHDApk4lM6LQiziW7U7uCP19n5//xtn4= X-Exchange-RoutingPolicyChecked: NZJJbSsRmJ6kggzG2mGB5A6YHCuNEsd3p5QIRbelt8b2p9WYzaJ1qFzsRGj1Beg1r5ulSyOIGFF6AcXFy6QAHXo4rACBBqmeufZ81jqcZR90DU7USeVXADbyhMVjrQguDjSTJFy3eSAfsd3pb9w2lS+aYb+ojbpjgUX8izGSmZi/hF5LPJ3QiaaIinmFye1kFLgflCieWjvmkUzzQpek5qa4BWqPjWhJF1gXp0yo1YHpaW4PIqkEQOLfWNJ9s90gzz1DIdGJ1CTN6vgaKX9tWSiQ7ymOjgjnoxlr3mcDnnux3WzVQfLWM6e05J7pw4DXqHJ/2fcimOjhnNhXjQxydA== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 70de0cf5-45f9-4a94-c667-08df0242447c X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:15.1151 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 8KbtEgzOO35ryHw//1H4mFgXym6Fabt+bKwq1N5i6/E5a6UKk5e8sc2XmeK5f4gU9Ml2qHy7IMMHNksefJ8bBRbnLQvjfn0KwX8l5gFm7EQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSSPR11MB9642 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-GUID: T8asH18mZVGGeodf-DwLVzu40EK-4UHv X-Authority-Analysis: v=2.4 cv=UaJhjqSN c=1 sm=1 tr=0 ts=6a8ce5d9 cx=c_pps a=pjPKNKgC2VgaEdt9hcwoBQ==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=klDOsUkWDRETUCZYPvoE:22 a=NEAV23lmAAAA:8 a=3uWsZ661AAAA:8 a=t7CeM3EgAAAA:8 a=tyuvAb6jAAAA:8 a=yC51jOswJ7eKArgWbMgA:9 a=fYNom5PXsM5enKJDCoVv:22 a=FdTzh2GWekK77mhwV6Dw:22 a=vMd6T1JfvD_20K6YSfI9:22 X-Proofpoint-ORIG-GUID: hNE_KpWCYeaUhAl_y8Q6dGdyTR6oRv3n X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX+csoPC71cZm7 2xUydUP/ZWTqAZnbKtabPgDWaSdslLznm/U9lphzWNgl66U59suJeQwzTPUVDnenqzKONYsC5Dc FYKaaERofU11lRahp7WroECT3le3slHPidycDwijrv4N8HyPqg52 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX9iOUq5VAngyE /PgHVpwhucqpxEM9LqlnRz7CwA4gRJnaOoRPJ9pyoDHL7PKz3nRU05kCiynGncXdrrmW6CQzplT tU+rQZQobMwktQmjx6A2nuUv3/I96lvE26y4J/KUNmqRDtj+pv24Bdeh9ueGEn6PLDIlovZFXFk F9jxYas6wWKm8Ca78YFNwrGj0DWBjFyuF7c0oe7YxrKk5Qdppno3ZEP65FhGAZsp6gjh96APTFu oRGL3ZqRQ3RxcauuE2OafQKOYW6YvBVSrmaQ2TzLkothfGg5abcDKGJg810FaKxC2VK+RhrjpU3 4HsE/KMFh8SbtVOwSlDo4BP1UOTquRHlF0eisv55zmdgpb9Dcyl0vP1WrpnJQi255qW4mR7VGOj JIIvgdQLW0Yg8dA1WE/FgjAFkKWINIbmZTpkQdd8Ewq3oW2j5dE27J4f7952FKr3zujct/SUKWe Evxe2ca2XvVVtH2lcJg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 adultscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:21 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244163 The patch is from: https://github.com/libarchive/libarchive/pull/3346/ Fixed: $ oe-selftest -r debuginfod.Debuginfod.test_debuginfod_native cannot open archive from pipe /path/to/tmp-debuginfod/work/x86-64-v3-poky-linux/xz/5.8.2/localpkgfeed/x86_64_v3/bash-locale-vi-5.3-r0.x86_64_v3.rpm libarchive error: cannot open archive from pipe: Unrecognized archive format exceptions encountered during archive scan Note: 0001-append_filter-Use-last-bidder-for-filter.patch was already present from upstream, so only the remaining two PR #3346 patches are added here. Signed-off-by: Sumanth Gavini --- ...-Verify-that-bidder-and-filter-match.patch | 103 +++++++ .../libarchive/0003-Remove-bidder-name.patch | 258 ++++++++++++++++++ .../libarchive/libarchive_3.8.9.bb | 2 + 3 files changed, 363 insertions(+) create mode 100644 meta/recipes-extended/libarchive/libarchive/0001-append_filter-Verify-that-bidder-and-filter-match.patch create mode 100644 meta/recipes-extended/libarchive/libarchive/0003-Remove-bidder-name.patch diff --git a/meta/recipes-extended/libarchive/libarchive/0001-append_filter-Verify-that-bidder-and-filter-match.patch b/meta/recipes-extended/libarchive/libarchive/0001-append_filter-Verify-that-bidder-and-filter-match.patch new file mode 100644 index 0000000000..a91f518207 --- /dev/null +++ b/meta/recipes-extended/libarchive/libarchive/0001-append_filter-Verify-that-bidder-and-filter-match.patch @@ -0,0 +1,103 @@ +From db4fb440792278cd01e0829c93f6b62f567b704b Mon Sep 17 00:00:00 2001 +From: Tobias Stoeckmann +Date: Sun, 2 Aug 2026 14:26:22 +0200 +Subject: [PATCH 1/3] append_filter: Verify that bidder and filter match + +Make sure that appending a filter always matches its supposed bidder. + +Upstream-Status: Submitted [https://github.com/libarchive/libarchive/pull/3346] +Signed-off-by: Tobias Stoeckmann +Signed-off-by: Sumanth Gavini +--- + Makefile.am | 1 + + libarchive/test/CMakeLists.txt | 1 + + .../test/test_archive_read_append_filter.c | 54 +++++++++++++++++++ + 3 files changed, 56 insertions(+) + create mode 100644 libarchive/test/test_archive_read_append_filter.c + +diff --git a/Makefile.am b/Makefile.am +index 2fb4fdf4..c96b3bc6 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -404,6 +404,7 @@ libarchive_test_SOURCES= \ + libarchive/test/test_archive_pathmatch_oob.c \ + libarchive/test/test_archive_read.c \ + libarchive/test/test_archive_read_add_passphrase.c \ ++ libarchive/test/test_archive_read_append_filter.c \ + libarchive/test/test_archive_read_close_twice.c \ + libarchive/test/test_archive_read_multiple_data_objects.c \ + libarchive/test/test_archive_read_next_header_empty.c \ +diff --git a/libarchive/test/CMakeLists.txt b/libarchive/test/CMakeLists.txt +index 44f839f8..c4102c3d 100644 +--- a/libarchive/test/CMakeLists.txt ++++ b/libarchive/test/CMakeLists.txt +@@ -33,6 +33,7 @@ IF(ENABLE_TEST) + test_archive_pathmatch_oob.c + test_archive_read.c + test_archive_read_add_passphrase.c ++ test_archive_read_append_filter.c + test_archive_read_close_twice.c + test_archive_read_multiple_data_objects.c + test_archive_read_next_header_empty.c +diff --git a/libarchive/test/test_archive_read_append_filter.c b/libarchive/test/test_archive_read_append_filter.c +new file mode 100644 +index 00000000..5c301d52 +--- /dev/null ++++ b/libarchive/test/test_archive_read_append_filter.c +@@ -0,0 +1,54 @@ ++/*- ++ * Copyright (c) 2026 Tobias Stoeckmann ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++ * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++#include "archive.h" ++#include "test.h" ++ ++DEFINE_TEST(test_archive_read_append_filter) ++{ ++ struct archive *a; ++ int r; ++ ++ a = archive_read_new(); ++ assert(a != NULL); ++ ++ /* Append a program bidder (without filter). */ ++ assertEqualIntA(a, ARCHIVE_OK, ++ archive_read_support_filter_program(a, "prog1")); ++ ++ /* Append a filter program which comes with its own bidder. */ ++ r = archive_read_append_filter_program(a, "prog2"); ++ ++ /* Verify that filter uses its own bidder. */ ++ if (r == ARCHIVE_FATAL) { ++ assertEqualStringA(a, "Can't initialize filter; unable to run program \"prog2\"", ++ archive_error_string(a)); ++ } else { ++ assertEqualIntA(a, ARCHIVE_OK, r); ++ assertEqualStringA(a, "Program: prog2", archive_filter_name(a, 0)); ++ } ++ ++ archive_read_free(a); ++} +-- +2.49.0 diff --git a/meta/recipes-extended/libarchive/libarchive/0003-Remove-bidder-name.patch b/meta/recipes-extended/libarchive/libarchive/0003-Remove-bidder-name.patch new file mode 100644 index 0000000000..bbd2478577 --- /dev/null +++ b/meta/recipes-extended/libarchive/libarchive/0003-Remove-bidder-name.patch @@ -0,0 +1,258 @@ +From 76c7142bd2595184826722063598fddf62031cca Mon Sep 17 00:00:00 2001 +From: Tobias Stoeckmann +Date: Sun, 2 Aug 2026 14:31:33 +0200 +Subject: [PATCH 3/3] Remove bidder name + +The name was only needed to find the appropriate bidder for a filter. +Since this has been resolved by accessing the last bidder, since in these +situations the bidder is added first, then the filter, the name is not +needed anymore. + +Upstream-Status: Submitted [https://github.com/libarchive/libarchive/pull/3346] +Signed-off-by: Tobias Stoeckmann +Signed-off-by: Sumanth Gavini +--- + libarchive/archive_read.c | 2 -- + libarchive/archive_read_append_filter.c | 1 - + libarchive/archive_read_private.h | 3 --- + libarchive/archive_read_support_filter_bzip2.c | 2 +- + libarchive/archive_read_support_filter_compress.c | 2 +- + libarchive/archive_read_support_filter_grzip.c | 2 +- + libarchive/archive_read_support_filter_gzip.c | 2 +- + libarchive/archive_read_support_filter_lrzip.c | 2 +- + libarchive/archive_read_support_filter_lz4.c | 2 +- + libarchive/archive_read_support_filter_lzop.c | 2 +- + libarchive/archive_read_support_filter_program.c | 2 +- + libarchive/archive_read_support_filter_rpm.c | 2 +- + libarchive/archive_read_support_filter_uu.c | 2 +- + libarchive/archive_read_support_filter_xz.c | 6 +++--- + libarchive/archive_read_support_filter_zstd.c | 2 +- + 15 files changed, 14 insertions(+), 20 deletions(-) + +diff --git a/libarchive/archive_read.c b/libarchive/archive_read.c +index e844e42d..406d84de 100644 +--- a/libarchive/archive_read.c ++++ b/libarchive/archive_read.c +@@ -1290,7 +1290,6 @@ __archive_read_register_format(struct archive_read *a, + int + __archive_read_register_bidder(struct archive_read *a, + void *bidder_data, +- const char *name, + const struct archive_read_filter_bidder_vtable *vtable) + { + struct archive_read_filter_bidder *bidder; +@@ -1307,7 +1306,6 @@ __archive_read_register_bidder(struct archive_read *a, + memset(a->bidders + i, 0, sizeof(a->bidders[0])); + bidder = (a->bidders + i); + bidder->data = bidder_data; +- bidder->name = name; + bidder->vtable = vtable; + if (bidder->vtable->bid == NULL || bidder->vtable->init == NULL) { + archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER, +diff --git a/libarchive/archive_read_append_filter.c b/libarchive/archive_read_append_filter.c +index 9dd9f536..5cc8ff55 100644 +--- a/libarchive/archive_read_append_filter.c ++++ b/libarchive/archive_read_append_filter.c +@@ -174,7 +174,6 @@ archive_read_append_filter_program_signature(struct archive *_a, + __archive_read_free_filters(a); + return (ARCHIVE_FATAL); + } +- b->name = a->filter->name; + + a->bypass_filter_bidding = 1; + return r; +diff --git a/libarchive/archive_read_private.h b/libarchive/archive_read_private.h +index 3bd8de2d..e30b6c2b 100644 +--- a/libarchive/archive_read_private.h ++++ b/libarchive/archive_read_private.h +@@ -68,8 +68,6 @@ struct archive_read_filter_bidder_vtable { + struct archive_read_filter_bidder { + /* Configuration data for the bidder. */ + void *data; +- /* Name of the filter */ +- const char *name; + const struct archive_read_filter_bidder_vtable *vtable; + }; + +@@ -250,7 +248,6 @@ int __archive_read_register_format(struct archive_read *a, + + int __archive_read_register_bidder(struct archive_read *a, + void *bidder_data, +- const char *name, + const struct archive_read_filter_bidder_vtable *vtable); + + const void *__archive_read_ahead(struct archive_read *, size_t, ssize_t *); +diff --git a/libarchive/archive_read_support_filter_bzip2.c b/libarchive/archive_read_support_filter_bzip2.c +index 588953f2..1cfc55dc 100644 +--- a/libarchive/archive_read_support_filter_bzip2.c ++++ b/libarchive/archive_read_support_filter_bzip2.c +@@ -91,7 +91,7 @@ archive_read_support_filter_bzip2(struct archive *_a) + { + struct archive_read *a = (struct archive_read *)_a; + +- if (__archive_read_register_bidder(a, NULL, "bzip2", ++ if (__archive_read_register_bidder(a, NULL, + &bzip2_bidder_vtable) != ARCHIVE_OK) + return (ARCHIVE_FATAL); + +diff --git a/libarchive/archive_read_support_filter_compress.c b/libarchive/archive_read_support_filter_compress.c +index 4e1f1dc5..4763995e 100644 +--- a/libarchive/archive_read_support_filter_compress.c ++++ b/libarchive/archive_read_support_filter_compress.c +@@ -160,7 +160,7 @@ archive_read_support_filter_compress(struct archive *_a) + { + struct archive_read *a = (struct archive_read *)_a; + +- return __archive_read_register_bidder(a, NULL, "compress (.Z)", ++ return __archive_read_register_bidder(a, NULL, + &compress_bidder_vtable); + } + +diff --git a/libarchive/archive_read_support_filter_grzip.c b/libarchive/archive_read_support_filter_grzip.c +index 9d9ad46e..8457ec7c 100644 +--- a/libarchive/archive_read_support_filter_grzip.c ++++ b/libarchive/archive_read_support_filter_grzip.c +@@ -62,7 +62,7 @@ archive_read_support_filter_grzip(struct archive *_a) + { + struct archive_read *a = (struct archive_read *)_a; + +- if (__archive_read_register_bidder(a, NULL, "grzip", ++ if (__archive_read_register_bidder(a, NULL, + &grzip_bidder_vtable) != ARCHIVE_OK) + return (ARCHIVE_FATAL); + +diff --git a/libarchive/archive_read_support_filter_gzip.c b/libarchive/archive_read_support_filter_gzip.c +index 89ae0f37..34b174b7 100644 +--- a/libarchive/archive_read_support_filter_gzip.c ++++ b/libarchive/archive_read_support_filter_gzip.c +@@ -96,7 +96,7 @@ archive_read_support_filter_gzip(struct archive *_a) + { + struct archive_read *a = (struct archive_read *)_a; + +- if (__archive_read_register_bidder(a, NULL, "gzip", ++ if (__archive_read_register_bidder(a, NULL, + &gzip_bidder_vtable) != ARCHIVE_OK) + return (ARCHIVE_FATAL); + +diff --git a/libarchive/archive_read_support_filter_lrzip.c b/libarchive/archive_read_support_filter_lrzip.c +index 33910fe1..a1d45d77 100644 +--- a/libarchive/archive_read_support_filter_lrzip.c ++++ b/libarchive/archive_read_support_filter_lrzip.c +@@ -61,7 +61,7 @@ archive_read_support_filter_lrzip(struct archive *_a) + { + struct archive_read *a = (struct archive_read *)_a; + +- if (__archive_read_register_bidder(a, NULL, "lrzip", ++ if (__archive_read_register_bidder(a, NULL, + &lrzip_bidder_vtable) != ARCHIVE_OK) + return (ARCHIVE_FATAL); + +diff --git a/libarchive/archive_read_support_filter_lz4.c b/libarchive/archive_read_support_filter_lz4.c +index 19086a1f..28189a07 100644 +--- a/libarchive/archive_read_support_filter_lz4.c ++++ b/libarchive/archive_read_support_filter_lz4.c +@@ -118,7 +118,7 @@ archive_read_support_filter_lz4(struct archive *_a) + { + struct archive_read *a = (struct archive_read *)_a; + +- if (__archive_read_register_bidder(a, NULL, "lz4", ++ if (__archive_read_register_bidder(a, NULL, + &lz4_bidder_vtable) != ARCHIVE_OK) + return (ARCHIVE_FATAL); + +diff --git a/libarchive/archive_read_support_filter_lzop.c b/libarchive/archive_read_support_filter_lzop.c +index ebfaf01e..5a552fce 100644 +--- a/libarchive/archive_read_support_filter_lzop.c ++++ b/libarchive/archive_read_support_filter_lzop.c +@@ -109,7 +109,7 @@ archive_read_support_filter_lzop(struct archive *_a) + { + struct archive_read *a = (struct archive_read *)_a; + +- if (__archive_read_register_bidder(a, NULL, "lzop", ++ if (__archive_read_register_bidder(a, NULL, + &lzop_bidder_vtable) != ARCHIVE_OK) + return (ARCHIVE_FATAL); + +diff --git a/libarchive/archive_read_support_filter_program.c b/libarchive/archive_read_support_filter_program.c +index cf7c3613..a9e02a32 100644 +--- a/libarchive/archive_read_support_filter_program.c ++++ b/libarchive/archive_read_support_filter_program.c +@@ -156,7 +156,7 @@ archive_read_support_filter_program_signature(struct archive *_a, + memcpy(state->signature, signature, signature_len); + } + +- if (__archive_read_register_bidder(a, state, NULL, ++ if (__archive_read_register_bidder(a, state, + &program_bidder_vtable) != ARCHIVE_OK) { + free_state(state); + return (ARCHIVE_FATAL); +diff --git a/libarchive/archive_read_support_filter_rpm.c b/libarchive/archive_read_support_filter_rpm.c +index 01bd1bf7..1cfddf75 100644 +--- a/libarchive/archive_read_support_filter_rpm.c ++++ b/libarchive/archive_read_support_filter_rpm.c +@@ -71,7 +71,7 @@ archive_read_support_filter_rpm(struct archive *_a) + { + struct archive_read *a = (struct archive_read *)_a; + +- return __archive_read_register_bidder(a, NULL, "rpm", ++ return __archive_read_register_bidder(a, NULL, + &rpm_bidder_vtable); + } + +diff --git a/libarchive/archive_read_support_filter_uu.c b/libarchive/archive_read_support_filter_uu.c +index c0f6f48e..10d49648 100644 +--- a/libarchive/archive_read_support_filter_uu.c ++++ b/libarchive/archive_read_support_filter_uu.c +@@ -92,7 +92,7 @@ archive_read_support_filter_uu(struct archive *_a) + { + struct archive_read *a = (struct archive_read *)_a; + +- return __archive_read_register_bidder(a, NULL, "uu", ++ return __archive_read_register_bidder(a, NULL, + &uudecode_bidder_vtable); + } + +diff --git a/libarchive/archive_read_support_filter_xz.c b/libarchive/archive_read_support_filter_xz.c +index 7c8e0cb5..b00ba543 100644 +--- a/libarchive/archive_read_support_filter_xz.c ++++ b/libarchive/archive_read_support_filter_xz.c +@@ -115,7 +115,7 @@ archive_read_support_filter_xz(struct archive *_a) + { + struct archive_read *a = (struct archive_read *)_a; + +- if (__archive_read_register_bidder(a, NULL, "xz", ++ if (__archive_read_register_bidder(a, NULL, + &xz_bidder_vtable) != ARCHIVE_OK) + return (ARCHIVE_FATAL); + +@@ -147,7 +147,7 @@ archive_read_support_filter_lzma(struct archive *_a) + { + struct archive_read *a = (struct archive_read *)_a; + +- if (__archive_read_register_bidder(a, NULL, "lzma", ++ if (__archive_read_register_bidder(a, NULL, + &lzma_bidder_vtable) != ARCHIVE_OK) + return (ARCHIVE_FATAL); + +@@ -180,7 +180,7 @@ archive_read_support_filter_lzip(struct archive *_a) + { + struct archive_read *a = (struct archive_read *)_a; + +- if (__archive_read_register_bidder(a, NULL, "lzip", ++ if (__archive_read_register_bidder(a, NULL, + &lzip_bidder_vtable) != ARCHIVE_OK) + return (ARCHIVE_FATAL); + +diff --git a/libarchive/archive_read_support_filter_zstd.c b/libarchive/archive_read_support_filter_zstd.c +index 12eac04c..163f54b5 100644 +--- a/libarchive/archive_read_support_filter_zstd.c ++++ b/libarchive/archive_read_support_filter_zstd.c +@@ -87,7 +87,7 @@ archive_read_support_filter_zstd(struct archive *_a) + { + struct archive_read *a = (struct archive_read *)_a; + +- if (__archive_read_register_bidder(a, NULL, "zstd", ++ if (__archive_read_register_bidder(a, NULL, + &zstd_bidder_vtable) != ARCHIVE_OK) + return (ARCHIVE_FATAL); + diff --git a/meta/recipes-extended/libarchive/libarchive_3.8.9.bb b/meta/recipes-extended/libarchive/libarchive_3.8.9.bb index 868086e319..01a5249a88 100644 --- a/meta/recipes-extended/libarchive/libarchive_3.8.9.bb +++ b/meta/recipes-extended/libarchive/libarchive_3.8.9.bb @@ -33,6 +33,8 @@ SRC_URI = "https://libarchive.org/downloads/libarchive-${PV}.tar.gz \ file://run-ptest \ file://0001-append_filter-Use-last-bidder-for-filter.patch \ file://0001-test-skip-ppmd8-aes256-streaming-test-when-no-crypto.patch \ + file://0001-append_filter-Verify-that-bidder-and-filter-match.patch \ + file://0003-Remove-bidder-name.patch \ " UPSTREAM_CHECK_URI = "https://www.libarchive.org/" From patchwork Tue Aug 25 00:45:45 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96210 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 E2B27C61DBC for ; Tue, 25 Aug 2026 00:46:20 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.11726.1787618779687068410 for ; Mon, 24 Aug 2026 17:46:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=pElrSiHt; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250811.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67P0gJw5362264 for ; Tue, 25 Aug 2026 00:46:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=35Qxh84yHI+1o9HDeg824GHThz4SBZwBX8hBqd49wyc=; b= pElrSiHt48VZXq0DNHfBgFeg3aq7xpqd9j5J4YwR6qXM6G8DFvB6mj3F+SqdpOKU WlX1StGABItj04Ku90n/waDG8x141ALyIudWSxio2mCl14hXpGqRD+X4uZehjqy9 waonxtma7v1Gg4qW9aCz8RW9+2Bn5e5zjNWjGxPPGRTaNGRbIQuUmQRknQiSrE8o 6fi6jKjxIwAjFTuqN/liWRh+5qB5BIzI7yK1K6om5WRukak67LmYLaIOuzXkTorr K2E8a/adP7YcpnIuw25cdHO8SeV+CXpaiiMYH3mdHnrXDNBHaIi/oI0Od/gd9nSb BX07SRApfcL0XVRqKJeRVw== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11020121.outbound.protection.outlook.com [52.101.46.121]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g7100kr7y-5 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 25 Aug 2026 00:46:17 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sqNH0nl0f+GgXAaM7hZwg6be1jyjXlYVp+CikWlqFnVh3aALd1Io005xMpP2VW2NKqMz0frnyBPl8tFHWNddqbB+9/O1KGnBLhVEXeqANivhoPpBFj2Y+EQUPDkF6qiUBnN/R+9ewYytsPbe+BAH1o/JrxrlBrXcdFaWm6efh8LNb1SW/Kvw4nDc3RNG/Ix1SphSygm25mrGJd4XBRsefBaqyLtbmS1rwF/wwKwyuAaZvMiertuRkHOWne4zmPkB0HzV0O3E9Ft3xzNR/e2INKRdB4EK8oL0hdSd3ZqP73i7W8WOU2LETL3fDWcUVBbGPfVN/VqdWqQEOA7NmfgkAw== 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=35Qxh84yHI+1o9HDeg824GHThz4SBZwBX8hBqd49wyc=; b=v+D2MPqdc9b7B6em5CtG4xr4B3zIqJicASqj3UZrK43blpWWmf8twkIxgEK04HWtK+pt65fB7AsyMNrJo955ekbEufbreZWKWmZ+Xs/O037wUYNnMhBAMBmHhTqdasFYFYT79lVvchY/LZNX8VWFIn+5iAD2iOVJl4a5J9Psd4rAyhASjfCrLIz4RojEulPdE9x2nqx+Gsccdfmr6S0199pNbO7uQUsxyBbCUaxSwEyPODTfm6PqAGDWL9E7mOIF72xg9Vb+q73T7ZoMcqk1iEBksQw6j66EmSAdlx+w0B13N3E2WY4F6vTL2A9mkuRcALU4d/YSaP8i2CH3j4PN/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by DSSPR11MB9642.namprd11.prod.outlook.com (2603:10b6:8:377::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:16 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:16 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 08/14] rpm: Fix pkgconfig() Provides missing in cross-built RPMs Date: Mon, 24 Aug 2026 17:45:45 -0700 Message-ID: <20260825004555.4111831-9-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|DSSPR11MB9642:EE_ X-MS-Office365-Filtering-Correlation-Id: 67c258af-e61d-499e-6e89-08df02424509 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|23010399003|5023799004|11063799006|10067099003|6133799003|56012099006|18002099003|22082099003|3023799007|38350700014; X-Microsoft-Antispam-Message-Info: mT9ae37JQjGJ0cPpnAa3w2kEAKOYY2oWfEdhPOnV7GW49k9OEtTXnJYzFoncO6+c/iZ86jrcG5y+NNv+2wKbtfiUlGDCPrcfzQ01RvVf1w9mmy4ZY1oBqsl51QAUPJLDqsqkq3DLN5cSpNq5J97YPnRuSBbZIyxWV8LTheKaPp4w/MQWcu+T91i3VfCeltLBRBJCrPx+B6ntPqTkZQw3pv6laFKYDxWQZGTbzGl1rzBFepY51yzmuqrEmWymclNAqLEdieEUkxKfOyCX4uwEa9JxKS46G+gMH0qTfjeipdqwWGJEnAcykL7eDPcNx2sJJavmDo+0EKfS9p2IRqKkKPecC9D08Q1cEgtpxsmgM+GfoEx9NiIT7J12NWA1c7RfgkipcNjw7Rg96QGl1oEFtIGRoHFrE/cClnESz5mF84VonDDkci0nYyRX8ImUMXTz+akwyRltdBxWdTlbKFmli+oVZePiPoSSjIqqAhs0uOMZaGN7V054KCPblFQo2biUiKjUJ5mB3s4VyxmHN3rNZAlO5Z8zwjN3CLIUwZTKEtjr1QwtHtdkrJgVqCH9tsYCkulzGS825viGdy1Q2p4c+sFEB8ntIoixn0DwOMTw42ekXVUz82iMTpTMKpPn/YRec92V05VzzIg1BCuYubsBMN/5qcMHDXsoAF42JFulyriZlcLvbF/FxbWPHxAxLV6PbeYV+7FuVIG/BrpF7hl8HZJYx7lLwO0Kxjr/sBghF9M= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(23010399003)(5023799004)(11063799006)(10067099003)(6133799003)(56012099006)(18002099003)(22082099003)(3023799007)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1zuUmxdcxjI0QhxzL+WlMkOTC7Oy9c+9sJc/9hzSQ7c/TuBsV1Ae3v0PYp7/7+CXyHyFdttVXVvbdTzFtf9fjt4AANwu98hfY6H/LOOp4IwOvAquEwnXSpOKg6avCvAnLrS2nXYgqbQERZvdl4iCrpfCcMPqUPqgbpvSaa9j60FH+u0mo+J7CTFISBp6Cg3dvkbwAvR/xl+05rX4fID3h/YOr1LNOtMFkEpFTfOLbPQ8vxauAYcf3TC/ar1rgVuhm0/6J323C5ClP4Xi6/hNBTKOCGm0V1VIvFmL52L7xETnRBB4ScXs8ehJm9fwfYBhLnqz8VSCZw3WpnTaSUtLsYAP9G8yZ/m4zM0QY5H9m7A7IIh1qJiVMG3e0np54RYz5W36/aCu9vLxLW2q8LFs4svtrJfmqD43SwXfvZENgX5Uu4i5gAwycW9LpGPfgHOqtgMNZjeviz3zsWWcmapZz0VYVTnKErWLm+O78Yalrt3xyO3iAPo2dYwy86kHwzn1iBdjeCtGAx0oCZ7rtMadFYNHd9eASsliNbi2MuqFOcWLaezHmMTPhHZxjOHzBhiUX5SOV+2gzLTG6E2A8914ZnYivoksJT/CIFo7jHM5skZW+ehELIuYH2V4y70q05ZbEwfJ8nlZXAfJicI79RswC2OV5SpqMqd9RJiPF0J8X5+URIO1pUXjuEWnfqB0IsRujNhxjdmL66LE0uyG6fSJYfMA70phvfJxqpDXbO2kyXuEeqq22bCOZbD2gqEecNOsIIRKi2LoUhjXmIbp97tyzcs/EsTG/BV6ty52Cmr432mATvv1ILWyen7IJWEmCng8sMr2AgBL+vxl5KMj9pxiomMZzUYt1a/3OEnIf6e656WIcTZaUa89F7TVzpInMtCTN0qvQ4rODZwXfGaReKmOlV18aTeghhd8aQtDceo3X4CthUq/Qydw16jl3MDyR809GkvrXQ73CJSzI+80mQJPGzomgluMPWL9d8PqsifxaRzKHVPcNobDoP4nESikBD/5oQ0Z6a5wZc0JBoxQCVyF510VcYoU1RdPuzv0H+95Dr+qeGkQtPH3nECeSsr/fHxROLpJ9SGp53snmmBjM2vtQXZoSd27DknV+cfQsFliog7dyL5ltm96ScFJPXtc+RVTtGF3mp06qlUjy2ZX5JlHdEDPqPjEjA8yH5eJ2JCsghIxVT7ImO6/QH1KTz3LfaV0OfvIjIc5BbVd15Xp6vS7QfrSJvia1JFa1GvQQclDJNhFrI0rmW33qDLxH1QASGqRrE9sO1ddVj8FF0cee+/WS8brZ/GJq8KN66tW+ZjBSf1rebn5zQQD77OhstAoaOyVDv2hnS30P1nv2DtNJ8o+PX9zVInaad3cLuEea8RBTJYgaqfBK/YiOPe2Nr4jnJxBXrD/nFdibFNtPJEdRHpaRvOmRki2Q7Ot0kMhwH+sbWPk2h7Lfr8jj0nhqz+7P6pvSJe0tkVSCqNGi3A+WMuUJyHluGKGbyOF/3CXPzGVhK50Pstec6TCIBR0bwwrgFACdk9jlQ6GorLCz7Zj4QuzA9d2hXk/AcBq3yW7F5yganF6HGI3h8RoknN/PZQmWo4in9x4fF4wqb6hcfqBVYb/vOL+MY7/T/zTw1Y1xQ34YRl/0/yykk4JuVvfymYh1j1pjw60bae7ylXv82J8Pm+ezFcmz1xRp/7xUHZQPxr5eeXVtaquedDybgbYpnghMV/5v+tjTH8iMRD7WaHkQAkfBjaWYSqzwjBHldCYW3ZJGzU= X-Exchange-RoutingPolicyChecked: i0kxP84EOHViqgyiFgMHHfnS3YLLYIAbjVKFGW7hn+7oGpb8E1iQuRSDQqExJg9nHMZbC794npwcoDFmcb+9ssQdI2aebHIc64z0nozQSUA0yd2lb3V7JPDoCJtsWbXFEb5ooMAdsMGBE62yEzg1IoteuHZyPdSsk0LMxOkkXN2R8oN1KEaSISIwP3HG2rky1qWqlVXe54WBVvlI2mIvfcoK8nktP6ROwIBHSOv0DVV1L/jnMujMJbvSVwHYNhks7ubHStyMAMm/Sn/IY0Q1hl6QOFlwLAtzIGjRworp0ddWc8TttRYuKX1YjwenSd++qA+Bd1Wij7rYWX5TKplNug== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 67c258af-e61d-499e-6e89-08df02424509 X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:16.0780 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 84yobfxx/cTABj2e0Kby+SApYz3Jbbj1zlICK5UtrUOLq5Ccuius0dI58YBuUgOOudZ05AlQr7bZ/DbzH+nqkaAYURk0qdk7QPZLFG55FE8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSSPR11MB9642 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-GUID: 1zmWHqjvOOvF6GwZHz_SQf5No4HaOXdC X-Authority-Analysis: v=2.4 cv=UaJhjqSN c=1 sm=1 tr=0 ts=6a8ce5da cx=c_pps a=pjPKNKgC2VgaEdt9hcwoBQ==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=klDOsUkWDRETUCZYPvoE:22 a=t7CeM3EgAAAA:8 a=NEAV23lmAAAA:8 a=ojM18H5VpAenaKTG1r8A:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-ORIG-GUID: Ir9Nxye2v_Jjuokibi-GbHTs7_f_8p8h X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfXzxyaxaI4UW4I uCWFldM8eA8JV+mN+zTUqQIM9YisnTJgGq8M9tzD5v8Z4BcJNLA7T1qjyj6YJK37RqM3YnQlfy1 22rqZMqXlji4nWsecbgwU1TKlq4bZy0iG9y2b90n++uH4ZgwTGn1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX/47SrdG9YjcB eqq62VsYzrmM/5dG4x7xlM9I4H7r1hPtinCTtfHc314SJ07ICJ3Zwkn5vvRJs5QxEvu29S3RrSm 5UjwtxPZvEeXKNAss6sNpKrOi/9ztUDBYuAeUUu5yrnzeUCjEF74APE/3Uvl7T56Gat7P3pea6e v/85KQYwGD0BqLp85KWrNofrXCgdDlw9biz5LVVwupjDwtmVFm7HVkFjwgayNAnspx3sXGH3TGj +3ftDjjS86/hS3InnSYebYxwZZcp9YQMy08MF+j1OvCT4CzT+kZcWdjFTzckLj+Kfb7bFWpQPMG LznGO3BHvnZIMoSVHnH4/vpaOg13GaCqsHSnhZQYvXU3Z9vTVvf41n3fU7P+Cn+3uYVz9NhHn2M 9EY9XZ/orSEe39fZrfxUBwdqGRpeuIbpN9UUZ55x0jcf1RU06/HwneqntEgFCvq8NHCFXzAgtev eJ05RvdOkhYdpgNWCTQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 adultscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:20 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244165 * Added 0002-pkgconfigdeps.sh-Unset-cross-compilation-PKG_CONFIG-v.patch - rpm 6's internal dependency generator runs pkgconfigdeps.sh during rpmbuild, but OE's cross-build environment exports PKG_CONFIG_SYSROOT_DIR which causes pkg-config --print-provides to silently fail on .pc files in the package buildroot. Unset cross-compilation PKG_CONFIG_* variables in pkgconfigdeps.sh so that pkgconfig() Provides/Requires are correctly generated. Without this fix, do_rootfs fails with errors like: nothing provides pkgconfig(ogg) needed by flac-dev Signed-off-by: Sumanth Gavini --- ...Unset-cross-compilation-PKG_CONFIG-v.patch | 71 +++++++++++++++++++ meta/recipes-devtools/rpm/rpm_6.0.2.bb | 1 + 2 files changed, 72 insertions(+) create mode 100644 meta/recipes-devtools/rpm/files/0002-pkgconfigdeps.sh-Unset-cross-compilation-PKG_CONFIG-v.patch diff --git a/meta/recipes-devtools/rpm/files/0002-pkgconfigdeps.sh-Unset-cross-compilation-PKG_CONFIG-v.patch b/meta/recipes-devtools/rpm/files/0002-pkgconfigdeps.sh-Unset-cross-compilation-PKG_CONFIG-v.patch new file mode 100644 index 0000000000..eccf708872 --- /dev/null +++ b/meta/recipes-devtools/rpm/files/0002-pkgconfigdeps.sh-Unset-cross-compilation-PKG_CONFIG-v.patch @@ -0,0 +1,71 @@ +From a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0 Mon Sep 17 00:00:00 2001 +From: Sumanth Gavini +Date: Tue, 04 Aug 2026 23:30:00 -0700 +Subject: [PATCH] pkgconfigdeps.sh: Unset cross-compilation PKG_CONFIG variables + +In OpenEmbedded/Yocto cross-compilation environments, several +PKG_CONFIG_* environment variables are set to point pkg-config at the +target sysroot for recipe builds: + + PKG_CONFIG_SYSROOT_DIR=".../recipe-sysroot" + PKG_CONFIG_LIBDIR=".../recipe-sysroot/usr/lib/pkgconfig:..." + PKG_CONFIG_SYSTEM_INCLUDE_PATH=".../recipe-sysroot/usr/include" + PKG_CONFIG_SYSTEM_LIBRARY_PATH=".../recipe-sysroot/lib:..." + +These variables persist into the do_package_write_rpm task environment. +When rpmbuild's internal dependency generator invokes pkgconfigdeps.sh, +the script calls pkg-config --print-provides and --print-requires on .pc +files located in the package buildroot directory (e.g., +.../package/usr/lib/pkgconfig/ogg.pc). + +With PKG_CONFIG_SYSROOT_DIR set, pkg-config fails silently (exit 1, no +output) when querying these .pc files because it attempts to validate +paths with the sysroot prefix prepended, which doesn't match the +buildroot location. This causes all pkgconfig(...) Provides and Requires +to be missing from the generated RPMs. + +The result is do_rootfs failures like: + nothing provides pkgconfig(ogg) needed by flac-dev + nothing provides pkgconfig(libxml-2.0) needed by libcomps-dev + nothing provides pkgconfig(ncurses) needed by libreadline-dev + +Fix this by unsetting the cross-compilation PKG_CONFIG variables at the +top of pkgconfigdeps.sh. The script already sets PKG_CONFIG_PATH +explicitly to the directory containing the .pc file being scanned, so +these external variables are not needed and only cause interference. + +This was not an issue with rpm 4.x because OE-core disabled the +internal dependency generator entirely via: + --define '_use_internal_dependency_generator 0' + --define '__find_provides %{nil}' + --define '__find_requires %{nil}' + +rpm 6 no longer supports disabling the internal dependency generator +for v6 format packages, making pkgconfigdeps.sh active for the first +time in the OE cross-build environment. + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Sumanth Gavini +--- + scripts/pkgconfigdeps.sh | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/scripts/pkgconfigdeps.sh b/scripts/pkgconfigdeps.sh +index 1cab58169..f9a3b7c21 100755 +--- a/scripts/pkgconfigdeps.sh ++++ b/scripts/pkgconfigdeps.sh +@@ -1,5 +1,14 @@ + #!/bin/bash + ++# Clear cross-compilation PKG_CONFIG variables that interfere with querying ++# .pc files directly from the package buildroot. In cross-build environments ++# (e.g., OpenEmbedded/Yocto), these variables point at the target sysroot and ++# cause pkg-config to fail when processing buildroot-relative .pc files. ++unset PKG_CONFIG_SYSROOT_DIR ++unset PKG_CONFIG_LIBDIR ++unset PKG_CONFIG_SYSTEM_INCLUDE_PATH ++unset PKG_CONFIG_SYSTEM_LIBRARY_PATH ++ + pkgconfig=/usr/bin/pkg-config + test -x $pkgconfig || { + cat > /dev/null diff --git a/meta/recipes-devtools/rpm/rpm_6.0.2.bb b/meta/recipes-devtools/rpm/rpm_6.0.2.bb index e8977aa31a..c0255941ea 100644 --- a/meta/recipes-devtools/rpm/rpm_6.0.2.bb +++ b/meta/recipes-devtools/rpm/rpm_6.0.2.bb @@ -39,6 +39,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-6.0.x;protoco file://0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch \ file://0001-tools-elfdeps.cc-Remove-format-module.patch \ file://0001-macros.in-Set-_pkgverify_level-to-digest-as-RCPM-4.2.patch \ + file://0002-pkgconfigdeps.sh-Unset-cross-compilation-PKG_CONFIG-v.patch \ " PE = "1" From patchwork Tue Aug 25 00:45:46 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96220 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 63271C61DBC for ; Tue, 25 Aug 2026 00:46:31 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.11727.1787618781020625480 for ; Mon, 24 Aug 2026 17:46:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=B1hIwFQi; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250812.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67ONMEaG3843748 for ; Tue, 25 Aug 2026 00:46:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=/hL9ZgrwrmNI/Gw8MgEdfDqfAVKTZQxOnkwWcU7u0pY=; b= B1hIwFQibvOlPsX/a8hWnEBwIyYAqLXse+iDQqTJ91wcpI7iMAl491hTaEDtwnVg en3M0s3/L2sqXO3WQ3tUELQ7I7h6++wtWDCe12oz7ZOx35ZjsyoRPXiIGi2YfazB siVFwqtCvM3RsFEzPlX5bE3WF7vPDNGH+2z5WzlnnFcj/+enmzjznidm02TfLGfj gIP4zEbx3j6h4a2iWMwYZFDHZmFxQitLM8AL3p6e2CDO4H9hxmkR0HBQWWlv+U5V f21mACNT0li+fUcxKeRTudYTUwxqMkgck1xy8JciDpvv7miQVUlXrp1ZGpo+bcV+ MTyyq5i9g9y7SrthzMLHeQ== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11020094.outbound.protection.outlook.com [52.101.46.94]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g72r6unmq-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 25 Aug 2026 00:46:18 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IoKWC6yc28EjUNyJr2PrwKFL2OQsBgFuDE+qWHb9GuPXfU29lv2USzcM2c8SSxH052M77/3mxuOQ3JxZDz1Xy20KFXeSrYEp7/nUwvVrQ6I4F9oS9dvGeGfL0u3NtoOZCq6fi4yzt7vLSDdc1gqTErliH7APnimhPVc8kYvmPCy6sCHx9Ge569Bc4otE4veJUOqNx3dI5iprYNd6OzomRZX2bZU1hbD0mIEXxnYES8P43GZ8z8wZDfE7r2ctwoLpxpmrIamvW98fw6l9DYc40n+Fbx3+GphpIeTCw6uFfR5dnt+lRE8aY9Y/w8M685XaXN14mAboLuRYlCKj0eL9zg== 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=/hL9ZgrwrmNI/Gw8MgEdfDqfAVKTZQxOnkwWcU7u0pY=; b=c2vmCLYlVQi/xMaZUV9qhgNfhr3+TO/9PPMwkY0/vx0TVwSRxioNUpJfcZok9lgZ0nCIR+0PfI2qCt2Kon1iVWQ0uxYz8qDW57W4KxPIE8hmO4K7nT2iaRZIXjQJ/8G3WpaxQSfEAcjHj7a+pA6IhUi0jhrOREKBfCpZMR7YZc3+tuW4FJUaeTeCUi9MiUcyOxA66aU1CI2sXECGEwEeokb32jaiXQyAGkcxxqhqv7nZrt8J01JAaEGEp5AY4Ml8H9hXiY1dDRwc3cX6zFXo2u/b3H1t/PoII1Bbvs7A9bhO+fqxVzm9FFJF3GFAOLtJcrZaG6zLDeW13vCKW+2ZIg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by DSSPR11MB9642.namprd11.prod.outlook.com (2603:10b6:8:377::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:17 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:17 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 09/14] libarchive: Add RPM format reader to support rpm 6 Date: Mon, 24 Aug 2026 17:45:46 -0700 Message-ID: <20260825004555.4111831-10-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|DSSPR11MB9642:EE_ X-MS-Office365-Filtering-Correlation-Id: 0e390b64-3a9b-4748-f810-08df0242459b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|23010399003|11063799006|10067099003|12006099003|6133799003|29003799003|25016099003|56012099006|18002099003|22082099003|13003099007|38350700014; X-Microsoft-Antispam-Message-Info: 3c3WKX8FDflz7UGnHUuf5so5Efsa0IVQJcleYWp3suYq6kTNrCTsUyJ/nI1gVQ2qaiAYDk4MRitCvKd1BG2e/qmI0n/kaXjsfku1wPFQTHd9cp5wlwKo7VeTd2sUJWmYhDM+wEA0XDJVo7DemC4MhR5dZrofKFKm34XClaJodZG+oLLSLZwMBFsujhSgYGhKiOU/Yj7yaWwDy3E7LP06Wr6337nZ2Qd8cuSh6ZwB4qOAymB1Uwm7xl3f3PDntvAe6y1mDfOIIIq7wD5K7A/Jx0dTRMl9eCJZ4ua1O4pdXYFbrUjUkhHwEM2ZSU/WoZP5/HoNeCAM3FGxXOJw/1oZoa/u0TnZYShlYQl6hMC5RZuaj/xyr+UVTwAdlbW5lXiFdPIfyE7967BVQo9vgFAaHmX6CjSMgffaCQOjlJsbjO5dEjmdn0gkrfVMmKNejrLXXqbglgVvKZcwbcdU7ZiTlpAreTiZ/2QI3DKos4ZvEabwk/W78yG1WO9yN+bO19FYaUkz0qeixVV36nMR+und6jEhjwwBuQLWeWI8ulBWLzqsU5fjOIdDWGyaF9R4JXyg6iV28NK4F6EZ7aGm5gHWivqjrdfVvWD0fCv3baWATH6JqTprWwcFHU3aXQpL9p7mczaTAjR3y9XiEatGnAiWqt4miX/Fk2qjs+4vU3HMchc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(23010399003)(11063799006)(10067099003)(12006099003)(6133799003)(29003799003)(25016099003)(56012099006)(18002099003)(22082099003)(13003099007)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yYO9oOzITl7gIiPI532IJSN4QbyZU6pMTIGU5JL3v0tBguyVxKB4PxAIp6Dv2NLIdRXKstzD3rlENdaNkNKp0qqkCD+J6VuV94sdQcKBKPA4uTZZftYXSviDxPgRrWGAy8lyU0hubJ5IlZ/whC0i9+I63KVzD+rxLYRa2EBhiJeu6oH8JLgx4S0zyo0aPzYnQb0S67aIwGGTi5PoCsyQf308JiP/ZVfbIus4au9Ku1KnalamIyvbjBEJ5rgnTbVQkUDm5ghbdJb7EwbDwpMVnr/EDyfaDTl8F/4gQFZ+IWZDeuZFAvlag46DGFhXZRkQdx24pJaec5TRWgaGJSTRbUlXKOwejU4xJmFkaxnbGaSmaHJLqXBwPM6t0GWllAMz8S4eYGfBQvN25nGLRLkf8tgiRURrqP/0V8OKI4lqVivPvtZhzuOZ1Oail/20TuR7kErvwt8VFQtoZJJ4hO+36fdScKc8DnoLBpVpPcStcWdy4zsJc0Zhf4b2DoabyMwCxizHVFXwuDzc4zLZYu9KBruAepMiTRjFFv5parBmFRWNDhTGnrF7YIOAqJrl27E3LqO9el3xZ66jzSKSn4yuIX7YCTQgR3i8UKjNLTU58W2bIfk+9RFXH1fOdt9stVU+o6+ZYzH4B1KgFPA1blVNaG8goSkj+NFKy6HzoQG5wxCRs/YZ14WzLvucDGhk+WQReSClISkOe3ELDl1w2VPorP409Hn0lZ6JC+ReFHPsoj8P2S4u/0dCjrIgp8GbhJMi4pZqrnqeSMGgrRAm3yfoKdWTzwzfY1NnvsQsm/tJtrfPcfMfF3wVLddwtA2x9RJARHWCMjsID1KrgK5Sg12k4X75SXeXqFpjbEWRAqCvqePhCMcmZw9t0MrO9HLfVKxxwsZuBO63krISjLiwqYrKepfzdwjWz9c0w1FE5CKXAJ2hsTnO0lCwNc+O1Pn67tyxWWRfyrZYesdrs1HndpdgbgxgTwLr53zM23m/T5CjpPo/uiAV/vaZgHdiFNHttqrdcQiVrsH5qcVQ9FLHAtj/1VzOcHe6/UJyk+WgQFneCIqQ8Ee3YAI8m3EsIj+bNOSqh1vC0fQCcSarMnJRP3gDnITH3rzoKK+FZGdBdvDtC8G5BmcmHbc39EaVgA9hFa1rNc6LHTObkM9uc5BP6PjjLOaP+ndypbxxIDsOc5ReeeTN5tokduDWuYSYmd8BJWmgtV4/PbusRrymOduKIHdF5z447s2c1+9cawuAN++QeiKHu7UgftvpwjbEeaRBZprke+elM9i7hk42LbLdzzlyL3E8tjD66SEDcGwtNy53wy6fIpXqj2CrGR8Djcs+kX68n54rScKnt/i3wya1GXOi/6BqWq+4IfW2kwH8BBOtDfdUDXvC294wIyJhlXw2XXGQLdIXtr/h+wUGZgfbURoS4WN+uncLw9fQVy/fb5E9ZFjPg0W41lj1B/y+kc/VkvmoSQYyJjNdK94G8SbCuvVSzIR3A0ugNqdUbfeHDOeay948W8giWMQZwdxpV62rQDKI6FdvTgDx/fMOMllQkDHRH9OTrwR4Nr5wOLVfCuir2rpjd9T5n9nV6tbaIxAwWAQYOZs9MRBO+RgDjjmJiMIZy5n/cmeMCCFlvYjKk/U3svrn2ZR4MQSxObBTAB25bW+NQPNz3vD39Rqza/hMGEllfDUWuvCGuprW4B2LcVCKbQUA2p+5waZKG0uCi/GDjNvvmPjWR1N2Xo84dh9IM5WcbAQYMwu8yHBzhNk7veyeZUU= X-Exchange-RoutingPolicyChecked: cDqMmmwIKbTajaw7lU4wRS8jXd+9vqc6r+F1UYTPyD7l915D+gboa1CeKcY9WBd9/Jk3o3NedkiifF0rmPRuvbtMqj1VD+2YFsmAvJdr9mgvU912tUFGRTaTv160g6+dG/OKr4zLY0Hrs0KsB3tQFwAOkveOUK1NyPeESvbyvA0JCFhQS2RkxKJNs1EtMf/SLGjBywSBQe4X/IHbqI8yxhB/QntiPCybA0umuDrd5T54+pI/LWDem+yIWAXt4XLMnkwzgsnHkKg8z3i3asq/36/7OmsEEYssxohJqOGA7jPm+Ehy7qkGQNVTRlzmkYT1Smscmd+RHT6hhzRPZ7fnJw== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e390b64-3a9b-4748-f810-08df0242459b X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:17.0302 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tXlmxFg2CvcelTJ+Y5rXRcPyej3/ypqSBEQ7FCHqcpB/6FGtSG//DNA8g71tD3pTnKBhubAr3C3fAQ50WtQMI86M0F0/KYyeTLXRGrcXpyM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSSPR11MB9642 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX1Rb+8AaRENY0 ieqJt5Zsg9CsbicRYK/V0OHtfuQXZvNyBMOlKQSmqK7UzBn2h2akAzDX6h/SEP1vO/UGqRZqV4r EHSIQhBA9kRzl2ktDpSrgzZHJoDosJfioVvzukTQnZtKsYK10QEc X-Proofpoint-ORIG-GUID: 6UlX4AQ6oq25Qmb1jrKb5jlX5Pt_6UGC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX9scGzMsZJ4WI SuFsq5uM3ULYyvBt6+9QKiaoDP0z3+V01TYO9z8gsjy4tDIT6JZ/BWGAcFG7HSUfSFaFIOMS0VI v+9aRb1rKzA0PW2NXse46T3yE3YOBw1/vHM8v1nooylINBKfEjYmyD3SWx+HomPR4moGqFuAtOt 3EPDn0ZgiI9y2J4XARlzf3t3jlZlDQnZpGQnKBXT/PrMISadwz9ra62GKbHZ+uzL1rmxiHTDP0e bIfIa1LUTqMzN7LJvxLm1AoeoePud01Xw/brDuGfxKerOhXbZBDzm9XDBFaALMlrxD0NO/3meLq /k1KNvKDktqguJ69h6lkszg2Me2hWfPuqmIJyQ6ZWQIzzOvAz1ndp7MwGzSuTmKcZBy72nrnmJk /BDum7J5LksC9kvbJlo/XUZLC/zuFOKVI+DBA8DcdMtdB602XW5KXedO6ZhJJqVnCFTRQHvu/0p 9m0NPXwg42LbnaQMfOA== X-Proofpoint-GUID: ifQ9CzRIvXfOGVPJvdA8vflivtfpBiIJ X-Authority-Analysis: v=2.4 cv=RLiD2Yi+ c=1 sm=1 tr=0 ts=6a8ce5db cx=c_pps a=aWGlcXfvBePkFyJsMZzBEg==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=fTW__CHxibyLmBMfj2wP:22 a=NEAV23lmAAAA:8 a=3uWsZ661AAAA:8 a=t7CeM3EgAAAA:8 a=xumDe5_XqNxy1WfVeCAA:9 a=fYNom5PXsM5enKJDCoVv:22 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 adultscore=0 bulkscore=0 malwarescore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:31 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244166 * Added 0004-Convert-RPM-reader-into-a-proper-format.patch to convert the RPM reader into a proper format handler. This is needed because RPM 6 changed its internal payload structure and the existing RPM filter (which only strips headers and passes payload through) can no longer parse RPM 6 packages. Without this patch, debuginfod (elfutils) cannot scan RPM 6 packages: libarchive error: cannot open archive from pipe: Unrecognized archive format The existing RPM filter is kept unchanged for API compatibility. The new format reader coexists with it - debuginfod and other tools that use archive_read_support_format_all() will use the format reader for RPM 6 packages. Fixed: $ oe-selftest -r debuginfod.Debuginfod.test_debuginfod_native $ oe-selftest -r debuginfod.Debuginfod.test_debuginfod_qemu $ bitbake core-image-ptest-libarchive:do_testimage (libarchive_test PASS) The patch is from:[https://github.com/libarchive/libarchive/pull/2846] Signed-off-by: Sumanth Gavini --- ...vert-RPM-reader-into-a-proper-format.patch | 1400 +++++++++++++++++ .../libarchive/libarchive_3.8.9.bb | 1 + 2 files changed, 1401 insertions(+) create mode 100644 meta/recipes-extended/libarchive/libarchive/0004-Convert-RPM-reader-into-a-proper-format.patch diff --git a/meta/recipes-extended/libarchive/libarchive/0004-Convert-RPM-reader-into-a-proper-format.patch b/meta/recipes-extended/libarchive/libarchive/0004-Convert-RPM-reader-into-a-proper-format.patch new file mode 100644 index 0000000000..29d12bb539 --- /dev/null +++ b/meta/recipes-extended/libarchive/libarchive/0004-Convert-RPM-reader-into-a-proper-format.patch @@ -0,0 +1,1400 @@ +From 2606336bce3a7f66cc6c8af28687a82536c9086c Mon Sep 17 00:00:00 2001 +From: Davide Beatrici +Date: Sun, 9 Aug 2026 14:14:59 -0700 +Subject: [PATCH] libarchive: Convert RPM reader into a proper format + +This adds a new RPM format reader that can handle RPM 6 packages +with their new internal structure. The existing RPM filter is kept +unchanged for API compatibility. + +Without this patch, debuginfod cannot scan RPM 6 packages: + libarchive error: cannot open archive from pipe: Unrecognized + archive format + +Upstream-Status: Submitted [https://github.com/libarchive/libarchive/pull/2846] + +Signed-off-by: Sumanth Gavini +--- + Makefile.am | 1 + + contrib/android/Android.mk | 1 + + libarchive/CMakeLists.txt | 1 + + libarchive/archive.h | 6 + + libarchive/archive_read.c | 9 +- + libarchive/archive_read_private.h | 2 +- + libarchive/archive_read_set_format.c | 3 + + libarchive/archive_read_support_filter_all.c | 2 + + .../archive_read_support_filter_by_code.c | 2 + + libarchive/archive_read_support_format_all.c | 1 + + libarchive/archive_read_support_format_rpm.c | 1126 +++++++++++++++++ + libarchive/test/test_archive_read_support.c | 2 +- + .../test_read_format_cpio_svr4_bzip2_rpm.c | 4 +- + .../test_read_format_cpio_svr4_gzip_rpm.c | 4 +- + 14 files changed, 1162 insertions(+), 15 deletions(-) + create mode 100644 libarchive/archive_read_support_format_rpm.c + +diff --git a/Makefile.am b/Makefile.am +index c96b3bc..725e20c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -210,6 +210,7 @@ libarchive_la_SOURCES= \ + libarchive/archive_read_support_format_rar.c \ + libarchive/archive_read_support_format_rar5.c \ + libarchive/archive_read_support_format_raw.c \ ++ libarchive/archive_read_support_format_rpm.c \ + libarchive/archive_read_support_format_tar.c \ + libarchive/archive_read_support_format_warc.c \ + libarchive/archive_read_support_format_xar.c \ +diff --git a/contrib/android/Android.mk b/contrib/android/Android.mk +index 9e1c72f..3d1f087 100644 +--- a/contrib/android/Android.mk ++++ b/contrib/android/Android.mk +@@ -91,6 +91,7 @@ libarchive_src_files := libarchive/archive_acl.c \ + libarchive/archive_read_support_format_rar.c \ + libarchive/archive_read_support_format_rar5.c \ + libarchive/archive_read_support_format_raw.c \ ++ libarchive/archive_read_support_format_rpm.c \ + libarchive/archive_read_support_format_tar.c \ + libarchive/archive_read_support_format_warc.c \ + libarchive/archive_read_support_format_xar.c \ +diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt +index b296637..d132123 100644 +--- a/libarchive/CMakeLists.txt ++++ b/libarchive/CMakeLists.txt +@@ -110,6 +110,7 @@ SET(libarchive_SOURCES + archive_read_support_format_rar.c + archive_read_support_format_rar5.c + archive_read_support_format_raw.c ++ archive_read_support_format_rpm.c + archive_read_support_format_tar.c + archive_read_support_format_warc.c + archive_read_support_format_xar.c +diff --git a/libarchive/archive.h b/libarchive/archive.h +index a7de6f6..89c60b3 100644 +--- a/libarchive/archive.h ++++ b/libarchive/archive.h +@@ -314,7 +314,9 @@ typedef const char *archive_passphrase_callback(struct archive *, + #define ARCHIVE_FILTER_LZMA 5 + #define ARCHIVE_FILTER_XZ 6 + #define ARCHIVE_FILTER_UU 7 ++#if ARCHIVE_VERSION_NUMBER < 4000000 + #define ARCHIVE_FILTER_RPM 8 ++#endif + #define ARCHIVE_FILTER_LZIP 9 + #define ARCHIVE_FILTER_LRZIP 10 + #define ARCHIVE_FILTER_LZOP 11 +@@ -385,6 +387,7 @@ typedef const char *archive_passphrase_callback(struct archive *, + #define ARCHIVE_FORMAT_7ZIP 0xE0000 + #define ARCHIVE_FORMAT_WARC 0xF0000 + #define ARCHIVE_FORMAT_RAR_V5 0x100000 ++#define ARCHIVE_FORMAT_RPM 0x110000 + + /* + * Codes returned by archive_read_format_capabilities(). +@@ -478,7 +481,9 @@ __LA_DECL int archive_read_support_filter_program(struct archive *, + __LA_DECL int archive_read_support_filter_program_signature + (struct archive *, const char * /* cmd */, + const void * /* match */, size_t); ++#if ARCHIVE_VERSION_NUMBER < 4000000 + __LA_DECL int archive_read_support_filter_rpm(struct archive *); ++#endif + __LA_DECL int archive_read_support_filter_uu(struct archive *); + __LA_DECL int archive_read_support_filter_xz(struct archive *); + __LA_DECL int archive_read_support_filter_zstd(struct archive *); +@@ -499,6 +504,7 @@ __LA_DECL int archive_read_support_format_mtree(struct archive *); + __LA_DECL int archive_read_support_format_rar(struct archive *); + __LA_DECL int archive_read_support_format_rar5(struct archive *); + __LA_DECL int archive_read_support_format_raw(struct archive *); ++__LA_DECL int archive_read_support_format_rpm(struct archive *); + __LA_DECL int archive_read_support_format_tar(struct archive *); + __LA_DECL int archive_read_support_format_warc(struct archive *); + __LA_DECL int archive_read_support_format_xar(struct archive *); +diff --git a/libarchive/archive_read.c b/libarchive/archive_read.c +index 406d84d..150bd31 100644 +--- a/libarchive/archive_read.c ++++ b/libarchive/archive_read.c +@@ -1296,13 +1296,18 @@ __archive_read_register_bidder(struct archive_read *a, + int i, number_slots; + + archive_check_magic(&a->archive, ARCHIVE_READ_MAGIC, +- ARCHIVE_STATE_NEW, "__archive_read_register_bidder"); ++ ARCHIVE_STATE_NEW | ARCHIVE_STATE_HEADER, ++ "__archive_read_register_bidder"); + + number_slots = sizeof(a->bidders) / sizeof(a->bidders[0]); + + for (i = 0; i < number_slots; i++) { +- if (a->bidders[i].vtable != NULL) ++ if (a->bidders[i].vtable != NULL) { ++ if (a->bidders[i].vtable == vtable) ++ /* Already registered. */ ++ return (ARCHIVE_OK); + continue; ++ } + memset(a->bidders + i, 0, sizeof(a->bidders[0])); + bidder = (a->bidders + i); + bidder->data = bidder_data; +diff --git a/libarchive/archive_read_private.h b/libarchive/archive_read_private.h +index e30b6c2..9ff3602 100644 +--- a/libarchive/archive_read_private.h ++++ b/libarchive/archive_read_private.h +@@ -212,7 +212,7 @@ struct archive_read { + int (*cleanup)(struct archive_read *); + int (*format_capabilties)(struct archive_read *); + int (*has_encrypted_entries)(struct archive_read *); +- } formats[16]; ++ } formats[18]; + struct archive_format_descriptor *format; /* Active format. */ + + /* +diff --git a/libarchive/archive_read_set_format.c b/libarchive/archive_read_set_format.c +index 552ab12..6a176e3 100644 +--- a/libarchive/archive_read_set_format.c ++++ b/libarchive/archive_read_set_format.c +@@ -81,6 +81,9 @@ archive_read_set_format(struct archive *_a, int code) + case ARCHIVE_FORMAT_RAW: + str = "raw"; + break; ++ case ARCHIVE_FORMAT_RPM: ++ str = "rpm"; ++ break; + case ARCHIVE_FORMAT_TAR: + str = "tar"; + break; +diff --git a/libarchive/archive_read_support_filter_all.c b/libarchive/archive_read_support_filter_all.c +index f086773..cc5c2b2 100644 +--- a/libarchive/archive_read_support_filter_all.c ++++ b/libarchive/archive_read_support_filter_all.c +@@ -60,8 +60,10 @@ archive_read_support_filter_all(struct archive *a) + archive_read_support_filter_xz(a); + /* The decode code doesn't use an outside library. */ + archive_read_support_filter_uu(a); ++#if ARCHIVE_VERSION_NUMBER < 4000000 + /* The decode code doesn't use an outside library. */ + archive_read_support_filter_rpm(a); ++#endif + /* The decode code always uses "lrzip -d -q" command-line. */ + archive_read_support_filter_lrzip(a); + /* Lzop decompress falls back to "lzop -d" command-line. */ +diff --git a/libarchive/archive_read_support_filter_by_code.c b/libarchive/archive_read_support_filter_by_code.c +index 4c8b6cb..d3c7d21 100644 +--- a/libarchive/archive_read_support_filter_by_code.c ++++ b/libarchive/archive_read_support_filter_by_code.c +@@ -49,8 +49,10 @@ archive_read_support_filter_by_code(struct archive *a, int filter_code) + return archive_read_support_filter_xz(a); + case ARCHIVE_FILTER_UU: + return archive_read_support_filter_uu(a); ++#if ARCHIVE_VERSION_NUMBER < 4000000 + case ARCHIVE_FILTER_RPM: + return archive_read_support_filter_rpm(a); ++#endif + case ARCHIVE_FILTER_LZIP: + return archive_read_support_filter_lzip(a); + case ARCHIVE_FILTER_LRZIP: +diff --git a/libarchive/archive_read_support_format_all.c b/libarchive/archive_read_support_format_all.c +index a2c5a4c..729b4c4 100644 +--- a/libarchive/archive_read_support_format_all.c ++++ b/libarchive/archive_read_support_format_all.c +@@ -58,6 +58,7 @@ archive_read_support_format_all(struct archive *a) + archive_read_support_format_empty(a); + archive_read_support_format_lha(a); + archive_read_support_format_mtree(a); ++ archive_read_support_format_rpm(a); + archive_read_support_format_tar(a); + archive_read_support_format_xar(a); + archive_read_support_format_warc(a); +diff --git a/libarchive/archive_read_support_format_rpm.c b/libarchive/archive_read_support_format_rpm.c +new file mode 100644 +index 0000000..fe0e500 +--- /dev/null ++++ b/libarchive/archive_read_support_format_rpm.c +@@ -0,0 +1,1126 @@ ++/*- ++ * Copyright (c) 2026 Davide Beatrici ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++ * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++#include "archive_platform.h" ++ ++#ifdef HAVE_ERRNO_H ++#include ++#endif ++ ++#ifdef HAVE_STDLIB_H ++#include ++#endif ++#ifdef HAVE_STRING_H ++#include ++#endif ++ ++#include "archive.h" ++#include "archive_endian.h" ++#include "archive_entry.h" ++#include "archive_entry_locale.h" ++#include "archive_private.h" ++#include "archive_read_private.h" ++ ++#define MAX_NFILES 100000 ++#define STR_SIZE_LIMIT (1024 * 1024) /* 1 MiB */ ++ ++#define LEAD_MAGIC "\xed\xab\xee\xdb" ++#define HEADER_MAGIC "\x8e\xad\xe8\x01\x00\x00\x00\x00" ++ ++#define CPIO_END_MARK "TRAILER!!!" ++#define CPIO_END_MARK_SIZE 10 ++ ++#define CPIO_HEADER_STR_SIZE 16 ++#define CPIO_HEADER_SVR_SIZE 110 ++#define CPIO_HEADER_SVR_PATH_OFF 94 ++ ++#define CPIO_MAGIC_SIZE 6 ++#define CPIO_MAGIC_STR "07070X" ++#define CPIO_MAGIC_SVR4_CRC "070702" ++#define CPIO_MAGIC_SVR4_NOCRC "070701" ++ ++#define TAG_FILESIZES 1028 ++#define TAG_FILEMODES 1030 ++#define TAG_FILERDEVS 1033 ++#define TAG_FILEMTIMES 1034 ++#define TAG_FILEUSERNAMES 1039 ++#define TAG_FILEGROUPNAMES 1040 ++#define TAG_FILEDEVICES 1095 ++#define TAG_FILEINODES 1096 ++ ++#define TAG_DIRINDEXES 1116 ++#define TAG_BASENAMES 1117 ++#define TAG_DIRNAMES 1118 ++ ++#define TAG_PAYLOADCOMPRESSOR 1125 ++ ++#define TAG_LONGFILESIZES 5008 ++ ++enum rpm_cpio_format { ++ CPIO_UNKNOWN, ++ CPIO_STR, ++ CPIO_SVR4_CRC, ++ CPIO_SVR4_NOCRC ++}; ++ ++struct rpm_file_info { ++ char *pathname; ++ char *uname; ++ char *gname; ++ uint64_t size; ++ uint16_t mode; ++ int32_t dev; ++ int16_t rdev; ++ uint32_t mtime; ++ uint32_t ino; ++}; ++ ++struct rpm_inode_info { ++ uint32_t n_files; ++ struct rpm_file_info **files; ++ uint32_t n_processed; ++}; ++ ++struct rpm_inode_temp_entry { ++ uint64_t ino; ++ struct rpm_file_info **files; ++ uint32_t n_files; ++ size_t capacity; ++ struct rpm_inode_temp_entry *next; ++}; ++ ++struct rpm_lead { ++ unsigned char magic[4]; ++ unsigned char major, minor; ++ short type; ++ short archnum; ++ char name[66]; ++ short osnum; ++ short signature_type; ++ char reserved[16]; ++}; ++ ++struct rpm_header { ++ unsigned char magic[8]; ++ uint32_t n_entries; ++ uint32_t data_size; ++}; ++ ++struct rpm_entry { ++ uint32_t tag; ++ uint32_t type; ++ int32_t offset; ++ uint32_t count; ++}; ++ ++struct rpm { ++ enum { ++ ST_LEAD, ++ ST_HEADER, ++ ST_PADDING, ++ ST_ARCHIVE ++ } state; ++ uint8_t first_header; ++ ++ char *compressor; ++ ++ uint32_t n_files; ++ uint32_t n_inodes; ++ struct rpm_file_info *files; ++ struct rpm_inode_info *inodes; ++ ++ struct inode_hash_entry { ++ uint64_t ino; ++ struct rpm_inode_info *info; ++ struct inode_hash_entry *next; ++ } **inode_hash; ++ ++ size_t inode_hash_size; ++ ++ ssize_t entry_bytes_remaining; ++ ssize_t entry_bytes_unconsumed; ++ ssize_t entry_offset; ++ ssize_t entry_padding; ++}; ++ ++static int archive_read_format_rpm_bid(struct archive_read *, int); ++static int archive_read_format_rpm_read_header(struct archive_read *, ++ struct archive_entry *); ++static int archive_read_format_rpm_read_data(struct archive_read *, ++ const void **, size_t *, int64_t *); ++static int archive_read_format_rpm_read_data_skip(struct archive_read *); ++static int archive_read_format_rpm_cleanup(struct archive_read *); ++ ++static int rpm_add_entry(struct archive_read *, struct archive_entry *); ++static int rpm_parse_main_header(struct archive_read *, ++ const struct rpm_header *header); ++ ++static struct rpm_inode_info *rpm_get_inode(struct archive_read *, uint32_t); ++static enum rpm_cpio_format rpm_get_cpio_format(struct archive_read *); ++static uint8_t rpm_is_eof(struct archive_read *); ++ ++static uint16_t rpm_be16_at(const void *buf_start, ++ const void *buf_end, const size_t off); ++static uint32_t rpm_be32_at(const void *buf_start, ++ const void *buf_end, const size_t off); ++static uint64_t rpm_be64_at(const void *buf_start, ++ const void *buf_end, const size_t off); ++ ++static inline size_t rpm_limit_bytes(size_t, size_t); ++static char *rpm_strndup(struct archive_read *, const char *, size_t); ++static char *rpm_strread(struct archive_read *, size_t); ++static void rpm_strcat(struct archive_string *, const void *, const void *); ++static const char *rpm_strlist_at(const char *, const void *, ++ uint64_t, uint64_t); ++ ++static void rpm_free_inode_temp_hash(struct rpm_inode_temp_entry **, size_t); ++ ++int ++archive_read_support_format_rpm(struct archive *_a) ++{ ++ struct archive_read *a = (struct archive_read *)_a; ++ struct rpm *rpm; ++ int r; ++ ++ archive_check_magic(_a, ARCHIVE_READ_MAGIC, ++ ARCHIVE_STATE_NEW, "archive_read_support_format_rpm"); ++ ++ rpm = calloc(1, sizeof(*rpm)); ++ if (!rpm) { ++ archive_set_error(&a->archive, ++ ENOMEM, ++ "Can't allocate rpm data"); ++ return ARCHIVE_FATAL; ++ } ++ ++ r = __archive_read_register_format(a, ++ rpm, ++ "rpm", ++ archive_read_format_rpm_bid, ++ NULL, ++ archive_read_format_rpm_read_header, ++ archive_read_format_rpm_read_data, ++ archive_read_format_rpm_read_data_skip, ++ NULL, ++ archive_read_format_rpm_cleanup, ++ NULL, ++ NULL); ++ ++ if (r != ARCHIVE_OK) ++ free(rpm); ++ ++ return ARCHIVE_OK; ++} ++ ++static int ++archive_read_format_rpm_bid(struct archive_read *a, int best_bid) ++{ ++ const unsigned char *p; ++ ++ (void)best_bid; ++ ++ if ((p = __archive_read_ahead(a, sizeof(LEAD_MAGIC) - 1, NULL)) == NULL) ++ return -1; ++ ++ if (memcmp(p, LEAD_MAGIC, sizeof(LEAD_MAGIC) - 1) == 0) ++ return 48; ++ else ++ return ARCHIVE_WARN; ++} ++ ++static int ++archive_read_format_rpm_read_header(struct archive_read *a, ++ struct archive_entry *entry) ++{ ++ struct rpm *rpm = a->format->data; ++ const unsigned char *p; ++ int r; ++ ++ a->archive.archive_format = ARCHIVE_FORMAT_RPM; ++ ++ for (;;) { ++ switch (rpm->state) { ++ case ST_LEAD: { ++ const struct rpm_lead *lead = __archive_read_ahead(a, sizeof(*lead), NULL); ++ if (lead == NULL) { ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "Truncated lead"); ++ return ARCHIVE_FATAL; ++ } ++ ++ if (memcmp(lead->magic, LEAD_MAGIC, sizeof(lead->magic)) != 0) { ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "Unrecognized lead"); ++ return ARCHIVE_FATAL; ++ } ++ ++ __archive_read_consume(a, sizeof(*lead)); ++ ++ rpm->state = ST_HEADER; ++ rpm->first_header = 1; ++ break; ++ } ++ case ST_HEADER: { ++ struct rpm_header header; ++ ++ p = __archive_read_ahead(a, sizeof(header), NULL); ++ if (p == NULL) { ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "Truncated header"); ++ return ARCHIVE_FATAL; ++ } ++ ++ memcpy(&header, p, sizeof(header)); ++ ++ if (memcmp(header.magic, HEADER_MAGIC, sizeof(header.magic)) != 0) { ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "Unrecognized header"); ++ return ARCHIVE_FATAL; ++ } ++ ++ header.n_entries = archive_be32dec(&header.n_entries); ++ header.data_size = archive_be32dec(&header.data_size); ++ ++ __archive_read_consume(a, sizeof(header)); ++ ++ r = rpm_parse_main_header(a, &header); ++ if (r != ARCHIVE_OK) ++ return r; ++ ++ rpm->state = ST_PADDING; ++ break; ++ } ++ case ST_PADDING: { ++ for (;;) { ++ p = __archive_read_ahead(a, 1, NULL); ++ if (p == NULL) { ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "Truncated padding"); ++ return ARCHIVE_FATAL; ++ } ++ ++ if (*p != 0) ++ break; ++ ++ __archive_read_consume(a, 1); ++ } ++ ++ if (rpm->first_header) { ++ rpm->first_header = 0; ++ rpm->state = ST_HEADER; ++ } else { ++ enum rpm_cpio_format cpio_format; ++ ++ if (!rpm->compressor) { ++ /* No compression. */ ++ } else if (strcmp(rpm->compressor, "zstd") == 0) { ++ r = archive_read_append_filter(&a->archive, ARCHIVE_FILTER_ZSTD); ++ } else if (strcmp(rpm->compressor, "xz") == 0) { ++ archive_read_append_filter(&a->archive, ARCHIVE_FILTER_XZ); ++ } else if (strcmp(rpm->compressor, "gzip") == 0) { ++ archive_read_append_filter(&a->archive, ARCHIVE_FILTER_GZIP); ++ } else if (strcmp(rpm->compressor, "bzip2") == 0) { ++ archive_read_append_filter(&a->archive, ARCHIVE_FILTER_BZIP2); ++ } else if (strcmp(rpm->compressor, "lzma") == 0) { ++ archive_read_append_filter(&a->archive, ARCHIVE_FILTER_LZMA); ++ } else { ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "Unrecognized compressor: %s", rpm->compressor); ++ return ARCHIVE_FATAL; ++ } ++ ++ if (r != ARCHIVE_OK) { ++ archive_set_error(&a->archive, r, "Cannot append %s filter", ++ rpm->compressor); ++ return r; ++ } ++ ++ cpio_format = rpm_get_cpio_format(a); ++ switch (cpio_format) { ++ case CPIO_STR: ++ a->archive.archive_format_name = "RPM (stripped CPIO)"; ++ break; ++ case CPIO_SVR4_CRC: ++ a->archive.archive_format_name = "RPM (SVR4 cpio with CRC)"; ++ break; ++ case CPIO_SVR4_NOCRC: ++ a->archive.archive_format_name = "RPM (SVR4 cpio with no CRC)"; ++ break; ++ case CPIO_UNKNOWN: ++ default: ++ return ARCHIVE_FATAL; ++ } ++ ++ rpm->state = ST_ARCHIVE; ++ } ++ break; ++ } ++ case ST_ARCHIVE: ++ return rpm_add_entry(a, entry); ++ } ++ } ++} ++ ++static int ++archive_read_format_rpm_read_data(struct archive_read *a, ++ const void **buff, size_t *size, int64_t *offset) ++{ ++ struct rpm *rpm = a->format->data; ++ ssize_t bytes_read; ++ ++ if (rpm->entry_bytes_unconsumed > 0) { ++ __archive_read_consume(a, rpm->entry_bytes_unconsumed); ++ rpm->entry_bytes_unconsumed = 0; ++ } ++ ++ if (rpm->entry_bytes_remaining > 0) { ++ *buff = __archive_read_ahead(a, 1, &bytes_read); ++ if (bytes_read <= 0) ++ return ARCHIVE_FATAL; ++ ++ if (bytes_read > rpm->entry_bytes_remaining) ++ bytes_read = (ssize_t)rpm->entry_bytes_remaining; ++ ++ *size = bytes_read; ++ rpm->entry_bytes_unconsumed = bytes_read; ++ *offset = rpm->entry_offset; ++ rpm->entry_offset += bytes_read; ++ rpm->entry_bytes_remaining -= bytes_read; ++ ++ return ARCHIVE_OK; ++ } else { ++ if (rpm->entry_padding != ++ __archive_read_consume(a, rpm->entry_padding)) { ++ return ARCHIVE_FATAL; ++ } ++ ++ rpm->entry_padding = 0; ++ *buff = NULL; ++ *size = 0; ++ *offset = rpm->entry_offset; ++ ++ return ARCHIVE_EOF; ++ } ++} ++ ++static int ++archive_read_format_rpm_read_data_skip(struct archive_read *a) ++{ ++ struct rpm *rpm = a->format->data; ++ const ssize_t to_skip = rpm->entry_bytes_remaining + rpm->entry_padding ++ + rpm->entry_bytes_unconsumed; ++ ++ if (to_skip != __archive_read_consume(a, to_skip)) ++ return ARCHIVE_FATAL; ++ ++ rpm->entry_bytes_remaining = 0; ++ rpm->entry_padding = 0; ++ rpm->entry_bytes_unconsumed = 0; ++ ++ return ARCHIVE_OK; ++} ++ ++static int ++archive_read_format_rpm_cleanup(struct archive_read *a) ++{ ++ struct rpm *rpm = a->format->data; ++ size_t i; ++ ++ free(rpm->compressor); ++ ++ if (rpm->inode_hash) { ++ for (i = 0; i < rpm->inode_hash_size; ++i) { ++ free(rpm->inode_hash[i]); ++ } ++ ++ free(rpm->inode_hash); ++ } ++ ++ if (rpm->inodes != NULL) { ++ for (i = 0; i < rpm->n_inodes; i++) { ++ free(rpm->inodes[i].files); ++ } ++ ++ free(rpm->inodes); ++ } ++ ++ if (rpm->files != NULL) { ++ for (i = 0; i < rpm->n_files; i++) { ++ free(rpm->files[i].pathname); ++ free(rpm->files[i].uname); ++ free(rpm->files[i].gname); ++ } ++ ++ free(rpm->files); ++ } ++ ++ free(rpm); ++ ++ a->format->data = NULL; ++ ++ return ARCHIVE_OK; ++} ++ ++static int ++rpm_add_entry(struct archive_read *a, struct archive_entry *entry) ++{ ++ struct rpm *rpm = a->format->data; ++ struct rpm_file_info *file = NULL; ++ struct rpm_inode_info *inode; ++ uint64_t idx_ino; ++ const void *p; ++ ++ const enum rpm_cpio_format cpio_format = rpm_get_cpio_format(a); ++ ++ p = __archive_read_ahead(a, CPIO_HEADER_STR_SIZE, NULL); ++ if (!p) { ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "Premature EOF"); ++ return ARCHIVE_FATAL; ++ } ++ ++ char hex_str[9] = {0}; ++ memcpy(hex_str, p + CPIO_MAGIC_SIZE, sizeof(idx_ino)); ++ idx_ino = strtoull(hex_str, NULL, 16); ++ ++ switch (cpio_format) { ++ case CPIO_STR: ++ __archive_read_consume(a, CPIO_HEADER_STR_SIZE); ++ ++ if (rpm_is_eof(a)) ++ return ARCHIVE_EOF; ++ ++ if (idx_ino >= rpm->n_files) { ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "File index %" PRIu64 " out of range (max %u)", idx_ino, rpm->n_files - 1); ++ return ARCHIVE_FATAL; ++ } ++ ++ file = &rpm->files[idx_ino]; ++ inode = rpm_get_inode(a, file->ino); ++ if (!inode) ++ return ARCHIVE_FATAL; ++ ++ break; ++ case CPIO_SVR4_CRC: ++ case CPIO_SVR4_NOCRC: { ++ size_t i; ++ uint64_t size; ++ char *path; ++ ++ p = __archive_read_ahead(a, CPIO_HEADER_SVR_SIZE, NULL); ++ if (!p) { ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "Truncated SVR4 header"); ++ return ARCHIVE_FATAL; ++ } ++ ++ memcpy(hex_str, p + CPIO_HEADER_SVR_PATH_OFF, sizeof(size)); ++ ++ __archive_read_consume(a, CPIO_HEADER_SVR_SIZE); ++ ++ if (rpm_is_eof(a)) ++ return ARCHIVE_EOF; ++ ++ inode = rpm_get_inode(a, idx_ino); ++ if (!inode) ++ return ARCHIVE_FATAL; ++ ++ size = strtoull(hex_str, NULL, 16); ++ ++ path = rpm_strread(a, size); ++ if (!path) ++ return ARCHIVE_FATAL; ++ ++ for (i = 0; i < inode->n_files; ++i) { ++ if (strcmp(inode->files[i]->pathname, path) == 0) { ++ file = inode->files[i]; ++ break; ++ } ++ } ++ ++ free(path); ++ ++ if (!file) { ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "Path not found"); ++ return ARCHIVE_FATAL; ++ } ++ ++ /* Pad name to 2 more than a multiple of 4. */ ++ size += (2 - size) & 3; ++ __archive_read_consume(a, size); ++ ++ break; ++ } ++ default: ++ return ARCHIVE_FATAL; ++ } ++ ++ archive_entry_set_pathname_utf8(entry, file->pathname); ++ archive_entry_set_uname_utf8(entry, file->uname); ++ archive_entry_set_gname_utf8(entry, file->gname); ++ archive_entry_set_dev(entry, file->dev); ++ archive_entry_set_ino(entry, file->ino); ++ archive_entry_set_mode(entry, file->mode); ++ archive_entry_set_rdev(entry, file->rdev); ++ archive_entry_set_mtime(entry, file->mtime, 0); ++ archive_entry_set_nlink(entry, inode->n_files); ++ ++ /* Hardlink: only last entry carries payload */ ++ if (++inode->n_processed == inode->n_files) ++ rpm->entry_bytes_remaining = file->size; ++ else ++ rpm->entry_bytes_remaining = 0; ++ ++ /* Pad file contents to a multiple of 4. */ ++ rpm->entry_padding = 3 & -rpm->entry_bytes_remaining; ++ rpm->entry_offset = 0; ++ rpm->entry_bytes_unconsumed = 0; ++ ++ if (S_ISLNK(file->mode)) { ++ char *target = rpm_strread(a, file->size); ++ if (!target) ++ return ARCHIVE_FATAL; ++ ++ __archive_read_consume(a, rpm->entry_bytes_remaining); ++ rpm->entry_bytes_remaining = 0; ++ ++ archive_entry_set_symlink_utf8(entry, target); ++ ++ free(target); ++ } ++ ++ archive_entry_set_size(entry, rpm->entry_bytes_remaining); ++ ++ return ARCHIVE_OK; ++} ++ ++static int ++rpm_parse_main_header(struct archive_read *a, const struct rpm_header *header) ++{ ++ struct rpm *rpm = a->format->data; ++ ++ struct rpm_header_parse { ++ uint32_t n_files; ++ ++ const char *basenames; ++ uint32_t n_basenames; ++ ++ const char *dirnames; ++ uint32_t n_dirnames; ++ ++ const char *usernames; ++ uint32_t n_usernames; ++ ++ const char *groupnames; ++ uint32_t n_groupnames; ++ ++ union { ++ const int64_t *filesizes64; ++ const int32_t *filesizes32; ++ }; ++ uint8_t is_filesizes64; ++ ++ const int32_t *dirindexes; ++ const int16_t *filemodes; ++ const int32_t *filedevices; ++ const int16_t *filerdevs; ++ const int32_t *filemtimes; ++ const int32_t *fileinodes; ++ } hp; ++ ++ const struct rpm_entry *entries; ++ struct rpm_inode_temp_entry **temp_hash; ++ size_t hlen, temp_hash_size = 1; ++ uint64_t i, ino = 0; ++ ++ memset(&hp, 0, sizeof(hp)); ++ ++ hlen = sizeof(struct rpm_entry) ++ * (size_t)header->n_entries ++ + (size_t)header->data_size; ++ ++ entries = __archive_read_ahead(a, hlen, NULL); ++ if (entries == NULL) ++ return ARCHIVE_EOF; ++ ++ if (rpm->first_header) { ++ __archive_read_consume(a, hlen); ++ return ARCHIVE_OK; ++ } ++ ++ for (i = 0; i < header->n_entries; i++) { ++ uint32_t tag, cnt; ++ int32_t off; ++ const void *p; ++ ++ tag = archive_be32dec(&entries[i].tag); ++ off = archive_be32dec(&entries[i].offset); ++ cnt = archive_be32dec(&entries[i].count); ++ ++ if (off < 0 || (uint32_t)off >= header->data_size) ++ continue; ++ ++ p = (const uint8_t *)&entries[header->n_entries] + off; ++ ++ switch (tag) { ++ case TAG_PAYLOADCOMPRESSOR: ++ rpm->compressor = rpm_strndup(a, p ? p : "", 0); ++ break; ++ case TAG_BASENAMES: ++ hp.basenames = p; ++ hp.n_basenames = cnt; ++ break; ++ case TAG_DIRNAMES: ++ hp.dirnames = p; ++ hp.n_dirnames = cnt; ++ break; ++ case TAG_FILEUSERNAMES: ++ hp.usernames = p; ++ hp.n_usernames = cnt; ++ break; ++ case TAG_FILEGROUPNAMES: ++ hp.groupnames = p; ++ hp.n_groupnames = cnt; ++ break; ++ case TAG_LONGFILESIZES: ++ hp.filesizes64 = p; ++ hp.n_files = cnt; ++ hp.is_filesizes64 = 1; ++ break; ++ case TAG_FILESIZES: ++ /* This tag should never appear when Longfilesizes is present, ++ * but checking doesn't hurt. */ ++ if (!hp.is_filesizes64) { ++ hp.filesizes32 = p; ++ hp.n_files = cnt; ++ } ++ break; ++ case TAG_DIRINDEXES: ++ hp.dirindexes = p; ++ break; ++ case TAG_FILEINODES: ++ hp.fileinodes = p; ++ break; ++ case TAG_FILEMODES: ++ hp.filemodes = p; ++ break; ++ case TAG_FILEDEVICES: ++ hp.filedevices = p; ++ break; ++ case TAG_FILERDEVS: ++ hp.filerdevs = p; ++ break; ++ case TAG_FILEMTIMES: ++ hp.filemtimes = p; ++ break; ++ } ++ } ++ ++ if (hp.n_files >= MAX_NFILES) { ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "n_files out of range"); ++ return ARCHIVE_FATAL; ++ } ++ ++ rpm->files = calloc(hp.n_files, sizeof(*rpm->files)); ++ if (rpm->files == NULL) { ++ archive_set_error(&a->archive, ++ ENOMEM, ++ "Can't allocate files data"); ++ return ARCHIVE_FATAL; ++ } ++ ++ rpm->n_files = hp.n_files; ++ ++ while (temp_hash_size < hp.n_files * 2) ++ temp_hash_size <<= 1; ++ ++ temp_hash = calloc(temp_hash_size, sizeof(*temp_hash)); ++ if (!temp_hash) { ++ archive_set_error(&a->archive, ++ ENOMEM, ++ "Can't allocate temp hash"); ++ return ARCHIVE_FATAL; ++ } ++ ++ for (i = 0; i < hp.n_files; i++) { ++ const void *hbuf_end = (const uint8_t *)entries + hlen; ++ struct rpm_file_info *file = &rpm->files[i]; ++ struct rpm_inode_temp_entry *group; ++ struct archive_string as; ++ const char *dname, *bname, *uname, *gname; ++ size_t bucket; ++ ++ if (hp.dirindexes != NULL) { ++ const uint32_t diri = rpm_be32_at(hp.dirindexes, hbuf_end, i); ++ ++ if (diri >= hp.n_dirnames) { ++ rpm_free_inode_temp_hash(temp_hash, temp_hash_size); ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "dirindex out of range"); ++ return ARCHIVE_FATAL; ++ } ++ ++ dname = rpm_strlist_at(hp.dirnames, hbuf_end, diri, hp.n_dirnames); ++ } else ++ dname = NULL; ++ ++ bname = rpm_strlist_at(hp.basenames, hbuf_end, i, hp.n_basenames); ++ uname = rpm_strlist_at(hp.usernames, hbuf_end, i, hp.n_usernames); ++ gname = rpm_strlist_at(hp.groupnames, hbuf_end, i, hp.n_groupnames); ++ ++ archive_string_init(&as); ++ archive_strappend_char(&as, '.'); ++ rpm_strcat(&as, dname, hbuf_end); ++ rpm_strcat(&as, bname, hbuf_end); ++ file->pathname = strdup(as.s); ++ archive_string_free(&as); ++ ++ file->uname = rpm_strndup(a, uname ? uname : "", 0); ++ file->gname = rpm_strndup(a, gname ? gname : "", 0); ++ ++ if (hp.is_filesizes64) ++ file->size = rpm_be64_at(hp.filesizes64, hbuf_end, i); ++ else ++ file->size = rpm_be32_at(hp.filesizes32, hbuf_end, i); ++ file->mode = rpm_be16_at(hp.filemodes, hbuf_end, i); ++ file->dev = rpm_be32_at(hp.filedevices, hbuf_end, i); ++ file->rdev = rpm_be16_at(hp.filerdevs, hbuf_end, i); ++ file->mtime = rpm_be32_at(hp.filemtimes, hbuf_end, i); ++ file->ino = rpm_be32_at(hp.fileinodes, hbuf_end, i); ++ ++ bucket = file->ino & (temp_hash_size - 1); ++ group = temp_hash[bucket]; ++ ++ while (group) { ++ if (group->ino == file->ino) ++ break; ++ ++ group = group->next; ++ } ++ ++ if (!group) { ++ group = calloc(1, sizeof(*group)); ++ if (!group) { ++ rpm_free_inode_temp_hash(temp_hash, temp_hash_size); ++ archive_set_error(&a->archive, ++ ENOMEM, ++ "Can't allocate inode group"); ++ return ARCHIVE_FATAL; ++ } ++ ++ group->ino = file->ino; ++ group->files = NULL; ++ group->n_files = 0; ++ group->capacity = 0; ++ ++ group->next = temp_hash[bucket]; ++ temp_hash[bucket] = group; ++ } ++ ++ if (group->n_files >= group->capacity) { ++ group->capacity = group->capacity ? group->capacity * 2 : 8; ++ void *prev_ptr = group->files; ++ ++ group->files = realloc(group->files, group->capacity * sizeof(*group->files)); ++ if (!group->files) { ++ free(prev_ptr); ++ rpm_free_inode_temp_hash(temp_hash, temp_hash_size); ++ archive_set_error(&a->archive, ++ ENOMEM, ++ "Can't grow inode file list"); ++ return ARCHIVE_FATAL; ++ } ++ } ++ ++ group->files[group->n_files++] = file; ++ } ++ ++ rpm->n_inodes = 0; ++ for (i = 0; i < temp_hash_size; i++) { ++ for (struct rpm_inode_temp_entry *e = temp_hash[i]; e; e = e->next) ++ rpm->n_inodes++; ++ } ++ ++ rpm->inodes = calloc(rpm->n_inodes, sizeof(*rpm->inodes)); ++ if (!rpm->inodes) { ++ rpm_free_inode_temp_hash(temp_hash, temp_hash_size); ++ archive_set_error(&a->archive, ++ ENOMEM, ++ "Can't allocate inodes array"); ++ return ARCHIVE_FATAL; ++ } ++ ++ for (i = 0; i < temp_hash_size; i++) { ++ struct rpm_inode_temp_entry *e = temp_hash[i]; ++ while (e) { ++ struct rpm_inode_info *info = &rpm->inodes[ino++]; ++ info->n_files = e->n_files; ++ info->files = e->files; ++ info->n_processed = 0; ++ ++ struct rpm_inode_temp_entry *next = e->next; ++ free(e); ++ e = next; ++ } ++ } ++ ++ free(temp_hash); ++ ++ rpm->inode_hash_size = 1; ++ while (rpm->inode_hash_size < rpm->n_inodes * 2) ++ rpm->inode_hash_size <<= 1; ++ ++ rpm->inode_hash = calloc(rpm->inode_hash_size, sizeof(*rpm->inode_hash)); ++ if (!rpm->inode_hash) { ++ archive_set_error(&a->archive, ++ ENOMEM, ++ "Can't allocate inode hash"); ++ return ARCHIVE_FATAL; ++ } ++ ++ for (i = 0; i < rpm->n_inodes; i++) { ++ uint64_t raw = rpm->inodes[i].files[0]->ino; ++ size_t bucket = raw & (rpm->inode_hash_size - 1); ++ ++ struct inode_hash_entry *e = malloc(sizeof(*e)); ++ if (!e) { ++ archive_set_error(&a->archive, ++ ENOMEM, ++ "Can't allocate inode hash entry"); ++ return ARCHIVE_FATAL; ++ } ++ ++ e->ino = raw; ++ e->info = &rpm->inodes[i]; ++ e->next = rpm->inode_hash[bucket]; ++ rpm->inode_hash[bucket] = e; ++ } ++ ++ __archive_read_consume(a, hlen); ++ ++ return ARCHIVE_OK; ++} ++ ++static struct rpm_inode_info * ++rpm_get_inode(struct archive_read *a, const uint32_t ino) ++{ ++ const struct rpm *rpm = a->format->data; ++ struct inode_hash_entry *e; ++ size_t bucket; ++ ++ if (!rpm->inode_hash) ++ return NULL; ++ ++ bucket = ino & (rpm->inode_hash_size - 1); ++ ++ for (e = rpm->inode_hash[bucket]; e; e = e->next) ++ if (e->ino == ino) ++ return e->info; ++ ++ return NULL; ++} ++ ++static enum rpm_cpio_format ++rpm_get_cpio_format(struct archive_read *a) ++{ ++ const char *magic = __archive_read_ahead(a, CPIO_MAGIC_SIZE, NULL); ++ if (!magic) { ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "Premature EOF"); ++ return ARCHIVE_FATAL; ++ } ++ ++ if (memcmp(magic, CPIO_MAGIC_STR, CPIO_MAGIC_SIZE) == 0) ++ return CPIO_STR; ++ else if (memcmp(magic, CPIO_MAGIC_SVR4_CRC, CPIO_MAGIC_SIZE) == 0) ++ return CPIO_SVR4_CRC; ++ else if (memcmp(magic, CPIO_MAGIC_SVR4_NOCRC, CPIO_MAGIC_SIZE) == 0) ++ return CPIO_SVR4_NOCRC; ++ else { ++ archive_set_error(&a->archive, ++ ARCHIVE_ERRNO_FILE_FORMAT, ++ "Unrecognized magic"); ++ return CPIO_UNKNOWN; ++ } ++} ++ ++static uint8_t ++rpm_is_eof(struct archive_read *a) ++{ ++ const void *p = __archive_read_ahead(a, CPIO_END_MARK_SIZE, NULL); ++ if (!p) ++ return 1; ++ ++ return memcmp(p, CPIO_END_MARK, CPIO_END_MARK_SIZE) == 0; ++} ++ ++static uint16_t ++rpm_be16_at(const void *buf_start, const void *buf_end, size_t off) ++{ ++ off *= sizeof(uint16_t); ++ ++ if (!buf_start || (buf_end <= buf_start) || ++ (size_t)(buf_end - buf_start) < (off + sizeof(uint16_t))) ++ return 0; ++ ++ return archive_be16dec(buf_start + off); ++} ++ ++static uint32_t ++rpm_be32_at(const void *buf_start, const void *buf_end, size_t off) ++{ ++ off *= sizeof(uint32_t); ++ ++ if (!buf_start || (buf_end <= buf_start) || ++ (size_t)(buf_end - buf_start) < (off + sizeof(uint32_t))) ++ return 0; ++ ++ return archive_be32dec(buf_start + off); ++} ++ ++static uint64_t ++rpm_be64_at(const void *buf_start, const void *buf_end, size_t off) ++{ ++ off *= sizeof(uint64_t); ++ ++ if (!buf_start || (buf_end <= buf_start) || ++ (size_t)(buf_end - buf_start) < (off + sizeof(uint64_t))) ++ return 0; ++ ++ return archive_be64dec(buf_start + off); ++} ++ ++static inline size_t ++rpm_limit_bytes(const size_t bytes, const size_t max) ++{ ++ return (bytes > max ? max : bytes); ++} ++ ++static char * ++rpm_strndup(struct archive_read *a, const char *s, size_t len) ++{ ++ if (s == NULL) ++ return NULL; ++ ++ if (len == 0) ++ len = strnlen(s, STR_SIZE_LIMIT); ++ ++ if (len > STR_SIZE_LIMIT) { ++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, ++ "String too long (malformed?)"); ++ return NULL; ++ } ++ ++ return strndup(s, len); ++} ++ ++static char * ++rpm_strread(struct archive_read *a, size_t len) { ++ const void *p; ++ ++ if (len > STR_SIZE_LIMIT) { ++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, ++ "String too long"); ++ return NULL; ++ } ++ ++ p = __archive_read_ahead(a, len, NULL); ++ if (!p) { ++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, ++ "Truncated string"); ++ return NULL; ++ } ++ ++ return rpm_strndup(a, p, len); ++} ++ ++static void ++rpm_strcat(struct archive_string *a, const void *s, const void *buf_end) ++{ ++ if (!s || s >= buf_end) ++ return; ++ ++ archive_strncat(a, s, rpm_limit_bytes(buf_end - s, STR_SIZE_LIMIT)); ++} ++ ++static const char * ++rpm_strlist_at(const char *p, const void *end, uint64_t i, uint64_t n) ++{ ++ uint64_t k; ++ ++ if (p == NULL || i >= n || (const char *)end < p) ++ return NULL; ++ ++ for (k = 0; k < n; k++) { ++ const uint64_t max_len = rpm_limit_bytes((const char *)end - p, ++ STR_SIZE_LIMIT); ++ const uint64_t len = strnlen(p, max_len); ++ if (len == max_len) ++ /* Unterminated or absurdly long string. */ ++ return NULL; ++ ++ if (k == i) ++ return p; ++ ++ p += len + 1; ++ ++ if (p >= (const char *)end) ++ return NULL; ++ } ++ ++ return NULL; ++} ++ ++static void ++rpm_free_inode_temp_hash(struct rpm_inode_temp_entry **hash, const size_t hash_size) ++{ ++ for (size_t i = 0; i < hash_size; i++) { ++ struct rpm_inode_temp_entry *e = hash[i]; ++ while (e) { ++ struct rpm_inode_temp_entry *next = e->next; ++ free(e->files); ++ free(e); ++ e = next; ++ } ++ } ++ ++ free(hash); ++} +diff --git a/libarchive/test/test_archive_read_support.c b/libarchive/test/test_archive_read_support.c +index b0c9280..bc256a1 100644 +--- a/libarchive/test/test_archive_read_support.c ++++ b/libarchive/test/test_archive_read_support.c +@@ -91,6 +91,7 @@ DEFINE_TEST(test_archive_read_support) + test_filter_or_format(archive_read_support_format_iso9660); + test_filter_or_format(archive_read_support_format_lha); + test_filter_or_format(archive_read_support_format_mtree); ++ test_filter_or_format(archive_read_support_format_rpm); + test_filter_or_format(archive_read_support_format_tar); + test_filter_or_format(archive_read_support_format_xar); + test_filter_or_format(archive_read_support_format_zip); +@@ -140,7 +141,6 @@ DEFINE_TEST(test_archive_read_support) + test_filter_or_format(archive_read_support_filter_lzip); + test_filter_or_format(archive_read_support_filter_lzma); + test_filter_or_format(archive_read_support_filter_none); +- test_filter_or_format(archive_read_support_filter_rpm); + test_filter_or_format(archive_read_support_filter_uu); + test_filter_or_format(archive_read_support_filter_xz); + } +diff --git a/libarchive/test/test_read_format_cpio_svr4_bzip2_rpm.c b/libarchive/test/test_read_format_cpio_svr4_bzip2_rpm.c +index 1c421df..550b5be 100644 +--- a/libarchive/test/test_read_format_cpio_svr4_bzip2_rpm.c ++++ b/libarchive/test/test_read_format_cpio_svr4_bzip2_rpm.c +@@ -97,8 +97,6 @@ DEFINE_TEST(test_read_format_cpio_svr4_bzip2_rpm) + return; + } + assertEqualIntA(a, ARCHIVE_OK, r); +- assertEqualIntA(a, ARCHIVE_OK, +- archive_read_support_filter_rpm(a)); + assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a)); + extract_reference_file(name); + assertEqualIntA(a, ARCHIVE_OK, archive_read_open_filename(a, name, 2)); +@@ -121,7 +119,7 @@ DEFINE_TEST(test_read_format_cpio_svr4_bzip2_rpm) + /* Verify that the format detection worked. */ + assertEqualInt(archive_filter_code(a, 0), ARCHIVE_FILTER_BZIP2); + assertEqualString(archive_filter_name(a, 0), "bzip2"); +- assertEqualInt(archive_format(a), ARCHIVE_FORMAT_CPIO_SVR4_NOCRC); ++ assertEqualInt(archive_format(a), ARCHIVE_FORMAT_RPM); + + assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a)); + assertEqualInt(ARCHIVE_OK, archive_read_free(a)); +diff --git a/libarchive/test/test_read_format_cpio_svr4_gzip_rpm.c b/libarchive/test/test_read_format_cpio_svr4_gzip_rpm.c +index 6062c48..11dbbb4 100644 +--- a/libarchive/test/test_read_format_cpio_svr4_gzip_rpm.c ++++ b/libarchive/test/test_read_format_cpio_svr4_gzip_rpm.c +@@ -97,8 +97,6 @@ DEFINE_TEST(test_read_format_cpio_svr4_gzip_rpm) + return; + } + assertEqualIntA(a, ARCHIVE_OK, r); +- assertEqualIntA(a, ARCHIVE_OK, +- archive_read_support_filter_rpm(a)); + assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a)); + extract_reference_file(name); + assertEqualIntA(a, ARCHIVE_OK, archive_read_open_filename(a, name, 2)); +@@ -121,7 +119,7 @@ DEFINE_TEST(test_read_format_cpio_svr4_gzip_rpm) + /* Verify that the format detection worked. */ + assertEqualInt(archive_filter_code(a, 0), ARCHIVE_FILTER_GZIP); + assertEqualString(archive_filter_name(a, 0), "gzip"); +- assertEqualInt(archive_format(a), ARCHIVE_FORMAT_CPIO_SVR4_NOCRC); ++ assertEqualInt(archive_format(a), ARCHIVE_FORMAT_RPM); + + assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a)); + assertEqualInt(ARCHIVE_OK, archive_read_free(a)); diff --git a/meta/recipes-extended/libarchive/libarchive_3.8.9.bb b/meta/recipes-extended/libarchive/libarchive_3.8.9.bb index 01a5249a88..3b3824e778 100644 --- a/meta/recipes-extended/libarchive/libarchive_3.8.9.bb +++ b/meta/recipes-extended/libarchive/libarchive_3.8.9.bb @@ -35,6 +35,7 @@ SRC_URI = "https://libarchive.org/downloads/libarchive-${PV}.tar.gz \ file://0001-test-skip-ppmd8-aes256-streaming-test-when-no-crypto.patch \ file://0001-append_filter-Verify-that-bidder-and-filter-match.patch \ file://0003-Remove-bidder-name.patch \ + file://0004-Convert-RPM-reader-into-a-proper-format.patch \ " UPSTREAM_CHECK_URI = "https://www.libarchive.org/" From patchwork Tue Aug 25 00:45:47 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96219 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 4D181C61DB9 for ; Tue, 25 Aug 2026 00:46:31 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.11729.1787618781828452278 for ; Mon, 24 Aug 2026 17:46:22 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=gpv8Z+XR; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250811.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67P0VY0g343615 for ; Tue, 25 Aug 2026 00:46:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=csRGpSn15BLRLyg2wG90rkvxxOal3/d2IS4AIcVjFNQ=; b= gpv8Z+XRYhfZxN6oqz0XROIRXLSF36EebJkTEvlWzy+M13jLQquJAswr0hdBLBM/ aMPR9vzRJ1ukUWqA8A4dxrr57yYezIhSV0oxMM8JeBLTdSJ0axzsdc3lrBzpw0O4 C2Zje4+jz5WtK06qWTmLoZYaW1YE9F5k1P3E/quTB7ESjfvifElKD/4TCdqPGRxW CFO5wJ9o5t+Gk/idN70i7PdDUs4cqOZgn9f4QmFNdB32HrWTTHofCayjJftC1s52 ovZI3YMg4SzxEUNgmGLieVrmBcg/ijZFLdZRctsJJcfD59adOuuC308Drh8Wp5Ha v443PrFt1wj47Re0YBuw3Q== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11020122.outbound.protection.outlook.com [52.101.46.122]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g7100kr8c-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 25 Aug 2026 00:46:20 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GpRQ9mq47E9/LHGBasnA+1jSpymSgqiHpheyMFH9FzpbAqFQPyrs1iuRSnRACbWWeQR+IbYEvVstLmYhTKXLIOrrOIvTj1s5aZuS3UjDt8CQ7yTyJIlyy9K3D6Lom3ikUBb/Qhtp3fQNeo4vCfuc49/qkc1xIkU9fN+O3y1CSeQPVQ4Ku0SBEQHmOH4ZP+y/yrH3My5lej+ufYJ/UFk4g55OoheRzNCH/we7Vs6NIsa15q4rDvC+HSug49SqauhRB9ofMnDJtveMIg7bVlvm/keFzD07fVtQGI/nYAbeeV8wuU4LV+rD/9I8jJlFY2GywrDnTzAXTCOVscYGOj8dmQ== 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=csRGpSn15BLRLyg2wG90rkvxxOal3/d2IS4AIcVjFNQ=; b=sKLDljC24t5Acq/yXW50wjZ4ephRy14G6o4ALNmdMIkUoTaTAj8eh/9hT577JDoR5PeKHCAdASdIKmb3wsdD3os4746ou8iktqragxCmC+VsQJPoN5a3ZN1IjVgsCFwdnFiMtMkksSX1ZKCXMxZgjMU+tsusqf4RvZFQTf56i7V9hxW+rNApjf9QcoqUxLUe1R74+ripHvetMCLDcv5PT03pg5b7hPyBnfktrYEKKero03T5qzhEkkK1vH3xOvAnQUObugECTbmgxukRJgA0irSzy4D8XYjmvUWs0AEDgrDkq6sbGpbKZDMi09gDpbICmbnpB3HrxIBTRnIOLqkCjw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by DSSPR11MB9642.namprd11.prod.outlook.com (2603:10b6:8:377::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:18 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:18 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 10/14] libarchive: Disable RPM filter auto-bidding and update huge_rpm test Date: Mon, 24 Aug 2026 17:45:47 -0700 Message-ID: <20260825004555.4111831-11-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|DSSPR11MB9642:EE_ X-MS-Office365-Filtering-Correlation-Id: 84a8c3fc-93f0-4364-70b9-08df0242462f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|23010399003|11063799006|10067099003|12006099003|6133799003|56012099006|18002099003|22082099003|38350700014; X-Microsoft-Antispam-Message-Info: PwzsAadm/3zZrF7Lvz/NZa6hb8NBTL268mxTJk0XMXjjPuiGkllA8m6zlW/WSmN0lBtbx938xpyEEKg1EvdRFbcWHJvuGihI2CZxjrGEl8lo/y2tkhviCLZRl1Vulpa+wdAOAz2dwTZnL2lz9xEbmwphV4b2Pqz4AycUH2JgWY4lhSWz7UjnZ1Md52aQDme7NQbQJtCqHFTE3h6UP2FqYFu+jUw0GJa4hWFqSYbo2jRLS4Qs/TvMrkY6oZN9plYaUAYrZ/OcsrE17UMneb5hiwWdzW+g2hvRhRLLs6OIFiReRO/3pDHmJACW3gKd49bXfC45M9bEH5laVLnumJt3oChnU0pSX9q6dA6Ja3N9FoYf3KsBuB6VN38cSOov71iVHybapExqKvoO/P4hndKuGJ+3vquETv5/RJRflRnYCteZ/LRI0tkbM77QyzK1g/rED/In2Wz++w/2Nx7WmKcKcIM9faRLOXxCuDykvBtOBPyY3W6r6Lrn6V2d0i+ZM+Ft5mtRSDAsT/PgdPwrzJxZbMvnbwfZyWJTAfNdD1Cqi/m37EdvUiayS+Zo/xN46rSlVBjuPufwUUIwcRczVbBH952FQI/7wugUWK5Rw85BSodZGw3oDK8FlF7wW4jej9A8TDH8x34tL2zYC6KDFPbnlSxe9EtZRGa45oA4uwjTHe8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(23010399003)(11063799006)(10067099003)(12006099003)(6133799003)(56012099006)(18002099003)(22082099003)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Pzmcrj2JKPW/mLBWa7bvbbJ3hN5yxfdybl13lSQrrcOu3moDSHp1zgufCGU/0S+7WiROWgpd/wQSxo0SYH1l82ItxIJ+zub3pLBJc+NGRVxvHUbPvmdxamM67ALV4fvhO7mWqvZUkDx1Ri1fIf3Bd3mtRW2BS5bcLlneEBGMLa7VGxNGFQRvWKOFyLabwvgBZ1VilGS5G4pbfb4y+s2ctDsg2AeBwpzeP6k9EBJWIWwzO9MGggD3oEN1uBxS6aywRKpgycs9hibfwqo7xNeAJ9jWZC+WKMTjP2j/RGqnFAMiyPUyUNTvbvgB9iodrpy+s1hh+yY+OUF9vHwxNTdT1URdEGEkAF5hB7VSK7FE5I6GRv9Bu8kDifusX25tQzl+Its2/z09E9rOCxMxoksHcfB7BSWc0s9M0mXrkCfZT/3uqYNJ9ExmxnZeI2orCHqDyE+8OoUUuasOnZssl7e2pe38gcFvQUJdJIJLSTZfi7yoY/MQRXch0RcXy96gK80aw0VuqtDz6a+dsxiNCSEzV+RGiZDol4UY6iX/72/wiKksF4D6EEqw9bFDuJ/N4Oefzr8/QiR+fFdVV051rD4f4aYY8FwFK09xviD9NqPldHIzPLNQen1zp3Uk5pqTasrhjo+ImNTAtYqeVpmTnsr3SWKwGNIUxNdWtNV90kq3A8csTPD1KY0Q33SWkX76aqI2Qlg7BrEdCjjb/3sk4VklCClO4jcgmxm2STGfMFY8bOHHuskf2Rmeid4DlL1NM+UaWdLyS1vGycua/7hf/N723kiWF7hIc5kK3QOUcV5nWj48t5QOW2o/nB03vhjjakrPfsXeKt1AfLgq9Bf4nA5UADKrpAx+5oLROyN8s/58rrYszU3l3L1l0Z9gSp05TYV69p7UXr/UP0Srtb2v6VyStYlbGamZGHCXT3YzagFXIPvOMcaH8fsYj5fCyTNnJkY6QOsEcbuiwvtkxu3D8j8CvIB4108wCOyQxDeTdadWtLKCXWpe8W7rbGfKsfux5cL/QNZjUFGxmF6vKaphkyI9tAP7Rl3ym2Hzv1wftwKrJCaMLT/aKD3xKIN3YWfG5iwxOSikHuqNUM1RVMgH8piJJqB4S9ax/VZwjBvUAyiBLjT+XbkyVf8iyzSyYLGWaKrdYCoOeMu5c5cgejVF5UbS0vyUZjrPAzjjh5X1E1oZxVyEwimfyDeMsaCDH/amGN0lzQtLDRJ5yP+do8bpxWtfluUqev9DkKjlNQNv6BSSBnWBKnKd6gai48+v5+tCS5l/Yoqg2VfZs3ZBPcbAZ25fki4ZeUtp91/SO2Tkpa/39Dj+R+uh+mqgt72llVdOfkIEYA03h/blSIKQ1uYB1mxSd36vS3nyj740CYRoJ3Rvch7elEPeAxjDFK/TU9K/lP2V+SBxyJ0/rsXQ7/VB3Cgnad/kZyeb3L4+gCI1lNgs+Ym81RTNlm8m9feWWUJHwnbyrwD+fDQdzk69pZOlC4adWx64fzq4MphLz/HcVXC/PgD+xzHp87xxIde7kH+D/1MeZyAfh3rD0rhNjT+9qej4ozl0crzYBtmg6GwBFp0OAhSTV/jk3eOkU4tkHxYBkmZwBbGfxncXHRN3cOUFTD+ROG87hu8GcYGfGDfFypL8slfY2yg5si/CAhlTQ12+sYDNabNQjqzNWsfeotAq3kiiVffKc+RnBX2iZRwJjfAD5EJcgJHVIr9KQy76ImnsWgLy5X36S1EZqZS11Z1l7cfUgS95dRPXRikaWpY9+L4K1QM= X-Exchange-RoutingPolicyChecked: fWgjX1syWqeWM1Cs9K+sduAHGhMcg3rEyAp87wpQLAOYTQWwcsMKhlGgYa0Z1ad1BGjaCldEaZauJAd16/bwXhlyJ5+WFdgi8i2vfAh+Z8LJxVjqkNTVj1HohjKUzBt9K2c20c0npV2jaPBzQ3xHsqfiLgd7bUNFdNHzQDIEXtEkdPUajaSSAPEzH/ORD7XU8EKPncoIPzyuV3/n9cHEM5hifn3xM/JWdP69PbfJaLdW+AkMmPAYn95B1C9g6g6mlQiUA5/YZQCDVgGl+p+lcH9MWjxetwY2xJkl+ahtVkrPxU1pjb8OVFZe0oxXPkHzsbLTcIU4dmJQzLsMZ2wLCQ== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84a8c3fc-93f0-4364-70b9-08df0242462f X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:18.0861 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9d8KMjjGWHbxzNWfz336MGcg8X5G+nTXnVsjHftw5t1OvpfW+jBI1HEDuXBOaRGjzT1uFyoXBFSM1Nw0BQPXvTSa90WmNJAQekhMxY9xDh8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSSPR11MB9642 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-GUID: 3roJsk10FNwUwAZ9IXVOeirtdZlK8VEj X-Authority-Analysis: v=2.4 cv=UaJhjqSN c=1 sm=1 tr=0 ts=6a8ce5dc cx=c_pps a=Ov5XJGn/dQMl/+TwTE/lXw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=klDOsUkWDRETUCZYPvoE:22 a=NzkYBEk6AAAA:8 a=NEAV23lmAAAA:8 a=3uWsZ661AAAA:8 a=t7CeM3EgAAAA:8 a=9_fcTNOi7W61J8-o3-UA:9 a=DC3Xf0KLC0SIM7_k:21 a=zqED95DPWUTvcrp2mxve:22 a=fYNom5PXsM5enKJDCoVv:22 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-ORIG-GUID: 0fuJS7I1ga6tRbcFA7pgKEB6g6gY7YFc X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX/2z75ywfsnb6 mLdnM6lXEuMQ/MudfzoHM26bd1pSXh7KX5j26ndNpPsiXynoYg3NQak0NRBK2b/WQ9LXvTT9kWq x8tM58e9MFmLUakvJKZy9lB2kBG8z8SRZsAGf0UPzM4AKu4osp6M X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX2iB2w2lOp1mz PWHUWLUw84VpfDQF5fmjIn42ff0JOo0wggvBtMDpiQHDyusBF8UCuLb4D/PtrRoZqG57j6lfmhU 0w8eV4SLXJQ4Cu8Q8givg2PZTTVmM9e13dSn3GPd6549gu0a1jdhhQTXkzuvFsAxa/31SCaTHj9 HiWy2/bzTHy+OetLA5R7vobJUgPO7i2N8PXwv04VKVsXFb9pVSo2992okU4XUOu7V979lSr+9S9 GNlGhOVPVslDks1gAhEgTFUmdYnTjmvM7ctILJG2BE1QdwJpgAepdnz1GLl32hAuFPntv9oWf7J /6r3aqdZKimK1rGT505a//dRgEX2hzOPZa3PWRJc3L1Xrcchhywupxz0SS31xjcGL3RMnYGadiB kXgYhlealhGi21sS9s9giqLH+hFHvcDhBlwxqpFcWOCcRMvzoCIWksZNMEN70UA3WkRu3TdPvSx EJ5p61HlGAECVq0ZgOQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 adultscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:31 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244167 * Add 0005-Disable-RPM-filter-auto-bidding.patch: - RPM is now handled by the format reader. Disable the filter's automatic bidding (return 0) so it never intercepts RPM files during normal archive opening. The filter remains functional when explicitly requested via archive_read_append_filter(ARCHIVE_FILTER_RPM). This ensures debuginfod and other tools that use archive_read_support_format_all() will use the new RPM format reader for RPM 6 packages, while maintaining API compatibility. * Update 0004-Convert-RPM-reader-into-a-proper-format.patch: - Include the test_read_format_huge_rpm.c changes from upstream PR #2846. With the filter no longer auto-bidding, the format reader handles the truncated test RPM: opens successfully (ARCHIVE_OK), returns ARCHIVE_EOF on next_header, and identifies the format as ARCHIVE_FORMAT_RPM. Signed-off-by: Sumanth Gavini --- .../meta/nativesdk-sdk-provides-dummy.bb | 1 - .../recipes-devtools/pkgconf/pkgconf_3.0.6.bb | 2 +- ...vert-RPM-reader-into-a-proper-format.patch | 42 ++++++++++- ...0005-Disable-RPM-filter-auto-bidding.patch | 73 +++++++++++++++++++ .../libarchive/libarchive_3.8.9.bb | 1 + 5 files changed, 116 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-extended/libarchive/libarchive/0005-Disable-RPM-filter-auto-bidding.patch diff --git a/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb b/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb index 6075770bf0..37dad54409 100644 --- a/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb +++ b/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb @@ -11,7 +11,6 @@ DUMMYPROVIDES = "\ /bin/sh \ /bin/bash \ /usr/bin/env \ - /usr/bin/pkg-config \ libGL.so()(64bit) \ libGL.so \ " diff --git a/meta/recipes-devtools/pkgconf/pkgconf_3.0.6.bb b/meta/recipes-devtools/pkgconf/pkgconf_3.0.6.bb index 471433e7b5..0249c87878 100644 --- a/meta/recipes-devtools/pkgconf/pkgconf_3.0.6.bb +++ b/meta/recipes-devtools/pkgconf/pkgconf_3.0.6.bb @@ -7,7 +7,7 @@ HOMEPAGE = "http://pkgconf.org" BUGTRACKER = "https://github.com/pkgconf/pkgconf/issues" SECTION = "devel" PROVIDES += "pkgconfig" -RPROVIDES:${PN} += "pkgconfig" +RPROVIDES:${PN} += "pkgconfig /usr/bin/pkg-config" # The pkgconf license seems to be functionally equivalent to BSD-2-Clause or # ISC, but has different wording, so needs its own name. diff --git a/meta/recipes-extended/libarchive/libarchive/0004-Convert-RPM-reader-into-a-proper-format.patch b/meta/recipes-extended/libarchive/libarchive/0004-Convert-RPM-reader-into-a-proper-format.patch index 29d12bb539..03a207f33f 100644 --- a/meta/recipes-extended/libarchive/libarchive/0004-Convert-RPM-reader-into-a-proper-format.patch +++ b/meta/recipes-extended/libarchive/libarchive/0004-Convert-RPM-reader-into-a-proper-format.patch @@ -11,6 +11,14 @@ Without this patch, debuginfod cannot scan RPM 6 packages: libarchive error: cannot open archive from pipe: Unrecognized archive format +The test_read_format_huge_rpm test is updated from upstream PR #2846 +to match the format reader behavior: the format reader opens the +truncated RPM successfully (ARCHIVE_OK), returns ARCHIVE_EOF on +next_header (no valid entries in the crafted file), and correctly +identifies the format as ARCHIVE_FORMAT_RPM. This test requires the +companion 0005 patch (which disables the filter's auto-bidding) so +that the format reader handles the file instead of the filter. + Upstream-Status: Submitted [https://github.com/libarchive/libarchive/pull/2846] Signed-off-by: Sumanth Gavini @@ -29,7 +37,8 @@ Signed-off-by: Sumanth Gavini libarchive/test/test_archive_read_support.c | 2 +- .../test_read_format_cpio_svr4_bzip2_rpm.c | 4 +- .../test_read_format_cpio_svr4_gzip_rpm.c | 4 +- - 14 files changed, 1162 insertions(+), 15 deletions(-) + libarchive/test/test_read_format_huge_rpm.c | 13 +- + 15 files changed, 1169 insertions(+), 20 deletions(-) create mode 100644 libarchive/archive_read_support_format_rpm.c diff --git a/Makefile.am b/Makefile.am @@ -1398,3 +1407,34 @@ index 6062c48..11dbbb4 100644 assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a)); assertEqualInt(ARCHIVE_OK, archive_read_free(a)); +diff --git a/libarchive/test/test_read_format_huge_rpm.c b/libarchive/test/test_read_format_huge_rpm.c +index 51208c7..10c7fb7 100644 +--- a/libarchive/test/test_read_format_huge_rpm.c ++++ b/libarchive/test/test_read_format_huge_rpm.c +@@ -26,6 +26,7 @@ + + DEFINE_TEST(test_read_format_huge_rpm) + { ++ struct archive_entry *ae; + struct archive *a; + const char *name = "test_read_format_huge_rpm.rpm"; + +@@ -33,11 +34,13 @@ DEFINE_TEST(test_read_format_huge_rpm) + assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a)); + assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a)); + extract_reference_file(name); +- /* This archive is truncated -- if it has data, the bid has screwed up */ +- assertEqualIntA(a, ARCHIVE_FATAL, archive_read_open_filename(a, name, 2)); +- assertEqualStringA(a, "Truncated input file " +- "(needed 34359738384 bytes, only 10256 available)", +- archive_error_string(a)); ++ assertEqualIntA(a, ARCHIVE_OK, archive_read_open_filename(a, name, 2)); ++ ++ /* This archive should have no entries -- if it has entries, the bid has screwed up */ ++ assertEqualIntA(a, ARCHIVE_EOF, archive_read_next_header(a, &ae)); ++ ++ /* Verify that the format detection worked. */ ++ assertEqualInt(ARCHIVE_FORMAT_RPM, archive_format(a)); + + assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a)); + assertEqualInt(ARCHIVE_OK, archive_read_free(a)); diff --git a/meta/recipes-extended/libarchive/libarchive/0005-Disable-RPM-filter-auto-bidding.patch b/meta/recipes-extended/libarchive/libarchive/0005-Disable-RPM-filter-auto-bidding.patch new file mode 100644 index 0000000000..26a0159908 --- /dev/null +++ b/meta/recipes-extended/libarchive/libarchive/0005-Disable-RPM-filter-auto-bidding.patch @@ -0,0 +1,73 @@ +From 882166d7fa113f0c2108864b8a579d01816e1fce Mon Sep 17 00:00:00 2001 +From: Sumanth Gavini +Date: Tue, 11 Aug 2026 12:02:31 -0700 +Subject: [PATCH] libarchive: Disable RPM filter auto-bidding + +RPM is now handled by the format reader (archive_read_support_format_rpm). +Disable the filter's automatic bidding so it never intercepts RPM files +during normal archive opening. The filter remains functional when +explicitly requested via archive_read_append_filter(ARCHIVE_FILTER_RPM). + +This ensures debuginfod and other tools that use archive_read_support_format_all() +will use the new RPM format reader for RPM 6 packages, while maintaining +API compatibility for code that explicitly appends the RPM filter. + +Upstream-Status: Inappropriate [OE specific - keep filter for API compat while format reader handles RPM 6] + +Signed-off-by: Sumanth Gavini +--- + libarchive/archive_read_support_filter_rpm.c | 37 ++++---------------- + 1 file changed, 6 insertions(+), 31 deletions(-) + +diff --git a/libarchive/archive_read_support_filter_rpm.c b/libarchive/archive_read_support_filter_rpm.c +index 01bd1bf..8e90da3 100644 +--- a/libarchive/archive_read_support_filter_rpm.c ++++ b/libarchive/archive_read_support_filter_rpm.c +@@ -79,39 +79,14 @@ static int + rpm_bidder_bid(struct archive_read_filter_bidder *b, + struct archive_read_filter *f) + { +- const unsigned char *p; +- int bits_checked; +- + (void)b; /* UNUSED */ ++ (void)f; /* UNUSED */ + +- p = __archive_read_filter_ahead(f, 8, NULL); +- if (p == NULL) +- return (0); +- +- bits_checked = 0; +- /* +- * Verify Header Magic Bytes : 0XED 0XAB 0XEE 0XDB +- */ +- if (memcmp(p, "\xED\xAB\xEE\xDB", 4) != 0) +- return (0); +- bits_checked += 32; +- /* +- * Check major version. +- */ +- if (p[4] != 3 && p[4] != 4) +- return (0); +- bits_checked += 8; +- /* +- * Check package type; binary or source. +- */ +- if (p[6] != 0) +- return (0); +- bits_checked += 8; +- if (p[7] != 0 && p[7] != 1) +- return (0); +- bits_checked += 8; +- +- return (bits_checked); ++ /* RPM is now handled by the format reader ++ * (archive_read_support_format_rpm). Return 0 so the filter never ++ * wins automatic bidding. The filter still works when explicitly ++ * appended via archive_read_append_filter(ARCHIVE_FILTER_RPM). */ ++ return (0); + } + + static const struct archive_read_filter_vtable +-- +2.49.0 diff --git a/meta/recipes-extended/libarchive/libarchive_3.8.9.bb b/meta/recipes-extended/libarchive/libarchive_3.8.9.bb index 3b3824e778..2eefa28532 100644 --- a/meta/recipes-extended/libarchive/libarchive_3.8.9.bb +++ b/meta/recipes-extended/libarchive/libarchive_3.8.9.bb @@ -36,6 +36,7 @@ SRC_URI = "https://libarchive.org/downloads/libarchive-${PV}.tar.gz \ file://0001-append_filter-Verify-that-bidder-and-filter-match.patch \ file://0003-Remove-bidder-name.patch \ file://0004-Convert-RPM-reader-into-a-proper-format.patch \ + file://0005-Disable-RPM-filter-auto-bidding.patch \ " UPSTREAM_CHECK_URI = "https://www.libarchive.org/" From patchwork Tue Aug 25 00:45:48 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96217 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 4817CC61CE3 for ; Tue, 25 Aug 2026 00:46:31 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.11831.1787618782737769283 for ; Mon, 24 Aug 2026 17:46:22 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=StPUdpfz; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250812.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67P0jnui3986794 for ; Tue, 25 Aug 2026 00:46:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=QGvlrlWArdVviZENMUVVcISa3tiJlqfQvViIAGrgaho=; b= StPUdpfzvKIoYMGremoZvypfrhOZqicdlc0/fsVeGldC9qVocBJz4CVgexqIYXFf vGFhgX6bDgGtE4wJtGaoUSLD6jUC3k4GGTY1aGQeufMGx5dsckQrHlKUL0BGmdla z7hzNHpMaOb20R3lNf3KXmzTOMepgid033Us9rCl42uiFRW0cl2M9J51YlENei7G iK5AsbISsv6yl7m4FaUlblW3ZX40T3qFJkMUTXBOGornZdXgmQ6guBWi0FEnj4ne uwiC1jM0iZr9ToTl9PIlqqgzlktbmMhDQVAC/n/B9gmYuUFD2KD3UpOr+AYJ+FxX 7dJJ3iSurjRP1liyQHgs2w== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11020122.outbound.protection.outlook.com [52.101.46.122]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g72r6unmt-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 25 Aug 2026 00:46:21 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KSINENaVUsSqeq/tb0X8Amh7SGad89yWtNQgNJJcGe7Un01ZWvbjMlEKr/GU60GQYmXYAKWufYH3vNpk8ZWaLk+6hz2/42ggV1KDO1ady43mwlMh9BAmy7vb8d+1HhF1xqvm5hMNAKElwFmJI8KDxz8PNIDDQ9drGjV/j64fmSqDw7bP1VuZzQH4EYg8W7jsOkoQcddL8Gh4029gnG16vuVenINVuTgN7qbkTu68ZCDMR7+W9eVs300JtByQgVpii+i7FyqoBWnb0HzUvjqBI2gYUBY4dS/ZQArCoQyd7vsMasp3ejJ7fj/TFNdhadrN+wA2eO7d1ApHWGhOoUEPCQ== 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=QGvlrlWArdVviZENMUVVcISa3tiJlqfQvViIAGrgaho=; b=bAx64FG26gJLScQOrQyIirQKbnseNb+EwBOMFGxQiJTa5ljp4c4wVIy0fHKxyihwHKFVVg3ZkTcj8KjKJ1Q7Cd/XwQM3H5qbRvDFdbEfK6+FSLc2cnG4pLxnfLyG9sA9Q/f1VaBM/PWFbXHcoNB1yRZFqslPVsQiXqX/5AuiQ9gBYmhN4sgHqLz66cTuz43Ya9mvAumDb5u8SaUeKrs7T+BTboEYfs5cGEh/5O4dzRyAuD4AFVwzea8cmOhrYJm3A/4IWxA7kyZMtHylIvrIg27HzY2BWt7jR7Uvwk3BAGV7WNTBc07YcFvHCQ38WPMo5as13EdcbQQA7eUI2u+B2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by DSSPR11MB9642.namprd11.prod.outlook.com (2603:10b6:8:377::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:19 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:19 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 11/14] package_rpm.bbclass: Suppress pkgconfig() Requires for sstate compatibility Date: Mon, 24 Aug 2026 17:45:48 -0700 Message-ID: <20260825004555.4111831-12-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|DSSPR11MB9642:EE_ X-MS-Office365-Filtering-Correlation-Id: 7278d0e4-4be4-4982-28eb-08df0242470b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|23010399003|5023799004|11063799006|10067099003|56012099006|18002099003|22082099003|38350700014; X-Microsoft-Antispam-Message-Info: KRtwsbeP5A0BdMpCMub6l6q72aDcTTBYCBw97uKYm9yJUEObze85GI//fSqXDj6DMQEWbqwZRnxMsVcK+Bx+3HcduXBY9wtn9L2z2dcLv1sMAltTXmGxKhyfTnMWdqumXC6XNXOMF5F3UAOUYwfLnGdmUZHTucSXNIytzZGjI1MhEaNwArhSy4gP2hi/TQgxjF/WY5M38OHFJDsDAh/CIFcgAy+zVcfbCTZbnXRHUG0BVslkZc9C+pxdNGQApLDzEdYfd4XYgXTxbFLyybwX4msF/7/6kLMgKa5I2C8UI7oK1pKA+PpwWUCPVWYhDmWD00lZnTy5EkaDPI8biOdBJUtijCZ9LvbvqKc3pxCv0cZ4DRzjY9nhzKbpHdjUwCK5JNBTQ+WtuyPiJovWrePjE5nLpP2go4F+BtC/x4vlTIr4TjIkBheUHKc9T+XuakkLhObTHv+RxXPYgeQIfVzTZkB23uYvuEvZhxXVpNRBwf+dhUkA2IF8EVxKVab+p0j/ADhc4e5rt+1rAJku+Q4nJ4oWXRzVOCxkAPTZrOzjhGHyW234vvqgFlSyDN6vl7boscRaNAVzjXGSivYaeFEzA7JX9I1EWe+FQLyYDTME38HDuiTEWyFIXceyD5wRzr2wwmQmcS9Wwc3gou8ufFusHso4zXLcfR31dSRIDVPNfsc06FUIvYgAyIGFkVoHhAB/iU1Yl5h2WSxcJynXcoSDodk4Qj7pGKepOr021gzN6Kg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(23010399003)(5023799004)(11063799006)(10067099003)(56012099006)(18002099003)(22082099003)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UBQHXWduORTVY0KLutF/a3oZ7peZxoCzChpesJBo28OxZHLkpyKeiZeE6v7Gy0Il2tldYHGbt0TjTKkg4ITrDzDQ/a2XQ83XFjO2zYRl45Wsix9jO8yFu7aITr35VAHo87rbT9aEFEqnfqEWXVQ2uE6md8+wzfHyw8ET58bEtz/B7Z8EVeaewjjwSFWv39Kq4Smbj0Vqwz3RstojZcstKGi4tL2/Le9HR2aZnUaORCcG3kB6ZXJbnbQvBscSzjcM4h2H49wBQHF3qqkGp3+ZEKbhsg75VwOzjs8VJARnMRYZraY9UNO3vA45G5TFXTnWGYtd+arc+VCc3p/nJqByaS/ky4w9JhZUmbB3B02Nbe9nAwH4K9UGjvRjFTZPne1gTzAEvM5AJNQcVSV5ov9bPCJnvKbYZ49E5BIdDYydmOCmqdAQ/2HtsTmdb4hcengvsm7KToxkU0AxRXhdDaLVGbHDwYTZKJFCTJ3wetDmJYYv9uW84JSWo1vNOh74GRQsCNwzob6HaIFu8PNUj4Qa6nHpv0h3r+3pFquL9kVVa9FIQVEx6eZzi4vpDT9vJtVYl0wk3GUVcbuHRIOplskJmc1ety3fA0A71BJQndwCy+QMRZt8JdcQFa3+L1Y+v03e9mVwwbSTJGFZBZC58PeuJdGH7vRUwPZJi5ynEv8wNUSCDhAA9i12+/9Wos28gz+ZthxFq6GVuqXqdSNQqZU1BaOT20aIQ1id+J+Fg+Sa/EBD4Xj8mVzsw8/3EpRwbqrhxcmPMUqIkoDUp2xUMcEsioDMuHHHqzmCGtgdYmg64SsOiKneXLfftbnhs1p0o9bWHOUUa3ZORV/fvEaJ6X0d0tpt6XEH60Tmrz4cHj5TkRaeSH9TQ1xAYuSXCD9IlDPyP6QyJjbgi45xV5fno2Mbq48345RhTDo4Nat3oFqkDPu8YhsVoHp8tkQJ6d+RyeK2IrTOWZrUGYpyrnRsNlL6hZalfNtSZcl1q6+MGBpoEVx/12z44jXXE8R9O8OD7STWkUyL/ARvAH5nFhqc9IJbAAR5HI2/DEGdZdMfXKiTwe3XFgqDKdPowMXL3KQBslv/8xVxh/V4xMLzpPNWIc6fUsb/n83xstAwPhAUblvPhRC/kOZO3IxtNpX5nmFetnfOX9hjHexZypXCwi842mMhnxBbuMirNt2uTrC7UjJJ719Jk62k/wnUGZ7zORiPuQs3TCgN7+lO5wnZ++jqTKcaRMcr63cQkBYD6d4UtNJjLJH1sk3i9yl8kSHuTD3+OGkrLVPONRBCZ7rM+oog5A6MKFDX2KplVvmQbAcZ3y6ThCUFsgWMx33/wcccSP5N9TH5xIIKY//22FOQdC1zAu9GaSiowdM//gqBvVMZTDoYKN5Z5xOeX6ZOx/4mT7/UOut3mvvJ5EA9GNOAVC3R8lOiFJZMf3m4a/b2z2LEC5WxbhcEwv+J6Z0hvocmyOrRxAE7JP/ZAxyhW7VpW2eVEwjJX6jC2Wo3pqLGz7ZlHO3FtGx6utPi1d/3ifj/KI+I8M1wMZx2ilZyouJdg54FzUWbpTOfn2EIcwcCNLXNA0/owmpS55GpewGWMs/vm4Db3pyAP3XIS5r9IloXWAwyXQZGXqG7ghKgKj8Oa/nyA2nvEtUQvDg8e1iuuGJ+We/5thkSJQe/wbo+XUEME+ZxU9Leny7yDZ4EHEklKW+CYkElyqjr6WkNd+69CFk7ZGLJLwNmR+rvV4vRg35DokffzTumvyBgb2gExCgCG7U9PpGwwI0= X-Exchange-RoutingPolicyChecked: cR1HXKQZFPc0CI/Yg++S1a3qGHwKd5qkJWHhHBtOI4HECT+fNM5O6Kq0YDqVUjVCAd4TqdF21mRLDGOKOZqfmqszlU2B292G3FsfexXRTu4ltigaZEL0z8YLMqq/wjTkdJVwMBSJsUmFpQwBweFFZlnJXiF2U01sve6br0yDWo4UiYZD4TXAmazU7GzEL7nB9hctG0/muRO6c8a7lxQmtWhqGyIyWmd2zDACV12W7zq62Eoa142PM1sukAqOfFB6eZPALz/2j7LaCL+Zp1P0Tlm0I+86/Gu3kWYSCFf1a/GPnzDM8kv/0SIMzfwCOpDPCIPMJN6IPq9L9wlkvDEJmg== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7278d0e4-4be4-4982-28eb-08df0242470b X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:19.4645 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +pQXRrdMNCIY8HHrY4lw6i9aPAyax4fZPk+lKExVbVjmpvxjT+38/jEYkA3CrnMkcLjn68KkaleqLP2vfMPklGaXuJiZ1fipvW9F1wVkb84= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSSPR11MB9642 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX4RvFcORvrc5d 14lPoZFcRWwYxLjO5KTM94vntiSB9UCSouONItehyppyv2iE35w5eh7e/RZ6Df7ZEVl+6lWAano 4EZcxxEEqs9khJVjhSTrjWhLGrk6SYNAogfDWqglCxK+Yfuduq1z X-Proofpoint-ORIG-GUID: Hy1bW-gkAKTLVIavZHW5w_ykNd8mIEM5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX+P5AvfncUiA1 2lI3UYenSNhq1QQmbk1gw+MfN8Gh1JBlgWXuYpwS9iHf/q7B9H949aBOvtOiCAQP3kOICHtvJO8 oW4Ko0hbQjrW7SREtX6NXR94qyhRWkr2KgT2rZpfkxDCSqZP9QrX647ogYlN9xs9QamZuAqX7u9 xBVaxCIMfzxCtGjhvtvpe1yUkocd6/rRmGcCz0S+fzciY/d0qpVWtLNKVUy+B5OgHAMup3s7biq mhFT8hpog8WXqKgBCbGB5yUC414vSkGnvoox3rCbNdrS/nX8xs9fomTbq7+LDMrh2OvGZR63mn+ Sbm5lZEEsQe4VY8+j+GGUoxFrJsrrO8d69UQUqFxRAjYp1HjYz8tgJHR42fYDRf/7d69BDZ0+Xk sVmUozPsJVADvtBIMHQYQGIin8wH5VQHS2dIzyULuF7PgjBRHaCICXfYoAW4nR7RdvujXnvuNvx BgJ0E/kdCT1jlcWe8Qw== X-Proofpoint-GUID: cIy7M83fkjH5EeAmsDGkNIz5j559sPYZ X-Authority-Analysis: v=2.4 cv=RLiD2Yi+ c=1 sm=1 tr=0 ts=6a8ce5dd cx=c_pps a=Ov5XJGn/dQMl/+TwTE/lXw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=fTW__CHxibyLmBMfj2wP:22 a=t7CeM3EgAAAA:8 a=0YVC25x4kLZrtsW4MIcA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 adultscore=0 bulkscore=0 malwarescore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:31 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244168 rpm 4 had two dependency generation systems: an external generator (System 1) and an internal fileattr-based generator (System 2). OE used System 1 and disabled everything via: --define '_use_internal_dependency_generator 0' --define '__find_requires %{nil}' --define '__find_provides %{nil}' This meant pkgconfigdeps.sh (part of System 2) never ran in OE builds. rpm 6 removed System 1 entirely. For v6-format packages it only runs the fileattr system (System 2), and _use_internal_dependency_generator is ignored. So __find_requires %{nil} no longer works, and pkgconfigdeps.sh now runs for the first time in OE builds. pkgconfigdeps.sh --requires generates both "Requires:/usr/bin/pkg-config" and "Requires: pkgconfig(foo)" for each .pc dependency. This creates a sstate compatibility problem: packages built before the pkgconfigdeps.sh fix (which unsets PKG_CONFIG_SYSROOT_DIR) have no "Provides:pkgconfig(foo)" because pkg-config was failing silently. When DNF installs a mix of old sstate packages (no Provides) and new packages (now generating Requires), it fails with: nothing provides pkgconfig(zlib) needed by elfutils-dev nothing provides pkgconfig(x11) needed by libdrm-dev In rpm 6, the correct way to suppress a specific fileattr generator is via its per-generator macro. Set __pkgconfig_requires %{nil} so new packages don't generate Requires that old sstate packages can't satisfy. Provides generation (__pkgconfig_provides) is kept so packages still advertise their pkgconfig modules. OE manages build and runtime deps via DEPENDS/RDEPENDS; auto-generated pkgconfig() Requires from rpmbuild are not needed. This follows the same pattern as the existing __font_provides %{nil}. Signed-off-by: Sumanth Gavini --- meta/classes-global/package_rpm.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes-global/package_rpm.bbclass b/meta/classes-global/package_rpm.bbclass index 51ad195baa..1e016971f5 100644 --- a/meta/classes-global/package_rpm.bbclass +++ b/meta/classes-global/package_rpm.bbclass @@ -599,6 +599,7 @@ python do_package_rpm () { cmd = cmd + " --define 'use_source_date_epoch_as_buildtime 1'" cmd = cmd + " --define '_buildhost reproducible'" cmd = cmd + " --define '__font_provides %{nil}'" + cmd = cmd + " --define '__pkgconfig_requires %{nil}'" cmd = cmd + " --define '_unpackaged_files_terminate_build 0'" cmd = cmd + " --define 'debug_package %{nil}'" cmd = cmd + " --define '_tmppath " + workdir + "'" From patchwork Tue Aug 25 00:45:49 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96218 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 2F820C5DF9C for ; Tue, 25 Aug 2026 00:46:31 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.11730.1787618783946408363 for ; Mon, 24 Aug 2026 17:46:24 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=U6dsnMya; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250812.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67P0jnuk3986794 for ; Tue, 25 Aug 2026 00:46:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=RkSxOyy/AURg8uiuZKDCuyTOlxYRVgYEwhaIDrpa6j8=; b= U6dsnMyaiyhbaGxxMSxbpPrPwosKbUL4ytKCa82ZheE9OCWT10Qi9flpHhklUBwO uI9ISerMu67Ml9DQBP7uC/Ncj40ribNnzRQQNpYZ9vHpaqlohVPF5D6M0SQvqTZZ GeA1Oth+4sDFRBNV7X4iF/S66DK7sUKjp6QZA68y8hnCsc3QrhQ97yiemgYRYYst AtDLsOs23iIM7o3K83LzKaP9tdZb612lbu1J5RsaMtOvTJtlyFhRSY10ppNvgkQ5 g+2OODlMVueEQkHiM+BzRjrtIHowzFX//+elepK+60a2ZeWYUeDxwR2/nIJRi23i dAOXAlPJqltOEjk56Pqu7w== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11020085.outbound.protection.outlook.com [52.101.46.85]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g72r6unmx-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 25 Aug 2026 00:46:22 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HCVf8crUJTf5h6gqKWnvkDJtjJyJ382AAS5eJDx4od2MCh+hLEVBRSiZJvsL5GuvHVXHIrI8UrHP4Pputlqx4qB3xuGifJAx5mgtxTVk1ptQIB7xgyU+NdfUpFH4/RaT4aoBURiGixLDQXPVPOgW5YIjeHKeicgF2kGvLRSmt3vTN7HsD/CHJXBJdeoy8G0j6TpPshkMxxVo/pIBe6/47Gof8BnN2llGQyUgaUHPfOR91poDNPehvH0A5N0+FQQHIkEkeGVv7R9zqVka2o77vlxa+5o6AXYrVXxkth8ILuA9QzKQPoav2zw1ZVzB6ZFAMc55gjf/LlMEK1ZndrWEtA== 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=RkSxOyy/AURg8uiuZKDCuyTOlxYRVgYEwhaIDrpa6j8=; b=hFppp2qNESwF/PiZ9AUNkt7yRVDB32OjtAKhaiq733pmfi9uTPNly1QacgdJqO0rAhCcuZuGrU0PrM+mRrTHswh6vK1x3VPD9mj4rTZ2ekeuZ/CrRUAS5oZLsZiGr7kXOtwFyQo3bkww/zMYlnUpaVXko2aGTl6WE5vuQDcMZJjF9/lmEb2ZbxRgvdpFiRpYoEyhSctmzfus9UwB7CQtFsaUJIbN20P65psyxvENj/+vDxdknZIjUpDzOqqB9sQr/wQhQd+4SxUwdzxD3oPNGB7R/091iZ5JCdM2VplUlDEJQWYPj14wV9jVo5pscDfik1s6ZyVm6uJEpktI2cA59g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by DSSPR11MB9642.namprd11.prod.outlook.com (2603:10b6:8:377::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:20 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:20 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 12/14] lib/oe/package_manager/rpm: Enable DNF filelists to resolve file deps Date: Mon, 24 Aug 2026 17:45:49 -0700 Message-ID: <20260825004555.4111831-13-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|DSSPR11MB9642:EE_ X-MS-Office365-Filtering-Correlation-Id: 20bdf191-0a51-4458-a5b1-08df024247a5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|23010399003|11063799006|10067099003|6133799003|56012099006|18002099003|22082099003|38350700014; X-Microsoft-Antispam-Message-Info: m9MSr7yN0lsEiUsHXH2SXUGxoa4GSR290d5SP2HkdlXKycGTipPL7DRK9ypcpUnVwNZwYGu0FK2tJ6XMmqhWGqaYkeWklNwCEBoHkMycpKWyV+4YEa3Rf+xAK/uNwn48+J39rFqQ0eLk6OwlYB1atq73ty+p9dbbS2K50gnFREJi2hkwauVa/Op9PGc9dwLdoNeHnOAiYxdY9M7AnN8E6Q6QZWc39OKyiLUWUaTlmveJ5jZQj+oYcz0en0yMwaUdJnbMZM+vUXSPzCjeBV7Y5WagWuh3rMlKTJVOKfU4AUIthLJAN8q+PRIZlNctG3wDVHo9SeR1s6X+MQGfImnIeTlu2n6/vqNGjPmXZKs1Np3ukvzS2Rv9X9M/xe2Stz0olzTVkB4688Rl9IDQi1fODGhE1tK/MOxMWVXpszmflUlrD4Db/XZctBEMXMuKpP7ORU4K/e+K8X2owuh68HydJ6hMVROeyNAq4V0OcQqQfRGHW1KH4cUODH3Bvd7zgSFC8Vl4qrHfA0k/pQUjISHdiGPuYFXfHT1eKjGk53ZaIQtjv716H3tUSMlv8I8DqRfAIcp2Zvr++j2lUENlEfTsfI/sfgQQ3sa/HlZxDxgn6el1BwrGmatYlSdTy3nW366TvZnq1thN33j6hIqIuS0sLw3LWqY/FBLn4X1IQGYoWcZ6PEqIJqc6ntVqawMTAf+UHv3NXuslfwU5zSSLVeqXCnXSXcaqIqGj9bkM1WSYlRI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(23010399003)(11063799006)(10067099003)(6133799003)(56012099006)(18002099003)(22082099003)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: EZzP9UtZYESVd6JTDLENcpE7nPab57ZgKN5j1ZPsp9G+mvTWRBgUgUsyJdJtv5xfgAQezOUadWYyPvHfiECNtv0CDqb9xMgFDMwVugBEmvXsRoLlu8eVVTp+ZVCjx5+whIxYjJfihR2nK3+X+r/6i73AsJCpyM44DAB7/i9+sBEcRQ04ocvo7hYUKl18S1RRHJJqtNkb+Bry+WfxeevREhNGKLoJSD/y5PDq6WS4u2GzCbcuZU8ogNt5kqDo1kIEH8pTZY5srp0Pf2o5yhQCKHx0GSJtWFrBv+OL6DlS47QwqSifFuF7orf2+7cFNQSzPE7NeoRZrMiJSg/yJDJrbJRw/x1E/W7V1mnWwO927mHpVlntABgB3go39dYQ+qIXnq/7Br5VHROZhznBaMhN47dbKaHDxBuXFOEwXbsMXo1eg7pqXOKwRASLw3YTI7ivFsYF7ehk3b991BRynDbSNWvKFOxOmaRmfzoaPnFjXBRh20yZnW3FYAEjQwmhmi1g8vByE4ZI97xNY381BZ2Wwy1yr1+JQzI7syoy8jZWL8L4a0pI9VxCvLN905+Z+OUXQpffKJmvCQRnkPKTPaWmdiPt3J7vFupVN2NSNtYBlbW6IEAo8vPT4X0t7J4N7ZDunesXwOmGRyoQOVe4nhUT6CBqYe370jpbgnJS7B5+XSlKdfoWsmAGwk7A2OwXD4HBpji2U9RbE+YPH9MmUjcbXO4/Xb14v6ttoPNHLaUZX7QQwBdDIAbxoeK+HBMPHgb1q21Mp64yBwmuOjYfMDFX62VQ/JvS6iB6ospEXTZ5LkfRMLAtIpt2jicbckRxgAX4Ki0zcEbF9svC9OJNZUCnYYUM8y/VZzBaHR+qfFht7qawgNTeZiOYMZm5uXS1L+flmT2jq4Owjo0bHo33b625hmOGTzppxnD1c8WVwJiuBpIyZBd9DcoXMJx+Tu6sEdmu+90z1Zum8nua3TVwgy1ufv0FI3R/o1TRk4I1RBnWU4AuBw0wqsEhaTcHTR3Oa3sBP/a0lKS2cS2ewY+3w26knlfQtCr9ucExSILproXW/9QSZlAvZfnDtioztvFGN2GY6o0c+P7TVGAN1ZmLrg/JkKszNw43YgLCY83DN8sng6qOhSqO+IcJVZgxkzPvhEEwhKltMyqPN1LnahQVIx6eQazG1uJaNoa4rTZvd2NDGl//sVp02Jx4Jamzu3dYf5s3XVy7mSXkTH5+wym5sM/k6c58zRjLVmQgzsMDQ0VjmY25KPZSqoTfqI4vPPwwvMNxSBCGJF0FDx2hLiecJ9oY4Wnopdm/cAdd/2jPHmThmLaAHcD0IxfmSmfUzCvmnuWH5/2zMTV9hZ8WRFUCVdsWI5Cbyh86juNBOgDQ7Yr5Uy7tL4jGuQLPf7mZAezXtEfl+0qsttC2ZRJ7pEeBA7bsMSTtm98JSNLDfj903Y/csdD/wK5XdhK3QogIWp1TsQ/tG3IEuDFinoEfaIu7LgpaIM0XSCKV22b0mtj3FNFnYsg8xLB6guYWj/sDx/R7WLFn8hSyz0IY6fFC+g4m68x7PTSzZwk7mh27PqLMHEltSP80Ervxr/pK3Yn3emN8z4yQBIGrT3oDBnd4lwBM7PbqjKBkMjhfLkNcvdkkotuOEJ0HbJOo0gvxAEClooNAVWbF3Lbbfr/nc+Swfxstm9bjMEFT82KxBBasgRUb7r81Idhv3wrdq3vu86N12nMKDlRPgy9WcKfjTV6gzrj3Ybx4lK9oaDRFdXOYgxXSZhFFZJ8= X-Exchange-RoutingPolicyChecked: g/ZqrQmQNCuDawoBIzGq0XyitLA1stN0uMpSd57fAQctdLzERcStytqCj/JRkRrvlpyPbrw0X15w8dZve90g5YFiNVkVDqCnt2fJ4aoYdPH4uCc99qRnZ+OTlvwKaQZL5B1lM/QgnJroOdFum7R3rVKY3oKIcdmgLhuCAYCsNkh8b71+YRx/LYOZSVCloHp3DkIXCVObpWmXZlkR2XaaCv4tfQFrBirb7U6b/aXBkCxkFdQlM9s/kLOL7xzynxHyf77MizxoGoBgonTomOXztPwIA5GSsbn3xKj2kzZLJpkHLgbgfE5mJVccUm3reOY4jOFfULuJJ70IvV2YVVVnvA== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 20bdf191-0a51-4458-a5b1-08df024247a5 X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:20.5276 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ST4jzzPkMTEkhmTzWSKGTgygXVxn/myKIYg4nNP9ZbBB7q3fZF5uAdYZTxdi4ceml/MfxPfu55ZwCbtPCMr7n9kfEUi7JrA22NOsE8iERoM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSSPR11MB9642 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfXxW5IMO9caS8m 9S/3PHLanWwi3D2QUO4rxHQt1zirA0nJPoCfB2gvzBCn7yf2YkKvKy8XdWuXILZHy0E02/sCF27 NokTHy0PWyAEyfE7+imSSOJ3exRG9AgcydGyfP+v7scqrroFI9Cu X-Proofpoint-ORIG-GUID: hh13he1F8xExasvtwi160EAsJWk9KEJ7 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX4ou/hhb3d6Qa 9CUhrz5+qHGByYCOTtwA+n0QCJC5hJbTOiBphwrzJBZckt8ul0Twzqoj1EMs5OPDbykImP9XTXC 1XgiZvtDdvTbCvLoMRxynjwU6d0z4DNm4xFOZ7+M7iY4XeKt8D6/eFfQa8pqTKlC/QppgygQIzx HitRTwBXqM7U47yuKAZglq56+MThiCT9D2y9iYKsWa+L0gWOhEagCN2mP9pIXEL87VoX/yGyf7G EXr/MA2xHiDfdNOWISTwoI2vWQ8SEFCLfAsI4UJf7EHaGJ3InVa+zQ/es8p747owAxKdv+ykNuC zXz+W0FpVLFZxZ5U36n0IpRdgvQlug+z0FLDErgrXo3NtCYqcspDLGU6HxgagVx9VgVLDx9KUcy 5OOuo7SkXPFlwI5uBcjsTFTqF9ZAg/GHpXiFQnBYqWNv2bV6dAFYt9IXLwup+F0kPOL67xyXZPk Qolhb4rNOU8PCZlBawg== X-Proofpoint-GUID: WP117VW_AmIOHPgSxHri3xlUT27ub662 X-Authority-Analysis: v=2.4 cv=RLiD2Yi+ c=1 sm=1 tr=0 ts=6a8ce5de cx=c_pps a=NH0nRcagBPXjbvxaFUBjlA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=fTW__CHxibyLmBMfj2wP:22 a=t7CeM3EgAAAA:8 a=p0aGjYm6jqd3QCOFG8EA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 adultscore=0 bulkscore=0 malwarescore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:31 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244169 With rpm 6's internal dependency generator now active in OE builds, pkgconfigdeps.sh --requires always emits "Requires: /usr/bin/pkg-config" for any package that ships .pc files. This line is emitted before pkg-config is even called, so packages built during the early rpm 6 migration (before the PKG_CONFIG_SYSROOT_DIR fix) carry this requirement even though they have no pkgconfig() Provides. DNF only reads primary.xml by default, which holds explicit Provides declarations. pkgconf now has RPROVIDES += "/usr/bin/pkg-config", but pkgconf packages fetched from the hash-equivalence sstate server were built before that change and have no explicit Provides in primary.xml. createrepo_c already generates filelists.xml by default. Enabling optional_metadata_types=filelists tells DNF to also load it, so DNF can match "Requires: /usr/bin/pkg-config" against pkgconf's actual installed file list regardless of when pkgconf was built. This covers the sstate transition period without requiring a full rebuild of pkgconf. Signed-off-by: Sumanth Gavini --- meta/lib/oe/package_manager/rpm/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/lib/oe/package_manager/rpm/__init__.py b/meta/lib/oe/package_manager/rpm/__init__.py index 1d831745ff..cd6efe3d3b 100644 --- a/meta/lib/oe/package_manager/rpm/__init__.py +++ b/meta/lib/oe/package_manager/rpm/__init__.py @@ -318,7 +318,8 @@ class RpmPM(PackageManager): "-c", oe.path.join(self.target_rootfs, "etc/dnf/dnf.conf"), "--setopt=reposdir=%s" %(oe.path.join(self.target_rootfs, "etc/yum.repos.d")), "--installroot=%s" % (self.target_rootfs), - "--setopt=logdir=%s" % (self.d.getVar('T')) + "--setopt=logdir=%s" % (self.d.getVar('T')), + "--setopt=optional_metadata_types=filelists", ] if hasattr(self, "rpm_repo_dir"): standard_dnf_args.append("--repofrompath=oe-repo,%s" % (self.rpm_repo_dir)) From patchwork Tue Aug 25 00:45:50 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96215 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 23E33C61CE2 for ; Tue, 25 Aug 2026 00:46:31 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.11731.1787618784348930181 for ; Mon, 24 Aug 2026 17:46:24 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=DcCqsXaj; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250812.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67ONLqZi3842598 for ; Tue, 25 Aug 2026 00:46:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=62IHnpQNRbx2sB4LCjcUhQw3CCtY6UzT63yjHpoCrD4=; b= DcCqsXajwcgCJBlf9GiNwTul2iej2LfGtlPqkiDJzRQkX5eRTX2WNhLjMo5a54BQ yZthPbklzENO07SWUrTimwFBDmVPDHuvnP3JPVKJkCnQAlc+6YNfhDnP3XiLbEje YfRV3GDAyBttqxGSE+MGIcBMc1Z/qJyRqiURfNQqrJNlGXK5/ciW2Jf7VZHMKYK3 d5id3krrA9USpxHV8yXJy66s53hdMAzMjbLsO2LdZHYOkv7nt1Y3Yt/SOp/QozOX J7l5FB9s8B9UND4YzxLqAg+On5XVdjpeT5vmUiW9FkWDnAqCc/8nQFXJWVrsi80B 8hmtbzRWJfstBxOQjCSUkA== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11020085.outbound.protection.outlook.com [52.101.46.85]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g72r6unmx-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 25 Aug 2026 00:46:22 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KnTOmohvkHJfiAVp8Mrf3D7n64A/OuTnkcx65+EbYrg9gHilc6zHj4yvka4jRORcb9E4e1/4GoUed+naOoujhYIBTCpC3SyfA7V0XLvru1xuXQuNhxYyQfFD4KIW+xbZiZKpkJcgqj5MZLwpZ5Gk+2hdaw/Zn9Lp09iihOwkMj/YX1Yg3+7zetDc6UjYJtwSbWppWHyK5kEQti7ycTJc7CvS3F7VI94JX577Lm1sePWmLBiDPBUKjwFNhZLhVfIXxIvsaRRCn/NtW5Q9yQ7XRJY4tQrOBhsUx1xLHhw3PRAQTN1s1GhwRqE+LfNDUAMHJwhngVKeyTMQpe5fA3P/8w== 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=62IHnpQNRbx2sB4LCjcUhQw3CCtY6UzT63yjHpoCrD4=; b=FU7NEcRO0FUnG9RnkHxSKoCorkGCc57TlCkpB1+7z3Dde7fyT5y5m1X6pMaJyyh2KgU3dxgbGdOBixaisaNT1JnmZQEbXdP35ebnVJtbngFwGS5FxcjVYHqbHS0cmeRS0OTG3RLTXffko+bcYMPDEF4vwjTLa0+YRTeg/zzKyc+OCJvCMtOWhypqFn1DDawhc1Ia/bnMqqUx6Rx7W+hNOlpVkVm399GT5RvJd361sBtDfEj9Uo1FBaTxqry1FvFwQzIJ9OBvjSZGVP9wwPbKVL0Eg39oUzsNdUB/ZbuCpkUnr4CbDb8rqtR3JAdWiK+G9Yw7CvBTeEaRb5KVFnXgrg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by DSSPR11MB9642.namprd11.prod.outlook.com (2603:10b6:8:377::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:21 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:21 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 13/14] package_rpm.bbclass: suppress RPM 6 fileattr dependency generators Date: Mon, 24 Aug 2026 17:45:50 -0700 Message-ID: <20260825004555.4111831-14-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|DSSPR11MB9642:EE_ X-MS-Office365-Filtering-Correlation-Id: 290d2ff4-b26c-4d76-18c9-08df02424841 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|23010399003|11063799006|10067099003|56012099006|18002099003|22082099003|38350700014; X-Microsoft-Antispam-Message-Info: ENjHa+LdKf1s/sEyqXUJqhd4HhaTYBIx55rrjvKgWDcBDOa6E0Vw7523tHptJojVqYqdjLlxMPKHEAA9vtukYzA8F7N4GsduhHY8jD/t3wIfE+XYy5lQiZdazvamX8Ycfz2FY6xKxFu9Qk+v72MrXaUGpOqP7PP0ovGCh3HPyNO3FT6YuXdxcWiMrZXPbzrkK5getCppj57Vz1pIuUqGWmxbc50xgCLv8I6CLjZAoS0i0pAju4eUWMl4jyeJz38haEG8r4AYpvFrAIpMZkX5YAgpFADgUVcMRsfnP7OlcmtXkHcSRNDqQhJdio/PCthE42CDbcF57RPWbjQg9Dc2sPjfLR+M8BGHUQ03lOW4t4O4Hk2YzNP4uJ6Z9o6IBgScyPNI9ODsO0XEs+kzE8lD57Q4138HW//xVf/XBJVdsP/tum0DLkwu3UaKW2SS+LOWy33D7peFOoZ0G/Gza3YjJ6GMj1Zo3jBD6QuYMqENtoAKPPz8TPElUfc9Su08MgdmDAm6RcKvp3vPc9OnmDe/VcmuB8aOsmF1Uhl/xEOX6moaOCs8X/3QY6y2HbY21zmLAsm1DQhtKnnRjP4R6NoCi/EOp1owWalY+DFQb9DQ8qq9ZUuleNBZXCBjTSl0Bi1L5bI7lXAExF3ba88FNyP8hHig7GqZspfk2wERqstFr/JRF4I314nXlzF64T30Xw9Je9PcWcm/lF6upYrxSvYj8H+3xcRsaFhiD9yHmlHarqM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(23010399003)(11063799006)(10067099003)(56012099006)(18002099003)(22082099003)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: F32rE2H/5nJ6p6VLNdwUbEMHrTwyApqQLDqZOH/e5qkYnOJxXPMcasJeKG4aymA/+r2O2nX3ou82mGXbplveAbV3hDsX/Obp2hRIscFiV31Tu9OtaQV6aefB0hXtFVwU7P5agrT1uOtkzBcU1fzeQftULne0MtyiQ1SeEw//ULXvCBOYDdypWEgTuCXHvdyY5mcKaESmfEbD6cYGL3kpTrlii1zW26m+BxEaHockDIj6ZsAoyqA5VJr/Or1MOiLe5iZwYCeMCsEbBsXWwTzT3HdZLiKzHvWLErP05thLR2OF8wbejFrGhYOM0BwyOSM9uir6Tx3wTGyGGcHwqAzLG8TUUHg5XdDF980veV5Jxugqx1OJ/Pfs1AbB1FAGqd/vWXtCg4C28i/30L2Rg19tAWoE13fv3WYT0v4S3a1dYNFhrExvghfyuHycFGTzKnDcLeMiBJPZQSsmVrBAOcW5uqLv6Yoak/uUxFpEeKqycyJ/DpaSZPgQRJxkGxpVWmj3PpCQVoybFK4yeMyOIO6I5HgWC8JU1ovxb7/cbUNUnNtDXJTMAt6/27HAyE36PyBLFBLzW8sSPGridcrXbxxo/fH8kvFmInTnmrWqdyO+Fn+RcNOgZVA9Bz4rn9vHBcmc8b1CVNvuluqVRoSr6Q2vnm1OIRM6ONqeIzAVIQRWu49LccRcu/t91fT6kWswlXwuvFKbVMZpjRLa0mWMpabBSHCLnTOb+ErPr4Ubv/wKvJj2V59fnvWFm0NQRCj0deIMtG4B1rcAq+OOLz/QQdJl0lW5ViWytwciRtP3GhTNkp0esHwT301v2rNcL3dH75euxaWrYVOB/jAkKvII7noxDhoT/1zlctAGbuUBU/tQWX7Hban4FjkZqILP3Lvg/DOR9lmCSDXhLhorzn8pb1yuZkcDFfEJYvVQYWPz2t1Va8x0/hGca5oYXGxMtQylH6ATFIHK3jiBvFaUt/adL2EgxcC8W5oN4KzDXoJsq+WSpEXTRP6FcwzC5OALyQOCOMBZeIcntRYGdcarhP/BWJVvHT2elI8eKLJB0woPrHYbjfYtaAalFobrDk2qMzApKzbeKoLWY4olrhiHd+/XbgcnwoknBWN4p4Y2nJlqYDSsghUs916BmSN08PAoFpjp6Lg2YokI2xjDBDKWRT+kXMUhSU11eiN7lP809hWAAXF94KKjyNYQakzxbodccsUfqpIfEDtJ7R7jQx30bQ9vvX9nrAIzB7vyVqsVIaUQ+VuI0jPeSlEiMdpMgencLCbFVYEucFb+NA3in2UHl04IV2yPeATZk7TtuLYNgBksy9rfkFdvlTeIJY11GHaxmLuY3Bsi+S3A7tbOuFjHiz6hhx0SxSbhiHnP6jfJC5e9/a1ckYNICjd5cFW5oADtmtHKjLmHmojq0HHmlGNhMLPU3icfVHEV3sAPUozeaTWhBDoyzjBmtq/L2/3RbyIUHRzrwfyxJI14EU337HziR2Nl1abiE35e+7KJ2CVO49Nq3GP1thF+Q/+iSWC1YU6LupNxuNpVIF8h8LF4WKWQgaFCbhVfQTRZwHekKfqEHZkiLM+j6pJThW+8wzF49c1KhqG4MFbaB39LM+DINLPTHIz6bonoWpuRo4WoarGE4tOsQdIN6GfHzBBgzuYibyWJiuvUe62KZmu375cecKTeSB3+wlcDMEW+RA/3y4K45lBfgW7J7KEKu7sYG3qVpM/up+f9vIsxQS5j58QvjZEGLAHN0QHDVRP5gqNiuJZ0ZQ0mVXq6bc4= X-Exchange-RoutingPolicyChecked: aZgYDrRDl7hZiSKp/g961lSC6j/kohsaZJlVOWDck2Q8Yl7NENRixB87C/FfmD2tTT6ZZAL2Z2iDYgzOROANyJBwS9ybg/ClAJB936saUnVP+kPASiT6IK5jsIsXryH3XHxpYZhbCmdkA5wAMm4Knrqfl//dXNMBqFS4QzctmosVQgMr+P7Ef/S842mJc/ttUqw7f8+5TT1SDe+q4ZMui8v4akVwuCdT+d60lC1vyT707budrNLkLS71OxzaV2GMWgAN/mUTUL739JxtVBWK13oBc1DSDSN/7OBfL/DbHrnbp/g2r0dOR0NZO83Vp+fnGtofHvPxpzckRtUuxX1Rnw== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 290d2ff4-b26c-4d76-18c9-08df02424841 X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:21.4363 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UEZpe64PqRcCegQ4NpDYy7G01JCe9apRM0/T0yZHMJzr5GjrjeuCJEb7djYDpXv1ie+21J6kIjgtTjJl/FJOw0z5hlTgG1JPQDb+VtYoV+4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSSPR11MB9642 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfXyYkhmBW/NNpT z6n/TfBCMwPdtHmry/k0e9OUsUwgFhgX0QL+BHkKQE0+4FjVt6/4tZs6xrvUcGR6pzCSwDzJnY1 jO1R5Lpx+zIk+1aB1wT7x/+a8TCaZ5uJIpAKw73NbrzYs9d2AX3t X-Proofpoint-ORIG-GUID: qWNw0Axk7jbjzrH8xJwA8ZAyDOtjSe4Q X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX9VkRk/babwHT LN+O5PHFMN+auz1UuQDSldz1DHiWDKu5unlkZ1QEhNi83QZPY3nj2ikmAqVAuMfuSSpVigmfy55 a32C/tFGOQ/A7BVt7jBYDFoKJ3C4ojq2Asg8MrLliham1ryrJxCKr+nEzGR/hTMwGkRZTlUeO+i IcqcItNNkaDi814sIFQDoZR96FsjFlf2Cnt0T6qHupSc20NnA10KU0uWuHwtOixAWwbhV648EzH DCwYprjioinxOoWWcSC3nvKu/a31mkf4fQn/lq1PUu0DPGHPYU9/Iv+e66M+xjXXNmRH8v+J2rA AoIFnxoKZ777Eu5cwRY9dWp3O3tb7H2zqc85EhDgUKsEG3fKsSiH+6T1wXAGfHwzhXewcJFtcGk tED8czgLi2AczbryGwB/rmDK6HIklIWOKYwq0hTZNmCUquNqQVkD0yF2kURv9EuzZYTPU3sGnjk DrikUDHvkTe2j9xF7Rw== X-Proofpoint-GUID: 5JL2DSQq-3UFDRNemZP3SPwRVrsJ76LL X-Authority-Analysis: v=2.4 cv=RLiD2Yi+ c=1 sm=1 tr=0 ts=6a8ce5df cx=c_pps a=NH0nRcagBPXjbvxaFUBjlA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=fTW__CHxibyLmBMfj2wP:22 a=t7CeM3EgAAAA:8 a=bFbyjWf9jMRZ4lLZV1MA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 adultscore=0 bulkscore=0 malwarescore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:31 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244170 RPM 6 replaced the monolithic __find_requires/__find_provides scripts (RPM 4) with per-filetype fileattr dependency generators. Each file type now has its own macro pair: __elf_requires / __elf_provides (ELF binaries) __script_requires (shell scripts) __pkgconfig_provides (pkg-config .pc files) __desktop_provides (freedesktop .desktop files) __debuginfo_provides (debuginfo packages) __metainfo_provides (AppStream metainfo) __ocaml_requires / __ocaml_provides (OCaml modules) __rpm_lua_provides (Lua RPM macros) __rpm_macro_provides (RPM macro files) __usergroup_provides (user/group entries) None of these are appropriate for cross-compiled embedded packages: - ELF deps are target-arch specific and would resolve against wrong sysroot libraries - pkg-config, OCaml, Lua and macro provides are host tooling concepts not applicable in an embedded rootfs - OE already handles its own dependency tracking via perfiledeps scripts Suppress all of them with %{nil} to restore the RPM 4 behaviour where OE's perfiledeps scripts have full control over what gets generated. Signed-off-by: Sumanth Gavini --- meta/classes-global/package_rpm.bbclass | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/meta/classes-global/package_rpm.bbclass b/meta/classes-global/package_rpm.bbclass index 1e016971f5..71d5c5dee3 100644 --- a/meta/classes-global/package_rpm.bbclass +++ b/meta/classes-global/package_rpm.bbclass @@ -600,6 +600,18 @@ python do_package_rpm () { cmd = cmd + " --define '_buildhost reproducible'" cmd = cmd + " --define '__font_provides %{nil}'" cmd = cmd + " --define '__pkgconfig_requires %{nil}'" + cmd = cmd + " --define '__elf_requires %{nil}'" + cmd = cmd + " --define '__elf_provides %{nil}'" + cmd = cmd + " --define '__script_requires %{nil}'" + cmd = cmd + " --define '__pkgconfig_provides %{nil}'" + cmd = cmd + " --define '__desktop_provides %{nil}'" + cmd = cmd + " --define '__debuginfo_provides %{nil}'" + cmd = cmd + " --define '__metainfo_provides %{nil}'" + cmd = cmd + " --define '__ocaml_requires %{nil}'" + cmd = cmd + " --define '__ocaml_provides %{nil}'" + cmd = cmd + " --define '__rpm_lua_provides %{nil}'" + cmd = cmd + " --define '__rpm_macro_provides %{nil}'" + cmd = cmd + " --define '__usergroup_provides %{nil}'" cmd = cmd + " --define '_unpackaged_files_terminate_build 0'" cmd = cmd + " --define 'debug_package %{nil}'" cmd = cmd + " --define '_tmppath " + workdir + "'" From patchwork Tue Aug 25 00:45:51 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sumanth Gavini X-Patchwork-Id: 96216 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 121C7C5DF81 for ; Tue, 25 Aug 2026 00:46:31 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.11733.1787618786492801895 for ; Mon, 24 Aug 2026 17:46:26 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@windriver.com header.s=PPS06212021 header.b=sjxkxQA/; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=2697b458cb=sumanth.gavini@windriver.com) Received: from pps.filterd (m0250812.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67P0kN2U3988430 for ; Tue, 25 Aug 2026 00:46:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=cc:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= PPS06212021; bh=jSNM4cQDn4e8mUDDrodBcncIET0x27smzf9S6GO48Lk=; b= sjxkxQA/A2rfUg2Gzozxor+pn3pn5sguyOFd7a0Pruuw7jf8lf0jvcjwubwNfEaD rDlRywAkQhxc4ORWsNiPR+ZqKNmtmYi9GLNeC8ZsxBJGsiYV9nu5cmat3PDp8gOp UajoEU4gOnaOGLZ49eRoY5plFmuFX8SL2OhmI+2jPABVDcxF/qX9NCS+aj1Lv5Oy d5ZtDRT/pN3sC0tHAPS8rFSv5QHZZ5fHtK5WTPZz6vk2dgVKWU7IpZiycFJjX+UJ Hoa5UiSCJMTFxqw3A8JfuDzJmYZY4qfIAU+OE8DDL2pXhISM6nJlFHoCRMLZ0Hb2 Lc4LQHG3c49usvKfeB9s8Q== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11020090.outbound.protection.outlook.com [52.101.46.90]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4g72r6unnv-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 25 Aug 2026 00:46:24 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Od4DSjQQ3JPTU1ynHVFIQ4Hprm1P8OYLW1vP8v/17vbnJlYDalN4FplbgTJKdgTyM+JV1ytANeWRi/GyorU41aOaj/009OP8bz7mtnoFZnAj1JZOfyckFHN1+aEy2d2CPGH+SYvUbinvADPqbsqWIpsoHF1lVIdm/AGnU+g01csPsTcXrc3kZpql4ACX3aVgxhc/vKEJhJP0JAo33+VuE7kB3d7DvsoNxz1KT9ODD8YZMijjxrB6Ecw3neKrnvK6WRSWjkMjR920IkIRO/bEpXjFbma1GoshxsKuXd+ft3RAuARpvV8Q928grSf8HxpKkwtxMIRv10+93LbMYEA8PQ== 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=jSNM4cQDn4e8mUDDrodBcncIET0x27smzf9S6GO48Lk=; b=AUKVf9uHsoBSlu78+uJZE8rnjwsYjHoAQFKKoGvjhlwx67mwuyBg4e/k+TlF50QafbKCOaxRLNS+adRYG2qguSp1kefSFnL84rZPoFiT4nafkwAMlDtxVedT6WY0DM5UwYGEJyohiqyxCOUg2F2N7rI1Tf5vI5XKMgiJNNIFBJvxC4c2h4T3ATD17Lq2AnQPGzt4vN2KsB7iAgFSQmvs4eEo1f91P6sFAsE6JhoYim5r6v2p0dVx18dCptanhXwV0XOVq3aInl9/vZGYQbYgRa1MA/SXZ+M7hW6Q9xqgtRPyvprWB1NFUK6l+tTCZ9KsDWrQczDK65VGUvsNdMCkDw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) by DSSPR11MB9642.namprd11.prod.outlook.com (2603:10b6:8:377::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.12; Tue, 25 Aug 2026 00:46:22 +0000 Received: from IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23]) by IA3PR11MB9256.namprd11.prod.outlook.com ([fe80::8355:9462:c4fe:5a23%4]) with mapi id 15.21.0339.012; Tue, 25 Aug 2026 00:46:22 +0000 From: Sumanth Gavini To: openembedded-core@lists.openembedded.org Cc: alex.kanavin@gmail.com, mathieu.dubois-briand@bootlin.com, mattware@cisco.com, esparlin@cisco.com, peter.marko@siemens.com, randy.macleod@windriver.com Subject: [PATCH v16 14/14] lib/oe/package_manager/rpm: handle RPM 6 non-zero exit Date: Mon, 24 Aug 2026 17:45:51 -0700 Message-ID: <20260825004555.4111831-15-sumanth.gavini@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260825004555.4111831-1-sumanth.gavini@windriver.com> References: <20260825004555.4111831-1-sumanth.gavini@windriver.com> X-ClientProxiedBy: SJ0PR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:33b::32) To IA3PR11MB9256.namprd11.prod.outlook.com (2603:10b6:208:57f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA3PR11MB9256:EE_|DSSPR11MB9642:EE_ X-MS-Office365-Filtering-Correlation-Id: f4dba8d8-f8f3-476c-7c3a-08df024248d7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|52116014|366016|23010399003|5023799004|11063799006|10067099003|6133799003|56012099006|18002099003|22082099003|3023799007|38350700014; X-Microsoft-Antispam-Message-Info: 9zPmug/qoYVkLYDvfFm3K6T8i7XpkcaPMTppSW6YBFKC/Tewp5/S6fTR1jj3IR0Oywn7ieBMxxCokV5sZn1P6gkOwQWgstwJA8v7CzVXHPBPBvKxsehllqFVBteuXrpiNKDDOpvPctrH27J+/53D8+BeETtZfKdeETkvv7rDU2t2mN8QeSTFkD3E6KmzjOqUmzy8pU4Uj8IdHpgs6SJemf8G18tbB2M7Hq90X5+jZ2DNbMW3HXujEStNbYOUjApQNn7dVG91yTk6eclCeSrSTUT+8YVqIvzN7DmO8gI42qEluj+ZLzi8/qofxryyZ4KUC4VaOV7FecynV0971cgVaV8cYoC5Lxcg+bbebpv7Of7Z9ffWlnhOcpSbwVugGEKnvZWVjB+YggBDPCMvMsEGp0jbqJDcKN/3xfTB8gmdjZUdoKeKXsZGbPGbxSou2qorxkRDZ6uf+W4DZqhwZn9Rur0wqEArGMQQ7LuvCJxhkcIlVXBQTc7nQyOU1ynuQ5fsXiuqEgJFv4AdXAblvwDIW2IJ/WY9vadiVIKxi2JLhH1FZjv5WaPnecx5HnsFfsFoHQOdJUnkwC1zPsGfQOV3rAJDj98sb5Pm8ifoPZ96q/F90ueqF9fqTN2+nRmyXb4Odk983rgk53KE/R1QWBQvT+wTZ5MFy5+pz2eS3n+sojrDUFxr8IPU/He+4jmadeIg+Uvxbq5rIs2Ji/WF5ZULx/y4hox+nuRqDYDHEP9mcZ8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA3PR11MB9256.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(52116014)(366016)(23010399003)(5023799004)(11063799006)(10067099003)(6133799003)(56012099006)(18002099003)(22082099003)(3023799007)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?rRtqKQYPM5Vxb85gQSHuiOIn3sZ8?= =?utf-8?q?jjzdrgwrxU4ZKPdhXCkJA6l8+6RydPuohuosWNjdLNLT+tTuqwaxbReeHTCox2vRi?= =?utf-8?q?9AYxO3JKInNg/9y1lB1lcuJlF7D/2ljfdkdel4ykRKeewtOYsBPpxjuDLPr4YMlqb?= =?utf-8?q?DlpNzmvSGazFulZeKx/C2Lr0SkewgNQrrpLV40gF4sr1NcQ2vQfcqueb5FyLwupUS?= =?utf-8?q?dYEK8I5ct5vAakFyufKD00yiJMeRpVk7ZTSygfvSJVLLXNMIXahL4epw+UY7hEeAk?= =?utf-8?q?jW9H2UdLCBlZnyLGkSEcQrdqxhJaJKj3CzYJ3KbWwNx7v/oJS8u40F3vas8leBbo/?= =?utf-8?q?26qnm3CqyfTZAdcxPQiRWy6Jhf1kZ2QpDtA6ZOAGxRaetahtI2mpKMoIlZ0DeCMTb?= =?utf-8?q?vSAmyFfoYXi4jpJUvTZuNuwkFGAuHsfCeQwVzChd/4Mmgtvg6d5ihuvcf6c9rorZQ?= =?utf-8?q?iikfcnFuqkLtUgp+SLig3SApul/vNSk6rhT08XkB3pHaDgTuYb19l00EVr2Gh7smy?= =?utf-8?q?Bpc6vMaU6bG/gOztuAOVkzMd/sVhoDlEMwTO9W6YhL0wKlAWmnh72Pl72AGv8UvLF?= =?utf-8?q?6eQJJk8rMOImoJ4QwDkeAn558cn2xOPAzzahXV1K1wPkJVpOvxvOcMzQYijBYsfFk?= =?utf-8?q?SxXQ+/vCqGJStP7JXykwNzJo8V3xUPvMqkNd5bp2MMuzqhwE5xNQ6a8iQIWNXbgOi?= =?utf-8?q?ukYgWUkzsxvdP+voepYgvAhYB0yG6oqxjTFksanVRvInuU3m8pW/J3zq7tAoXjWOE?= =?utf-8?q?12T9blnZ57XoMcHNYFEPAVGVFp3uWBKdOhAjYQPSdQVNOZX8p8hPFnAP6jYf9KZAS?= =?utf-8?q?23VaxzGYs5IwT567V5LEm0G1QTmY2aSuMa8A2mrPXZzSHkj3Ge8TTZF8ARTzUSWL6?= =?utf-8?q?hHUgYmVLn6BJX04vY9wdhqo102zPYFk9umaiDfaqKTr2DnLQlI2lxGzmku8VDya02?= =?utf-8?q?PqI2e6UBVwExDFVoR6BYZ7IcRiZI5oPRxmT/de20Sc3e1cPfH2UxEjI9hclQU3K6c?= =?utf-8?q?uzodF0IVo76G1oU1Xdw++M8xBG/MULooB31ArbzL/InQGkc+hycVRZvLUPJO+sECo?= =?utf-8?q?CT+x3mPt1mIGglq0a/1vE0pzelnZtPjcnJIoj9s8YPs0RYROSsj8mhH6bTvLlzFUu?= =?utf-8?q?nq0WdCk52aT/Q2QwOWEs6GQPV2F8Uj7KLNoTzMD4rfK2TnYPRQrjVTlHdUsnoPuP9?= =?utf-8?q?bQgrnc5z6EodBGo50X27U5bsrbnn2WNv63pKndRDBaQoDvP42bJagREpGbLJB4lI/?= =?utf-8?q?KZuyFXHSxChQpB4AEwhOnLrtGByxORp7FBFz4wf4E5BvIZoQu8WZWpzEiCgKyMxQA?= =?utf-8?q?xg4ArTjpWrTeADIgAdIjRaD1mWvFA/OE54QlrzNMzyga+0tgouCFbdrvNR2XmuF7P?= =?utf-8?q?UQDE3pnYAUIVvrrt8YRNyD+bax19y40lJN+Exekhxrx9TwYCvygE/ucMzyIrAvju5?= =?utf-8?q?YYFknh3kv/DjAj6OMT1l1JiHqAwKE4ephDas/d0Y8phpIr/LLIGdOgyuBXRLwt3Ho?= =?utf-8?q?7xYdIyKs0xtTDyATnGy4k2m/0tUAIQjT4/1F/0Wwgl37IO69HtYYmIRBL3f+1bdP0?= =?utf-8?q?BV0Araw+Lt8hI3QRihPgkdq83zci/2IukfWER554XFR+MOU0vqFvpJAoMlgWE0LT+?= =?utf-8?q?spMmDawAs5q/S/PFT7THivjIs+bwcQ8gXliSEPZ7D+th7wdDGagnE=3D?= X-Exchange-RoutingPolicyChecked: UMR5uCCRQ2jwoBTM1fIEgpWCIZBtfT1FPnhOyhvK3LNzFtt+e6eKWLF4gwOjKqoTOS2oImMZhTqNaw1GbVY0idsQjovcgUasOzEJoMUDv+mmE3V8MAwh2GowX7CGifq/ZOgQ0N+ymQ/4/9ZGDn0CbTriYyUfnyjgRzcLTnWv6cpuVnzgBKGwyr6yx/C2j1YdxGV5vmP/yokoRIrI1kd8aXaBBN1+vjomNXQwF9cew6QlIX6aUpGaVs5j0n8pVvt0bhxEzVqE17AoMRJS9m9q0mvdA3vqRL92iW1Zq2ln/uZa2QW/tCRRTAEgoaovfSkjZ43YVhgKvb2J87rsDhuozA== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4dba8d8-f8f3-476c-7c3a-08df024248d7 X-MS-Exchange-CrossTenant-AuthSource: IA3PR11MB9256.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2026 00:46:22.4946 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4Z73kJiCKHvsx0l91dXHnYCxRO6LG1GluelUcwVquScrsYWFbQbOrG3v1+lkFcIEW0n7sSXDYCQfvymLOart8w0TBbxc9znC7SB84PGxdNk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSSPR11MB9642 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX7Ym2YkB6+c2C w5lKjYjWIvuaafwPCqhq3n0cxO60YGVSn0oaXMhQbxjSnok8Z/IUJQAT/7on35Mjz9DZLDGU3Vf 3quoCzk8ioizxQwpl25BvYOQh55Jfq6FcWY5QRf20xRCCPFn7vtR X-Proofpoint-ORIG-GUID: lZ86MtfwMeZxnxbJ9G0s12B-hbWIy7Ku X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI1MDAwMyBTYWx0ZWRfX8RU+oL9PcIQP pnCs68oVOMAxYj/LniS+uWoDS63xjEifcRDeTns3BDHuOiP18zd5p5pqBtIVsLr6u5lKAveN3/a drBmX8ewTJ7qTCqleLiH3I8haymVj/L6j6pMmQhcTGHwsWvaQ6uN1g2mSDDSuIHwZusu3128GRX z54SZCHUM3Z/oAlshpd3VgT0WQSb9xHmLjiLTWOEgoYMxAFa+e5/aNrx8rQ3gt5O8fGnAWufsh/ 6J6FfTGa+YUDqYnjPOAwd3gIthoBBGq86oo+UwLS163W4+V1Svh2/3AtZ4/y9kZgwkseKdJKr/S UQnWC1iGyeAgt6OxwDSeSBQRuvpKba6Ekvkx+yseeKwCAAZ4TeZbMcWqAx4dSrzKsmQH2bJ+tF4 QxUiu9xT/+ooMZVWVcPO/Ubb0BJTMAqB7lq5bWTr11L6iqR/oyDmOG+p/s8SWQP1MPCO7DFbZqV TS/t75HZ+Egg96XeNhg== X-Proofpoint-GUID: W8i1sPGHbgrowCnW5TT5kWPr8JK9gpqE X-Authority-Analysis: v=2.4 cv=RLiD2Yi+ c=1 sm=1 tr=0 ts=6a8ce5e0 cx=c_pps a=mKvPdnfujGBEPWwSy16I3A==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=fTW__CHxibyLmBMfj2wP:22 a=NEAV23lmAAAA:8 a=t7CeM3EgAAAA:8 a=xrz2xm_XJy7u4lCe5tcA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-24_07,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 adultscore=0 bulkscore=0 malwarescore=0 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608250003 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0064b401.pphosted.com id 67P0kN2U3988430 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 00:46:31 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244171 RPM 6.0 intentionally changed rpmtsRun() to return -1 whenever any scriptlet fails, even non-critical ones like %post where warn_only=True (upstream RPM PR#3819, lib/transaction.cc). Root cause — two changes in RPM 6 lib/transaction.cc vs RPM 4: 1. New field set before warn_only resets rc (transaction.cc:1754): ts->scriptError = 1; 2. Final exit now ORs in the new flag (transaction.cc:1910): RPM 4: rc = nfailed ? -1 : 0; RPM 6: rc = (nfailed || ts->scriptError) ? -1 : 0; Call chain for a failing %post in RPM 4 (exits 0): runScript() warn_only=1 → rc reset to RPMRC_OK psm.c:896 if (rc) break → NOT taken, install continues rpmte.c:823 if (failed) → NOT taken, rpmteMarkFailed() skipped transaction.c:1652 if (failed) → NOT taken, nfailed stays 0 transaction.c:1896 rc = nfailed ? -1 : 0 → rc=0 Python ts.run() returns None → DNF exits 0 Call chain for a failing %post in RPM 6 (exits 1): runScript() ts->scriptError=1, then rc reset to RPMRC_OK psm.c:896 if (rc) break → NOT taken (rc still 0) rpmte.c:823 if (failed) → NOT taken (same as RPM 4) transaction.cc:1652 if (failed) → NOT taken, nfailed stays 0 transaction.cc:1910 rc = (nfailed || ts->scriptError) ? -1 : 0 → rc=-1 Python ts.run() returns [] → DNF raises "Could not run transaction." → DNF exits 1 In both RPM versions, RPMCALLBACK_SCRIPT_ERROR fires and DNF's _scriptError() (dnf/yum/rpmtrans.py:407-418) prints: "Error in POSTIN scriptlet in rpm package " OE's install_pkgs() already scans for this line and calls failed_postinsts_abort() (package_manager/rpm/__init__.py:210-219). With RPM 4 this path is always reached because DNF exits 0. With RPM 6 the CalledProcessError raised by DNF's non-zero exit intercepts execution in _invoke_dnf() before the scan runs. DNF 4 (lib/dnf/base.py:1146-1158) was never updated for this RPM 6 behaviour. When ts.run() returns [] with no failed elements it unconditionally raises "Could not run transaction." — the comment at base.py:1147 still describes RPM 4 semantics where this case meant a global error such as a transaction lock failure. There is an open DNF5 issue (#2507) but no fix in DNF 4. Fix: detect "Error in POSTIN scriptlet in rpm package" in the DNF output inside _invoke_dnf()'s CalledProcessError handler and return the output instead of calling bb.fatal(), allowing install_pkgs()'s existing scriptlet scan to run as it did with RPM 4. Tested with oe-selftest runtime_test.Postinst.test_failing_postinst: rpm 4.20.x: PASSED — DNF exits 0, scan path exercised as expected rpm 6.0.x without fix: FAILED — CalledProcessError before scan reached rpm 6.0.x with fix: PASSED — scan path restored, bb.fatal() fires References: https://github.com/rpm-software-management/rpm/pull/3819 Signed-off-by: Sumanth Gavini --- meta/lib/oe/package_manager/rpm/__init__.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/meta/lib/oe/package_manager/rpm/__init__.py b/meta/lib/oe/package_manager/rpm/__init__.py index cd6efe3d3b..ccb4316bd0 100644 --- a/meta/lib/oe/package_manager/rpm/__init__.py +++ b/meta/lib/oe/package_manager/rpm/__init__.py @@ -333,6 +333,13 @@ class RpmPM(PackageManager): except subprocess.CalledProcessError as e: if print_output: e_output = e.output.decode("utf-8") + # RPM 6 fails the entire transaction when a %post scriptlet + # fails, causing dnf to exit non-zero. Let install_pkgs handle + # scriptlet failures via its existing "Error in POSTIN scriptlet" + # scanning rather than treating this as a fatal dnf invocation error. + if "Error in POSTIN scriptlet in rpm package" in e_output: + bb.note(e_output) + return e_output extra_info = "" if "install" in dnf_args: if "Error: Unable to find a match:" in e_output: