From patchwork Tue Nov 18 14:35:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Naumann X-Patchwork-Id: 4608 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 18 Nov 2025 15:38:01 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f57.google.com (mail-lf1-f57.google.com [209.85.167.57]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5AIEc0L6031342 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 18 Nov 2025 15:38:00 +0100 Received: by mail-lf1-f57.google.com with SMTP id 2adb3069b0e04-5942ee3c805sf4783117e87.2 for ; Tue, 18 Nov 2025 06:38:00 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1763476675; cv=pass; d=google.com; s=arc-20240605; b=E1+0SQTrD54AJcbchguiAVks0+uA0a31SJ1jkJ+E9rey4WDUUzqj9FyiavJbgv2bXc 0LOFOzR/B1NLcwXW3+dbVXmKDASplIJM7dA8OSLQ07E0Vbck3IhUIAcYzj2rhqyk/lg7 SH7ktQUX1K5HfZ8oSmHHBFnwzCYTv4GPwYWIurKWVIkpDfl/4JR7C/gzwnuekCOgfXMc ZlONoA84zmyDS07eFYX4d3G3IlAtNBb2KTCimM2yRCSB9j7rurFFxqk+sDeN4JClytjf +CHaURKXSTJCH4J3MgykA8Q+rnTiEUghMIbUtc2cWh3hglDHMrlykZE50Eb8xBdHUAEF +sTQ== 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:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=ectaGSJn9F7eyAja9lZrBnItvz7tQrj36zUC20kNezQ=; fh=1Y2tpViV1pPhPsSZyyrTz2GcrB63uFIo44ILvAnELuw=; b=Cv95+g+LtolATtYUiJ9995lG2L52/qNIB/P2yuxLtXIt0ljcQYZqDTrSLaIogiPYrg ApeKZII6ZaQhKcZ7m+vx+kER4YsywwXR3QkswPgTw3INCaN0+tokxY/CM3mZsYvYYV9O PahD9jerTFkSJHZ/uBCwjZCo8p7mqk58gmOx1f2pJO1FDFs11aZYap9NxJK6kTFPYTO8 FPbTtq9gsHfYwEN+1UmbGQliZcnHiz5jbPXLcLViCLMwY+wOUq+wSJMvQhXE+1e+RIk8 e7CIYGVtPwZsR4VK+BjRy8B1OINXigJuPnUCRaTyFlBUkzZvfeFpskdTJFRef1Su4a5E z7aw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@emlix.com header.s=20250930 header.b=l4BK9T3z; dkim=pass header.i=@emlix.com header.s=20250930 header.b=l4BK9T3z; spf=pass (google.com: domain of anaumann@emlix.com designates 178.63.209.131 as permitted sender) smtp.mailfrom=anaumann@emlix.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=emlix.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1763476675; x=1764081475; 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:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=ectaGSJn9F7eyAja9lZrBnItvz7tQrj36zUC20kNezQ=; b=jGjjZFIws/6EG5RqrDFjSqg4n3URlhpczNccbtayEllnyJafvWHVyZswPRKz281/cS suRMR/5N/whrefbr9xMIBLVZhpML1boasWzf9V0aGr//HlK4RRxYGGNmF8i+PzyqrvmW VoiOZX2hTdcPvZaNDdQNWIf+txP3Al2vGN0r5wLC1A2+Yjfaz2l04CHWJYEAQ7qydb0K 7CbBv+FYYnGhjIJr0JRG29kxpbfFZvcT9CrTpfAea9mN12LlBV2aeCXfe0S96TipfvSG Fv4QVjE6LW6FsTYWag2XrSrM8wXTOONsGKocuO8dwlVzgWWKnI+IM6ue8Nfn0eWj06e7 BUgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763476675; x=1764081475; 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: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=ectaGSJn9F7eyAja9lZrBnItvz7tQrj36zUC20kNezQ=; b=kj83fvSnDWKmBUWyH+AZRMuusCRm4Df2mVjKmT55rs/VX5NCqQKqnm1sQqQQNEk2md +B+jWG2BKDZgkVDK/Z6aYOU7QtWSkoqPp6IvJ9QXS3FSugdZU4nMB9cSKbNY38YsIDeG pGkBsXXrt4GQP6UF65zRfsKeOjXjSIsXI4QZ2Aj/RNMZDTBbze086TD+NsdGLFOts/XI db/aYYyQ6jZPRdCKryum1vN8wLW9y+AYPh9bGzpOuo9+THl32NvZ9J2XR+SbHw8FT17T qsVGVA6+sZdf+0tciW7lwoE8wUNdxgpbsVZ7OpKriWcK8vCQM3Dbjdm09r2LPe1pDrIm TSbA== X-Forwarded-Encrypted: i=2; AJvYcCW7Me7r0w01D0Vy59JXr5XV5HMHGds6nlh0HO0HlM/Z6z6keTny963qsz9MBz5WBDLPpm3SMiI=@isar-build.org X-Gm-Message-State: AOJu0YxAj3u08tnywMK70N2SJSUjER6WwKRC2dYgQtYb5CIp4JoAui2Y Tj3SIp+QjZ7qAfRFc3hRFxA+ZmlgCQBHeLZwRKUA8E7iLbIKu/Ky9mBc X-Google-Smtp-Source: AGHT+IHrB6RiRajYs10pPhgqHIhneRzqgsjLB3fcCwhKLXCTlpE3psrGPUlHjlcX8QSdJ01baDF8Yw== X-Received: by 2002:a05:6512:4028:b0:594:34c4:a33a with SMTP id 2adb3069b0e04-595841b4b06mr6054460e87.19.1763476674368; Tue, 18 Nov 2025 06:37:54 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+YHEOmRgHwufKIIgstyNeeEdAEYu7hCQUBhsfS2oD7JNg==" Received: by 2002:ac2:4bc6:0:b0:595:9678:f830 with SMTP id 2adb3069b0e04-5959678f88fls875391e87.1.-pod-prod-08-eu; Tue, 18 Nov 2025 06:37:51 -0800 (PST) X-Received: by 2002:a05:6512:15a2:b0:595:7de0:cb1d with SMTP id 2adb3069b0e04-595842261f9mr5679527e87.53.1763476671427; Tue, 18 Nov 2025 06:37:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1763476671; cv=none; d=google.com; s=arc-20240605; b=VHUqs/wQ8R34+/Z4HTJA/UEoqciKElXyGkDeduvIhoV69i/MhvgBBxnjJvtiLR7olA tege727bI0TJJMscRtau0IWn/pdFvEBr+/BTKa6h//qevWQWiFm46TCm67+rXs2arx0T Eyg9nkkzErNpPeE6a57evjokcHVVO3t0qMmUGANMZC9Md1UfbeGs7sp4NCL55Zjo6wzA /tpLRcpCMmOr5XU+n7Xx46TTEDsLXxbaSY71SMBoKozN0gSJUtJzIRBq++jVwlYgmAwq 1X2Ym/Pd25ZG4rTPJ631Nr+4ApZxwCd5VDOTZRKg3nSsdUkIYhrNpYSP2zm0lz8Hjcm/ r9Cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:dkim-signature; bh=FwTU+hK+WW3kmmJJ3F0AOCrhC4sTfjF2pF00mcmuF8c=; fh=h/3u+BnesbohrVPBf25WVa1dvt5UrhWAO6IFZkZXrvU=; b=S83+/FTB2fARFyEMBegCfPI+nkzqTnQXNktd9oIO+/7RV/9Zk02lwjK8XZXmou3QLe FCGIUY5W/RN9OEzk81NCRBdW72Rx7viy02c02m97CPCnTRTGF5mSDedM8Q8ZZ8QQPZuJ aIjMVyflh0DMeCw9hC4koT0LZS9L/BsWKQHaBMdUsVUsSJ6zyFRYSyX2a2IJ8wadAPxi Zsr1OICrRICOR+/OtpawSSs/crE/e6+JsFOPCJB2nR+Ytf//hEm+TGCncaZePrLVymXV HlTrdOUjhygq70bQBD9Lpwnv3XT0RFWK8SZ0B1H3qtccYsFnhuIVfPzNpccZKLoPLw5l kZWw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@emlix.com header.s=20250930 header.b=l4BK9T3z; dkim=pass header.i=@emlix.com header.s=20250930 header.b=l4BK9T3z; spf=pass (google.com: domain of anaumann@emlix.com designates 178.63.209.131 as permitted sender) smtp.mailfrom=anaumann@emlix.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=emlix.com Received: from mx1.emlix.com (mx1.emlix.com. [178.63.209.131]) by gmr-mx.google.com with ESMTPS id 2adb3069b0e04-59580a373e6si273688e87.0.2025.11.18.06.37.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Nov 2025 06:37:51 -0800 (PST) Received-SPF: pass (google.com: domain of anaumann@emlix.com designates 178.63.209.131 as permitted sender) client-ip=178.63.209.131; Received: from mx1.emlix.com (localhost [127.0.0.1]) by mx1.emlix.com (Postfix) with ESMTP id 2996C5F7F9 for ; Tue, 18 Nov 2025 15:37:45 +0100 (CET) Received: from mailer.emlix.com (p5098be52.dip0.t-ipconnect.de [80.152.190.82]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.emlix.com (Postfix) with ESMTPS id 0FA1E5FAE5 for ; Tue, 18 Nov 2025 15:37:45 +0100 (CET) X-Patchwork-Original-From: "'Andreas Naumann' via isar-users" From: Andreas Naumann To: isar-users@googlegroups.com Cc: Andreas Naumann Subject: [PATCH v2 1/3] test: Add test to check correct multiarch dependency propagation Date: Tue, 18 Nov 2025 15:35:21 +0100 Message-ID: <20251118143523.2326879-2-anaumann@emlix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251118143523.2326879-1-anaumann@emlix.com> References: <20251118143523.2326879-1-anaumann@emlix.com> MIME-Version: 1.0 X-Virus-Scanned: ClamAV using ClamSMTP X-Original-Sender: anaumann@emlix.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@emlix.com header.s=20250930 header.b=l4BK9T3z; dkim=pass header.i=@emlix.com header.s=20250930 header.b=l4BK9T3z; spf=pass (google.com: domain of anaumann@emlix.com designates 178.63.209.131 as permitted sender) smtp.mailfrom=anaumann@emlix.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=emlix.com X-Original-From: Andreas Naumann Reply-To: Andreas Naumann 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?= Create two transitive dependency chains with simple dpkg-raw packages as follows: image -> all package -> any package imager -> all package as -native -> any package as -native Assert that - the all package is always build for the host architecture - the dependent any package in the cross chain is built for target arch only - the dependent any package in the native chain is built for host arch only by detecting any undesired host/target architecture combination in the override_dh_auto_configure function and exiting with an error. Signed-off-by: Andreas Naumann --- .../recipes-app/test-all-depnocross/files/rules | 11 +++++++++++ .../test-all-depnocross/test-all-depnocross.bb | 11 +++++++++++ .../recipes-app/test-all-deponlycross/files/rules | 11 +++++++++++ .../test-all-deponlycross/test-all-deponlycross.bb | 11 +++++++++++ meta-test/recipes-app/test-any-nocross/files/rules | 11 +++++++++++ .../test-any-nocross/test-any-nocross.bb | 11 +++++++++++ .../recipes-app/test-any-onlycross/files/rules | 11 +++++++++++ .../test-any-onlycross/test-any-onlycross.bb | 13 +++++++++++++ testsuite/citest.py | 11 +++++++++++ 9 files changed, 101 insertions(+) create mode 100644 meta-test/recipes-app/test-all-depnocross/files/rules create mode 100644 meta-test/recipes-app/test-all-depnocross/test-all-depnocross.bb create mode 100644 meta-test/recipes-app/test-all-deponlycross/files/rules create mode 100644 meta-test/recipes-app/test-all-deponlycross/test-all-deponlycross.bb create mode 100644 meta-test/recipes-app/test-any-nocross/files/rules create mode 100644 meta-test/recipes-app/test-any-nocross/test-any-nocross.bb create mode 100644 meta-test/recipes-app/test-any-onlycross/files/rules create mode 100644 meta-test/recipes-app/test-any-onlycross/test-any-onlycross.bb diff --git a/meta-test/recipes-app/test-all-depnocross/files/rules b/meta-test/recipes-app/test-all-depnocross/files/rules new file mode 100644 index 00000000..6640cf23 --- /dev/null +++ b/meta-test/recipes-app/test-all-depnocross/files/rules @@ -0,0 +1,11 @@ +#!/usr/bin/make -f +%: + dh \$@ + +# Detect cross-compilation and fail if so +override_dh_auto_configure: + @if [ "$(DEB_BUILD_ARCH)" != "$(DEB_HOST_ARCH)" ]; then \ + echo "Cross-compilation detected! This is an \"all\" package."; \ + exit 1; \ + fi + dh_auto_configure diff --git a/meta-test/recipes-app/test-all-depnocross/test-all-depnocross.bb b/meta-test/recipes-app/test-all-depnocross/test-all-depnocross.bb new file mode 100644 index 00000000..86ae3847 --- /dev/null +++ b/meta-test/recipes-app/test-all-depnocross/test-all-depnocross.bb @@ -0,0 +1,11 @@ +# Test package using dpkg-raw + +SRC_URI = "file://rules" + +inherit dpkg-raw + +DEPENDS = "test-any-nocross" + +do_install() { + bbnote "Test \"all\" package which depends on an any package." +} diff --git a/meta-test/recipes-app/test-all-deponlycross/files/rules b/meta-test/recipes-app/test-all-deponlycross/files/rules new file mode 100644 index 00000000..6640cf23 --- /dev/null +++ b/meta-test/recipes-app/test-all-deponlycross/files/rules @@ -0,0 +1,11 @@ +#!/usr/bin/make -f +%: + dh \$@ + +# Detect cross-compilation and fail if so +override_dh_auto_configure: + @if [ "$(DEB_BUILD_ARCH)" != "$(DEB_HOST_ARCH)" ]; then \ + echo "Cross-compilation detected! This is an \"all\" package."; \ + exit 1; \ + fi + dh_auto_configure diff --git a/meta-test/recipes-app/test-all-deponlycross/test-all-deponlycross.bb b/meta-test/recipes-app/test-all-deponlycross/test-all-deponlycross.bb new file mode 100644 index 00000000..6af762b9 --- /dev/null +++ b/meta-test/recipes-app/test-all-deponlycross/test-all-deponlycross.bb @@ -0,0 +1,11 @@ +# Test all package using dpkg-raw + +SRC_URI = "file://rules" + +inherit dpkg-raw + +DEPENDS = "test-any-onlycross" + +do_install() { + bbnote "Test \"all\" package which depends on an any package." +} diff --git a/meta-test/recipes-app/test-any-nocross/files/rules b/meta-test/recipes-app/test-any-nocross/files/rules new file mode 100644 index 00000000..74d905b6 --- /dev/null +++ b/meta-test/recipes-app/test-any-nocross/files/rules @@ -0,0 +1,11 @@ +#!/usr/bin/make -f +%: + dh \$@ + +# Detect cross-compilation and fail if so +override_dh_auto_configure: + @if [ "$(DEB_BUILD_ARCH)" != "$(DEB_HOST_ARCH)" ]; then \ + echo "Cross-compilation detected!"; \ + exit 1; \ + fi + dh_auto_configure diff --git a/meta-test/recipes-app/test-any-nocross/test-any-nocross.bb b/meta-test/recipes-app/test-any-nocross/test-any-nocross.bb new file mode 100644 index 00000000..6d0321ae --- /dev/null +++ b/meta-test/recipes-app/test-any-nocross/test-any-nocross.bb @@ -0,0 +1,11 @@ +# Test package using dpkg-raw, which breaks when trying to cross +# compile + +SRC_URI = "file://rules" + +inherit dpkg-raw +DPKG_ARCH = "any" + +do_install() { + bbnote "Test \"any\" package which fails crosscompile." +} diff --git a/meta-test/recipes-app/test-any-onlycross/files/rules b/meta-test/recipes-app/test-any-onlycross/files/rules new file mode 100644 index 00000000..02031f1a --- /dev/null +++ b/meta-test/recipes-app/test-any-onlycross/files/rules @@ -0,0 +1,11 @@ +#!/usr/bin/make -f +%: + dh \$@ + +# Detect native compilation and fail if so +override_dh_auto_configure: + if [ "$(DEB_BUILD_ARCH)" = "$(DEB_HOST_ARCH)" ]; then \ + echo "Native compilation detected!"; \ + exit 1; \ + fi + dh_auto_configure diff --git a/meta-test/recipes-app/test-any-onlycross/test-any-onlycross.bb b/meta-test/recipes-app/test-any-onlycross/test-any-onlycross.bb new file mode 100644 index 00000000..5b2eace6 --- /dev/null +++ b/meta-test/recipes-app/test-any-onlycross/test-any-onlycross.bb @@ -0,0 +1,13 @@ +# Test package using dpkg-raw, which breaks when trying to cross +# compile + +#MAINTAINER = "Your name here " + +SRC_URI = "file://rules" + +inherit dpkg-raw +DPKG_ARCH = "any" + +do_install() { + bbnote "Test \"any\" package which fails native compile." +} diff --git a/testsuite/citest.py b/testsuite/citest.py index f944ee4a..6f8e03cf 100755 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -255,6 +255,17 @@ class CrossTest(CIBaseTest): self.init() self.perform_build_test(targets) + def test_cross_dependencies(self): + targets = [ + 'mc:qemuarm64-bookworm:isar-image-ci', + ] + + lines = [f"IMAGER_BUILD_DEPS:append = ' test-all-depnocross-native'", + f"IMAGE_INSTALL:append = ' test-all-deponlycross'", + ] + + self.init() + self.perform_build_test(targets, lines=lines) class KernelTests(CIBaseTest): """