From patchwork Fri May 15 10:12:46 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "srinuvasan.a" X-Patchwork-Id: 5081 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 15 May 2026 12:12:05 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-oi1-f188.google.com (mail-oi1-f188.google.com [209.85.167.188]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 64FAC4B0031382 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 15 May 2026 12:12:04 +0200 Received: by mail-oi1-f188.google.com with SMTP id 5614622812f47-482abfeea78sf5939358b6e.1 for ; Fri, 15 May 2026 03:12:04 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1778839918; cv=pass; d=google.com; s=arc-20240605; b=aTH5/jHnq4/C08xgJCNaTIKG8NsHHjKofurTa4mfExAQOjqTX5yZJp7OSOeeK5ixj5 ew3yTHHlP973Ty9ijiq420GajliugBIO5gQIwVIdP9DxAJKsnGw1MF0eWApAxFEOLXcK zyRDhu6bRbuHIZLExuVUcHCpC9FdHZG5bR1roRETIV9/V6zY8zNov8r5BZwwB9a6dcmr b5FdpP8UrTfmYVuvQaukfTcm93foKC9DTWepT7TooixoO1MhKF9I8mcZgv6W8UQd4Giy U7ROl9LMz4istvwYx6QQAU7sld+fOa708CzUwNb0p80EMKYH/6YZteFM3/hcs96ElO2m 0EXA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=8wSPL/wWVR2YgZ8jsDBobaw4UrdN9416plN/PQc0OnQ=; fh=CYynNsYGFwFsMcdCCNuXFpzeENRLUhYF6ScJSwfJZrA=; b=UumdTFKjZazgmqlC80o8E1O1JhKewpSsekqViSf1koJm6NH9FHOPaHdX6Iz7H96Fpv 5ZcYQCzXGlVY86ErSTpv4rg+jcnPtYV4woHSFUMVTqqa6m7JkUP2HNS/HzGqDSCvsKrJ qdnw6anCl6rOkT9kXuoPJqWPlGcwmkbSzfTJS+oZ4o73ezHsy/vrnH8MenzefftUmRIU GviuCD5q+1QKQSuewf/Ynh/qPSHk0YGsfFrtQkQfrfFEjOLtG9yEK8IhD+65Sx11APDf fa4+Qsg6zHAYrDEXUOwI0wDx206ZeKvWxFUYDw1qVW/IFFqrmmmp/rZi4BdIy8BvvdhX FAFw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=JVCBkbl5; spf=pass (google.com: domain of fm-1324425-2026051510115471c06d8883000207e9-5laooq@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1324425-2026051510115471c06d8883000207e9-5LAOoq@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1778839918; x=1779444718; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=8wSPL/wWVR2YgZ8jsDBobaw4UrdN9416plN/PQc0OnQ=; b=rW22oMkVUfCc03hmZZuSyPJj1bqxd5W46XswVTtKK178ailc0cMjOK1BYFb6TkeDEb nnM2SObPHEkMTt/Nhaf25cE8zyqqq4eftg26mvoQj0uTDck9ExIkelJNVn8FutV9h0+2 HJG73evVVWtxQBkECg5G986HAtikm4J8qH5ptHcSo0q19/lXIEomlaDodFevvdnj+mwd CfGH864nQnGyhpRW0U/KS4HyFXGStxOoej4HL+xDGjkBA+nCDOrW6LmkRwOcdVhWfP1N 1lMD/2uo3AvEuIqwgG9t1I3lPGlkFI7jXWBYLlY6HIIxsLW04WYI8z/0q1871jGxEL0f r9qA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778839918; x=1779444718; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=8wSPL/wWVR2YgZ8jsDBobaw4UrdN9416plN/PQc0OnQ=; b=krO61GKGwCuQ4+7nRUiWRVab/Z7//JcMTKYDYRzGgNplVF7mheJuz9e9BYjXB30e/m gxsPlepURe5u957ZzS7r4yqdr+apC5IKATRMXqlURUEaWSFAS2hyTGWBLKC5ltKQRbK4 U/TsExS+1uaBaZXjJTMLortiWyLy0QaWtDr4M+Dsjk6eoedau1NJgIJ+h81Q1NeCTifM FtSVfN7HiLAyACtkmbedRQLbZ9rvXL+RlOkdDYuSEaMEIiTiuqmDnd95/GUZL+ZGhTZP dmk2s3FExxGO2lQj6BBMq0e8/VB0zvWnKswk4qL3WY0kurLurg3irgwWVTSv8TQ5Q2Qw rtKA== X-Forwarded-Encrypted: i=2; AFNElJ/8kIuUWntmgsCtnPLbMbNP3QyQ8c9J8TcBGtro0FODH/ajS5t5VVIgXC94uFos+NaLtPuDVn0=@isar-build.org X-Gm-Message-State: AOJu0Yxqws+KrGqIcUR3rKaqn6WLhyFWw1spqNse+p+ICH4FumPlA0OQ Xa0igO8sO3EgQCJRRSRFazZ5s9W8fI7N/TnSeqlvX8FcJb2UTQIuNR2v X-Received: by 2002:a05:6820:c8a:b0:69b:922f:cad4 with SMTP id 006d021491bc7-69c9bff2802mr1935548eaf.55.1778839918133; Fri, 15 May 2026 03:11:58 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AUV6zMOHZpkH7YAgpbCcPbWAOIT3My8Qpg/ZX9QP3NJa8CdK9w==" Received: by 2002:a05:6820:626:b0:694:83f2:27a8 with SMTP id 006d021491bc7-69b8c0035e6ls1177056eaf.0.-pod-prod-01-us; Fri, 15 May 2026 03:11:57 -0700 (PDT) X-Received: by 2002:a05:6830:348f:b0:7de:5bad:ace1 with SMTP id 46e09a7af769-7e4f2b461acmr2146108a34.12.1778839917318; Fri, 15 May 2026 03:11:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1778839917; cv=none; d=google.com; s=arc-20240605; b=B/6CZM91MjGBp0O0pJC2cePN//7ysTqtJXWzySrCh3x4YgOXKzPlH0m9Rz5WDJKjUQ JSjkitFchdOG4XKjqLZTtoOsrA/7p6bISfc45ALkiF+z/lEcJbRhiCd5nGPk5foFVqL6 ONCkZqs68n7PYRavkLPGz9fS2pBKFkJVqtQ/zQEVjHuJMOsYDbO6K0lDQRKCzxomUmFe wRtyH9DOZajUfEGivnIFjpTeAL0ibacCDUqXdBEKUj5HbSJP9G5qIFDLMRgtP6bH796e ugYlFHbFfKTB/x/R9Uf/Or7Ouo3kEbx9ZoE04iFHV4mGEmU/V9Sso0UF9k5CcSGvitRR WiDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=D2qLz0N7MCJWArYv8awds9IegulVxy24Etij+6xOXr8=; fh=FwyE32lwkwF+b7/zzV6RvJyWRyZqxmj9mv3Mjmy9dXU=; b=IvsSfq/NbXihG/Te3q7pV7MAmpH2r/DEaNC68EcYKHQu17WaWNjzU2I/mDn30bELMy sJaXD8nilSsje3usCzsFZJXQIc3K00G9qpAkR7RHnw2SOCmsEaMk83GI9HPbzkYvq6tQ yuL83t91FuP/BExQj9aYaS+Pxxa48S/eWEzuTjokUwkK/1nmOh1yxrOWb5Si/CHI3Oa4 /MbJHZOMH8w9AYRTmMMKU6ci9iw7l3dwmW/1BwbRHYsAg+atAxoJPYgax2xoniab5Xes UQdLCtEGRW3BCqTQhzcMom25vKnA/tpbAkOrCl5tVVVOaCtHXXh/ntJWbhTn6+Zss2MO O2CA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=JVCBkbl5; spf=pass (google.com: domain of fm-1324425-2026051510115471c06d8883000207e9-5laooq@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1324425-2026051510115471c06d8883000207e9-5LAOoq@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id 46e09a7af769-7e55b7cd6b3si49268a34.2.2026.05.15.03.11.56 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 May 2026 03:11:57 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1324425-2026051510115471c06d8883000207e9-5laooq@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 2026051510115471c06d8883000207e9 for ; Fri, 15 May 2026 12:11:55 +0200 X-Patchwork-Original-From: "srinuvasan.a via isar-users" From: "srinuvasan.a" To: isar-users@googlegroups.com Cc: amikan@ilbers.de, Srinuvasan A , Cedric Hombourger Subject: [PATCH v3] repository: default Priority to optional when field is absent Date: Fri, 15 May 2026 15:42:46 +0530 Message-Id: <20260515101246.671704-1-srinuvasan.a@siemens.com> In-Reply-To: <20260515100236.671593-1-srinuvasan.a@siemens.com> References: <20260515100236.671593-1-srinuvasan.a@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1324425:519-21489:flowmailer X-Original-Sender: srinuvasan.a@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=JVCBkbl5; spf=pass (google.com: domain of fm-1324425-2026051510115471c06d8883000207e9-5laooq@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1324425-2026051510115471c06d8883000207e9-5LAOoq@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: srinuvasan.a@siemens.com Reply-To: srinuvasan.a@siemens.com Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Srinuvasan A Some upstream packages omit the Priority field from their binary .deb metadata. reprepro rejects such packages with "No priority given", aborting repository construction. This was observed with a base-apt build that include upstream packages such as gir1.2-javascriptcoregtk-4.1. Both base-apt and isar-apt use the repository class. Fix repo_add_packages() to detect a missing Priority field and fall back to "optional", matching the Debian policy default. Add a test recipe (test-nopriority) that explicitly strips the Priority field before build, and a citest.py test case that exercises the isar-apt repository path with this recipe, covering the same failure mode as the base-apt case. Signed-off-by: Srinuvasan A Signed-off-by: Cedric Hombourger --- .../test-nopriority/test-nopriority.bb | 15 +++++++++++++++ meta/classes-recipe/repository.bbclass | 15 ++++++++++++--- testsuite/citest.py | 17 +++++++++++++++++ 3 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 meta-test/recipes-app/test-nopriority/test-nopriority.bb mode change 100755 => 100644 testsuite/citest.py diff --git a/meta-test/recipes-app/test-nopriority/test-nopriority.bb b/meta-test/recipes-app/test-nopriority/test-nopriority.bb new file mode 100644 index 00000000..dfccffd1 --- /dev/null +++ b/meta-test/recipes-app/test-nopriority/test-nopriority.bb @@ -0,0 +1,15 @@ +# This software is a part of Isar. +# Copyright (C) 2026 Siemens AG +# +# SPDX-License-Identifier: MIT + +# Test that a .deb without a Priority field can be added to the repository. +# The debianize class sets Priority in the Source stanza of debian/control; +# we strip it here so the resulting .deb has no Priority metadata, exercising +# the prio_opt fallback in repository.bbclass. + +inherit dpkg-raw + +do_prepare_build:append() { + sed -i '/^Priority:/d' ${S}/debian/control +} diff --git a/meta/classes-recipe/repository.bbclass b/meta/classes-recipe/repository.bbclass index a5dd8bbc..ba2803ad 100644 --- a/meta/classes-recipe/repository.bbclass +++ b/meta/classes-recipe/repository.bbclass @@ -61,14 +61,23 @@ repo_add_packages() { local dir="$1" local dbdir="$2" local codename="$3" + local package + local priority + local prio_opt shift; shift; shift if [ -n "${GNUPGHOME}" ]; then export GNUPGHOME="${GNUPGHOME}" fi - reprepro -b "${dir}" --dbdir "${dbdir}" -C main \ - includedeb "${codename}" \ - "$@" + for package in "$@"; do + prio_opt="" + priority=$(dpkg-deb -f "${package}" Priority 2>/dev/null || true) + if [ -z "${priority}" ]; then + prio_opt="-P optional" + fi + reprepro -b "${dir}" --dbdir "${dbdir}" -C main ${prio_opt} \ + includedeb "${codename}" "${package}" + done } repo_del_srcpackage() { diff --git a/testsuite/citest.py b/testsuite/citest.py old mode 100755 new mode 100644 index b3866675..a051ce54 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -131,6 +131,23 @@ class CompatTest(CIBaseTest): self.perform_build_test(targets, compat_arch=True) +class RepositoryTest(CIBaseTest): + """ + Test repository functionality. + :avocado: tags=repository,fast + """ + + def test_repository_nopriority(self): + """Test that packages without a Priority field can be added to the repo.""" + targets = [ + 'mc:qemuamd64-bookworm:isar-image-ci', + ] + + self.init() + self.perform_build_test(targets, + image_install='test-nopriority') + + class SbuildFlavor(CIBaseTest): """ Test package build with a custom sbuild chroot.