From patchwork Wed Apr 1 10:49:05 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhihang Wei X-Patchwork-Id: 5000 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 01 Apr 2026 12:49:19 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f63.google.com (mail-wm1-f63.google.com [209.85.128.63]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 631AnIGq017446 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 1 Apr 2026 12:49:18 +0200 Received: by mail-wm1-f63.google.com with SMTP id 5b1f17b1804b1-48542d5aa9esf60255525e9.0 for ; Wed, 01 Apr 2026 03:49:18 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1775040553; cv=pass; d=google.com; s=arc-20240605; b=gkNPHWJKGVYSEsA68Phf9OcK/CkdSZmnVgtMrpb7GDfNM49Pk2MEUmOAFlRZsKlbb9 6B+NT4aPOEg1GU0PhZny/yGoq6/dmg23kQ/u7vehD3Rd48HYX8RRF6ICEKOp1buKRS6V 2GsviA9BY1aQOOkI91eDHQE2T4sMyLDk0nAbHmce9sd/pPPELTjmpLEnSLByDMDg+r+6 Qkuqynqd9WMExaBUF2Lng22u6HU4OuDtKPEXVIqjYUJUVtNKaM+YQAKYWROypxSAdO7t IRdmArrgsJDDGY3ho8ixuBNd7k0HihodVKNnXA8JbGx30Kp9PHkXSfg0PmY1NFFRyJns hu6A== 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:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:dkim-signature; bh=OxYER6XPO2HoaLjgj29GZD+GFkRtfxwQSUc9AMIAZkQ=; fh=Udc6f+1v+NyO1POrYp8O4nM1yjlRlB/ANruaPZQDd2U=; b=jb5SZL8qq0SKaudoKKA0DpOpIB4hsG1It8Up43x8INB0FDNM+Cb+/y90zhxAgoWfVu t6u8KcBOduwsbvMO7ZOLkXNDg0/8pyMrDkrHHThmQeUrb5LFCJA+UC546UI+kXnruC23 r4Wg1tnH6JxT5CTb/vcKAMuADOQz1TjFjSQGlKzN66ilJ0M1p0qF65yLPk0CGzXWEuVI E3NqUTMoLBjYHK0ZcLOPZ/+Fw+QSLgZWoBZv8yeZw2vZTb/7NBIuQVfOklGonX9Dpicm xI+26tJcMKbj+mhkd4+VHsasdyw23xGiRyqfOuZxRTSQvu3OzCo9dU7FZ+YyHv8w1mTt ZIyw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1775040553; x=1775645353; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=OxYER6XPO2HoaLjgj29GZD+GFkRtfxwQSUc9AMIAZkQ=; b=iCm1ZvCFUHJkMuEWIj7QFiDeg2F/bgcFL0CHemyGY14N56olRSXZF49bWhDtuiq/DQ mqL6hjlbbBkgBlRkIKrEdL5pVkbGPwaqAEWte3K9Kyx3f2ZW9xGcBIPYFALGQjj7kt2V iFcxUymBGCb6JuZDNHLiqzOAMdxQBo/hYW+IjntIsHmGu7MYgdAeaYYg5kTePWOl/3rS ITVCr2W7lom0tRPUT7XyXfOolRDotVhPBohkm49QlKabf1eNjDa849WCpcxHVIzUkEf0 6E/x4HPa+9PW55SdaN/xcGaX2W9N+2gek3NVMAcUuoxLwyKuBdwMGYlEBda5lCWEDDbO 5SMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775040553; x=1775645353; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:to:from:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=OxYER6XPO2HoaLjgj29GZD+GFkRtfxwQSUc9AMIAZkQ=; b=jab6AWSACmXHoDXPpoJyMLAklP1T4V5ThKy0rBzmkyHCaBX2Fnj8lRgj9rzCIfB1uq My92E8iEjJxLlnX7a+hBgCzIoLFXsjxlRhzXlHeuFQwEOghr3WPkjj+iROaJzW8smyYP XpmhxBMiD1mRxkZ/3Y8/HyJmLyzzCN+o4w5H31jahRIjmiKDvJVLhsbBBHBisJ9ZWV57 eEn2oXKi38hmftbzgNBtuIhPlxmBhr16PMEwWXgYuDIflEd8TDxsg/JrhtONBqdEcjUH rxHiizLUn7Tnv3sprzQAtjPLPnbgAetnTK0mj7zPn1EjUYRtK8WC8Ij4/qk9Jy70LtQ6 j1WQ== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCXCiF4N5vL46G6K118m6pMT7bMBenvB3i89JJuvO9Fm3ulBZbOz93rz1BK99UursPU54YPlc30=@isar-build.org X-Gm-Message-State: AOJu0YyEUd/d/es7gRC5YKSsYCbi6J/yLpuiOkqJVgNVUCURZRMO52MK jOaSsLj4x6Hv9TdSBAgoJhCj3CkDX9ph1tA2rApgUOP1oPE5HTY6Kgw6 X-Received: by 2002:a05:600c:34d5:b0:487:20ee:bef6 with SMTP id 5b1f17b1804b1-48883566134mr58060465e9.11.1775040552517; Wed, 01 Apr 2026 03:49:12 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AYAyTiLExWLUy2s/KRoM5EPRPSxRSqb1jfR/eftGar8rroWOLg==" Received: by 2002:a05:600c:3317:b0:488:8478:de3f with SMTP id 5b1f17b1804b1-4888478dfafls3476415e9.2.-pod-prod-06-eu; Wed, 01 Apr 2026 03:49:09 -0700 (PDT) X-Received: by 2002:a05:600c:3e1a:b0:488:7784:d06 with SMTP id 5b1f17b1804b1-488835abf84mr47439335e9.31.1775040548925; Wed, 01 Apr 2026 03:49:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775040548; cv=none; d=google.com; s=arc-20240605; b=PIoi1vN5rDggN6ddIDKtfqwyzcVTh0ZxvwBUZbzJwAoVylp+ykroDBzsUuUI8oSXaM YOOxfcIw4zuexnnjK0zMQW1emXGg/FNNAqFSknLjGfroTuTuNMdt78j11lsMmnya94kG Hra/7bWzbCAvNGuxWS7ur+/k8ACkINiqewJrBtWiu0mMuhp5S4fZuqrgz9/AUIFOX52q 9a2/DMyB3LJL0jn6ahGk22htlMyEEPfHHRV/a/t0hzVzDrzbPmYVIq3uOEWn+HyrGka8 tNYx6mNj0U9ujL9sQjuu3F+IQ/3mbQ7D62vgURPq9JXLtmZqJhKyGe9H3vg0MPuhBdZo r5KA== 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:to:from; bh=6khaSku3zsIiBX4maYtG88NudILbNDXfKej/ypWHyis=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=RpnPLksaI3TgrhvwxSUBiLjPRM/cNGqQIYMhLoj5v2nQ5/gMAbDRslDT1fPtMoa4JI 8XNGiJZqDBbma26LrC8wSoVjXjGaH/gOhEp5Ky/ooPRXYiMX8DfpcVnK88cyB87p9/x7 Vq49HKAH/buvyi1Un7KLX0co3B3KKTTrJqnLuhEijJ6lB+ZV1hRi5w8ttqC0F6gaAi+R 6xX3RwtJd8uJyDTPXwK06Bd3S9c7+5RPC7EyMlvsdnVXJHgBTm3AKpwQpBBpAkHaWDF0 Mj63pWzD1jWqE2qKn/BYLTAcZ77FO2Rz36NpYhUjB/j+9tzcfINSs1gBHROl5PXFSE/R S1hQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-4887e741255si709985e9.0.2026.04.01.03.49.08 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 01 Apr 2026 03:49:08 -0700 (PDT) Received-SPF: pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from debian-zwei.m.ilbers.de ([88.130.203.42]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPA id 631An76h017421 for ; Wed, 1 Apr 2026 12:49:08 +0200 From: Zhihang Wei To: isar-users@googlegroups.com Subject: [PATCH v9 1/3] wic: Obtain real machine name in isoimage source plugin Date: Wed, 1 Apr 2026 12:49:05 +0200 Message-Id: <20260401104907.3365696-2-wzh@ilbers.de> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260401104907.3365696-1-wzh@ilbers.de> References: <20260401104907.3365696-1-wzh@ilbers.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, 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-Original-Sender: wzh@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Anton Mikanovich The current implementation tries to obtain machine name from the deploy directory name, which relies on hardcoded path format. Add MACHINE to the WIC environment and read it in isoimage-isohybrid-isar.py to fix that. Signed-off-by: Anton Mikanovich --- meta/classes-recipe/imagetypes_wic.bbclass | 2 +- .../scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/meta/classes-recipe/imagetypes_wic.bbclass b/meta/classes-recipe/imagetypes_wic.bbclass index f31ea61f..a2687ef0 100644 --- a/meta/classes-recipe/imagetypes_wic.bbclass +++ b/meta/classes-recipe/imagetypes_wic.bbclass @@ -107,7 +107,7 @@ WICVARS += "\ ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS TRANSLATED_TARGET_ARCH" # Isar specific vars used in our plugins -WICVARS += "DISTRO DISTRO_ARCH KERNEL_FILE" +WICVARS += "DISTRO DISTRO_ARCH KERNEL_FILE MACHINE" python do_rootfs_wicenv () { wicvars = d.getVar('WICVARS') diff --git a/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py b/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py index fb6c6b39..0ed61fff 100644 --- a/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py +++ b/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py @@ -191,7 +191,9 @@ class IsoImagePlugin(SourcePlugin): if not image_type: raise WicError("Couldn't find INITRAMFS_FSTYPES, exiting.") - machine = os.path.basename(initrd_dir) + machine = get_bitbake_var("MACHINE") + if not machine: + raise WicError("Couldn't find MACHINE, exiting.") pattern = '%s/%s*%s.%s' % (initrd_dir, image_name, machine, image_type) pattern = '%s/%s-%s-initrd.%s' % (initrd_dir, image_name, machine, image_type) From patchwork Wed Apr 1 10:49:06 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhihang Wei X-Patchwork-Id: 5002 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 01 Apr 2026 12:49:21 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f55.google.com (mail-lf1-f55.google.com [209.85.167.55]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 631AnKFb017481 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 1 Apr 2026 12:49:20 +0200 Received: by mail-lf1-f55.google.com with SMTP id 2adb3069b0e04-5a2c2448255sf716809e87.0 for ; Wed, 01 Apr 2026 03:49:20 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1775040555; cv=pass; d=google.com; s=arc-20240605; b=Vbj5G/vLdPherQMScv4sXsCmcWExSBMoEA8nsfGjX8CuY4zyz6kHFYwBoHYJCTEMro V6XdMR/6522iJ6ZvY3wtDKMAyinRhDYk2cM09C4ONmD8dYKAYeF2o2y/E7Sx2WCpifI0 O88pR8pb9eK7tlhuy5s5d+6qnbkCn7k5AAgValWtS5YY7j7+rKQ8whcb8YNyv0JROOKh fJNqRua4XzTwkp3Y5hxWasNjqwA3AHDpP/HfOFuFrE3s+7KcBUSF7h2uSKM0Qx2qXOq0 O5Kj5SszbaFULt4miMr9J2KfwcIJ6dKHDkCqrwovw/dSOHJ5ukwsrb3QmawAHmsRmwG+ Xrnw== 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:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:dkim-signature; bh=VlkLUSDyEHx6JLjw7pnfwIAk+v59q7cjKQnr6yolkkY=; fh=smmDCIU37lxcN8dH13FYrmBWWvAIUbHh/+P6AmeAbuc=; b=iUezJl1fLPd7qwZwNZfGhB/xuXviSMp/uq4dPu1iijL+/asiZt9Wdn4O5DKU8Ydz7Z 2Eot9dhOe3p+l0+/f/g9hYU2WwOmYOwDOhGDfoI8JqUmy+t7SR0CqhXpL9FlqLCi3y40 BeAZg4SioE2hnNnIS9bM2+Z3ghFBseOpdzJ8epMNE7gBl5fJs5td0cRdUE59hiARP6NF D3ONhbtdwbKhTr0O798tUHprIjGGLwI5KKkvflWwZwYJfFXKs6w6zj4gUP8fYXzdHCyP IcwHYd+WYzFLIuvBLXbaZ+1AYQE0GANkRZPiR4O2dTjf4wM3Zxfd9J9sNHdyt4MnBkSv AQGw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1775040555; x=1775645355; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=VlkLUSDyEHx6JLjw7pnfwIAk+v59q7cjKQnr6yolkkY=; b=c8KNW0P7cAZ/ErWFdGf2n3+iu3jxhSbkrVa5xvf6mQG9qSIvk3Rlf2G5NTxM//PRxo zImPPk+RFC8xFLCi0aILTfFly7jTK9Z5EU7MmfPANv3l/wMIg3gPXTi9rlAU9LC3Nw7/ mBw+jgR9iNXvv3asLI8km2Lj4FRWB3MaAUIcALJz1hYDCyt3jqUXmhzlWgTA+xnd3QM0 wNsY6wQaIeWiotTDItuylDT4sffQGajuFTaBTegtz/W2Z8Au+dT+jHj0OFWK0ZDtXFzN w+Af/r8Vs38PitDnai5VTGw5wMd9IYlKJmen1qzO9lLQS5rEVx/j3zEDhMSkfQl/dMfp sNxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775040555; x=1775645355; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:to:from:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=VlkLUSDyEHx6JLjw7pnfwIAk+v59q7cjKQnr6yolkkY=; b=ndMaKFHLxygL76ac7W5v9/UTZhxGvn0XVpHqxMkB8XrIVWrc8wF+NABFOlGtfaU8qU OWmG782pkIFakBX6192pTpq3JPylLJ/XoBV4IYNQaLRGbaPR1ZP6OzNvfHrL9UFj4+XP aMYX765cSQJE+CWF43+YVNFPvPfEsW/MzH6zmdW6LNSdKRnnTDRWuCHwT+KBMwqzcicX gApaIcP92DEP3mQlhX2pprM22WsRpM0zndItZPH9qFpEIj0n3EJcMSzT6BC06cRyqav3 wRrdyJ/WlBTvMggIYbUO7LFbbK5tX8tHiBfE4hUwA7w5p928H51l/cLXuRV5hFej7I13 SRRw== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCWNm9CzR17pa8H6H6Nn7uUM4a1J+jnW8bXW8ZfbMo7qFwXZLwPRYFJ3XNCkj+sRKcX/3QRbong=@isar-build.org X-Gm-Message-State: AOJu0YyT5E9odyUGcZNpsyb6lYyc0/bgjW/Ge1IUoSh12d7YmGyIXMY6 dHyNA/cWhUbsRikZyw9ljYU4UWvqhB9odNIH1iKx3i/fH8K2gdShaQKp X-Received: by 2002:a05:6512:1393:b0:5a2:7d49:2f63 with SMTP id 2adb3069b0e04-5a2c1ee23f8mr1392901e87.4.1775040554739; Wed, 01 Apr 2026 03:49:14 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AYAyTiKSmRuc4H4Q3XfT9z9R81iKoqO63gESQTlgyWeZqqudmA==" Received: by 2002:ac2:4f14:0:b0:5a2:b1c2:d12d with SMTP id 2adb3069b0e04-5a2b1c2d297ls82615e87.0.-pod-prod-04-eu; Wed, 01 Apr 2026 03:49:09 -0700 (PDT) X-Received: by 2002:a05:6512:118c:b0:5a2:b219:3ecb with SMTP id 2adb3069b0e04-5a2c1f338e5mr1406346e87.42.1775040549304; Wed, 01 Apr 2026 03:49:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775040549; cv=none; d=google.com; s=arc-20240605; b=cz6AA/1t8nW21+i7wOz5JUwyX+8iP4/mp+RpFM5BaWaZJDfFqZWD37eL+kpvT/cLdk V13XH5J/lW2CVIzgETekz8lDl5umag7NhTx7DHBgVsbnXrCZmym4FhcfcgdycN7COIQd nxD8ykmNdYNfkIFucJ1vhQguK8qY4wWxUA6mN8EhzwS16sXB7c2rVhz9APP89ZSPfE7m 4UvZHTIKsfqWX5HleSm9mWdQIg78rLZtGK6oTfwveL8agaJ8c3WzqTBCg9v2g+45JYsm VkdbtROl329+a6RACDGVX4UKvJJGy+4C22FXwNSEHPEHkzohHuXOfoiZ4Zy4+RhCpTaK SCbA== 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:to:from; bh=gQOXwEP80X/wox/zrRB5hPheljtNTIgBpbq9tr73660=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=dt5A2LxrFSM/Kz/zPwg1P2kD4werVrH1l0DVgpsMwk60qakEndMS4D+kYvOxa9wj5h vgmq8cO3Erqo/jI6vY3JLbQSXin0cRUSSveZfu2IM2I09TBbxLHW93qP9gVEDu8bbGcO Vby9czK5YgWZ5YigYl371rGCV3hWv9vMLnxtzqBbptjMNqVt0fyrCtGQ501zdyeE3bqE 14FhBovifBsMrKLFPGGlDZKL0IRwOI5IcEm75C5vniWiqpKLuQnvwBDy52gr73sJvnKy 0gHSrVzzzdPXw831ZUEf5FvfrTOf2mcSKD4x0NGPmrcndocgD1arx+FZzbajW/Byr3CS bPUw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id 2adb3069b0e04-5a2c40a5b7bsi26756e87.2.2026.04.01.03.49.09 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 01 Apr 2026 03:49:09 -0700 (PDT) Received-SPF: pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from debian-zwei.m.ilbers.de ([88.130.203.42]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPA id 631An76i017421 for ; Wed, 1 Apr 2026 12:49:08 +0200 From: Zhihang Wei To: isar-users@googlegroups.com Subject: [PATCH v9 2/3] testsuite: Add testcases to check dtb deployment Date: Wed, 1 Apr 2026 12:49:06 +0200 Message-Id: <20260401104907.3365696-3-wzh@ilbers.de> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260401104907.3365696-1-wzh@ilbers.de> References: <20260401104907.3365696-1-wzh@ilbers.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, 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-Original-Sender: wzh@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Anton Mikanovich Build several images with dtbs deployed to the same path. - test_dtb_deploy_distros Same machine, different distros, same image, same kernel, same dtb name and contents. - test_dtb_deploy_images Same machine, same distro, different images, same kernel, same dtb name and contents. Both fail with: ERROR: mc:phyboard-mira-bookworm:isar-image-base-1.0-r0 do_copy_boot_files: The recipe isar-image-base is trying to install files into a shared area when those files already exist. Those files and their manifest location are: NOTE: recipe isar-image-base-1.0-r0: task do_copy_boot_files: Failed build/tmp/deploy/images/phyboard-mira/imx6q-phytec-mira-rdk-nand.dtb (not matched to any task) Please verify which recipe should provide the above files. Signed-off-by: Anton Mikanovich --- testsuite/citest.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/testsuite/citest.py b/testsuite/citest.py index ab28b68e..ca701422 100755 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -677,6 +677,39 @@ class WicTest(CIBaseTest): ) +class DtbDeployTest(CIBaseTest): + + """ + Build some targets potentially causing DTB deploy issues. + + :avocado: tags=dtbdeploy,full + """ + + def test_dtb_deploy_distros(self): + """ + Cover case: Same machine, different distros + """ + targets = [ + 'mc:phyboard-mira-bullseye:isar-image-base', + 'mc:phyboard-mira-bookworm:isar-image-base', + ] + + self.init() + self.perform_build_test(targets) + + def test_dtb_deploy_images(self): + """ + Cover case: Same machine/distro, different images + """ + targets = [ + 'mc:phyboard-mira-bookworm:isar-image-base', + 'mc:phyboard-mira-bookworm:isar-image-ci', + ] + + self.init() + self.perform_build_test(targets) + + class NoCrossTest(CIBaseTest): """ From patchwork Wed Apr 1 10:49:07 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhihang Wei X-Patchwork-Id: 5001 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 01 Apr 2026 12:49:20 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f64.google.com (mail-wm1-f64.google.com [209.85.128.64]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 631AnJ4t017456 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 1 Apr 2026 12:49:19 +0200 Received: by mail-wm1-f64.google.com with SMTP id 5b1f17b1804b1-483786a09b1sf78944625e9.3 for ; Wed, 01 Apr 2026 03:49:19 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1775040553; cv=pass; d=google.com; s=arc-20240605; b=fWu+wjoZQpQ+kdeecacO3lIXlTESPUsGJKM/10GXZkaBqMi/OZ6aD3s3kMRSc/lVMM PCQ520DeR562c3bbrZK+tOCNun2kykDf+8ISq7E4PDsaE8lbifswYr48rX1JveQVMUhZ 9+8Dl6SHiFpVQC76gQ3o5YhjOPS6m+xhduvsxXS9Xknta8TJLEvcdHkeCJVWDUJ3gbv7 qvuxARTfUPNIRp+G1fn9/Eteg37lf2ASG88PdDZqmQezU43Vckjuudy+qsU6uoh1Uoli 6EVU362cCXNR5sJqYKXsav7DGQ6o4iwwEHPr4uI0Cq/+m/74s5+lpIMlFc3D//rIw6F8 Di1w== 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:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:dkim-signature; bh=ehPsTk3yAKOdf8kaQkmktQPVd+HSeuzhH93IjURmjf0=; fh=jQZ32MhZw5L2GO6CTONPv07iqF5hH7MsF0asyk/kD2E=; b=SUMdvm26EvkjFzbNAKmpuEAj1JEYn64J6MSwIoum9WY9XNRvW/xqdUdtN4puqIChLH Gvvp3/RqiMda/RiEkI4zKgS3GhC08n3L12uSesPZvYBze9rOwQibjZFyeFz+Y1X3z90N 2mf3q85f+qeYI0epCyMj2O8wV6/k8XJdmZrdz2XSqVd334y9MOqnmc3YE/+qPL4BVcsJ Z9RZe0izusAHTDPNbFhby65DqMV4GZBvbCUm4J8pUIRzlcyl7KLxsBu4bpd2oE5VF8JC Czi/s75fvQgWkrYCjih0aTul+g07YHXQ17O6F4GU+dpGsokcfaZaQozHBLNZorlDEzQ2 eu1g==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1775040553; x=1775645353; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=ehPsTk3yAKOdf8kaQkmktQPVd+HSeuzhH93IjURmjf0=; b=b+a3DvmBxqiVlPDa6zzxt5g8rR4Skm00kyi0mj7qyF8xClnEX/4IJ60oc98IqLNJAO hczB0r6fVTsnQFH5y36yCT1JQuJ0Sn2cbh0XYuTEUMTe9P2ytCW32gxk+pTrEbSVRVKH 3CKUbW/LRPUr/My2I5fr5gVeLl7VyMMiiXByKsGQf1BGDZHmrHiEMaTm5vqwut18y7Vk 7eWdfLiZVWZQNivx1S1gUfse9KXNdexmcfGe5YGBT7cV3RpIjLbpOJ38MJ/i8g566/iD a65kRvbkXkxiGVd896Mhgtom+Tw4ogl9cUGmLEE5RGuPWVT0mBg09ElpvdZjbLAabCD9 y0Ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775040553; x=1775645353; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:to:from:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=ehPsTk3yAKOdf8kaQkmktQPVd+HSeuzhH93IjURmjf0=; b=ZURen8lewMzhqc/ptiRwQ2X5v5wYD5/B89HNLXEnQafLSbjSagAIiDULeZqvPmVaba juVrlijskHxDKV59FZFyDLAi8/b/SK1xLfsIopdlDP7+aJHFTiD2RIiQQ4tPrkaip/b2 3bXuZuQcY5whbIyhnejPkDM/7qM4uI7GGw1mKPW+PyLhRJlRCgbsgUY04f572voos2WF kmg2718IkJfkIN1MVfPku1oy8LMgz4DHNvdX+MiV8sbICN3V9jOqU3ugu7HEl5jOvRHK JOD03LFL7iFLv3iBuDTz7MDISKYhZfSV+lUWocgqVlrsP+7AR8nOyDl1rTXErirXgANo FV3Q== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCXkZbu5ry/2O6UJYsTPRolxoo6/0Rhckk8TtwUF6Sr+uThHc6nuzWpJhX2hCfYvz1vN1INQMKQ=@isar-build.org X-Gm-Message-State: AOJu0Yw3QF2ntmaeXaSA1bQIjuZjOGqnYYTm1X8DVxV61uinTl3x9TfN 5RSNaXZ8onBO08SF7bmpx1u2xbWZRnuGwJHq4TZ1bYAMNIrpd8I6pEyt X-Received: by 2002:a05:600c:3e14:b0:486:fe45:483 with SMTP id 5b1f17b1804b1-488835b30b3mr51117145e9.22.1775040553532; Wed, 01 Apr 2026 03:49:13 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AYAyTiIBboyGSH4B1HOTqbiV2cYIrKwGbrV5PlPItnvloSYhZg==" Received: by 2002:a5d:5f84:0:b0:43b:a171:64fe with SMTP id ffacd0b85a97d-43d0a597a5els1703092f8f.2.-pod-prod-09-eu; Wed, 01 Apr 2026 03:49:09 -0700 (PDT) X-Received: by 2002:a05:6000:4201:b0:43b:5231:e94a with SMTP id ffacd0b85a97d-43d150c1557mr5622500f8f.30.1775040549511; Wed, 01 Apr 2026 03:49:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775040549; cv=none; d=google.com; s=arc-20240605; b=IYCgmGW/FfGQL870HdXJ2utxBkYc9TAye5WwObkluvGJnncrFB+P5y4FYwPI9iUYhK YXfEJ3Lu4cYNFGRa0kihCPoLwYQsTXh6DFgoDG11LNEoC0JjNt7Z4ghoZc+jfpMOLgYw 97sPQyMVlOHU9BbS6iSXjJc0NGGbHNAJNMY1ZIWWF53/jraYRlAxGVIUsrjQKUWCs4J6 ATKocP+VoEJg9cEZU4vE77fkbQki319jlOFZkxU0qM9KsLNF6TfA5coYl02uXCulAFv0 snZSEDyH1FwJ+Fven+husUhWW3MPU/yM95qn53TechyCAtEDdig5J+0SNwS85jvqo7T/ kp7Q== 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:to:from; bh=+86onSBFC402DcgQX3DIXJ99gFK8G6nWJf2M5FlEb14=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=LbB+J6wPJQ/U9h/4sTwRUi2U/Byp6XMCIt0B4ybHvhFgH4snW6uj4Ny/V/fo0l3yVL Pt/mV+/eQ8YJ5ujoa8bVYXWnz8DZz6Kihh8W4HdZKw/o6PnT5FVuE/rRJkZdjq4nkEdl 2ISzfBhWOlzya0Uz/BdvC3mnBYfbH7bSnxT734cfRidmDj3yuImDJvlrjiiB28WuUTsI oA598BWavgMIGLsBXFpBaFwaRqOuFRgWNLldz/7yKeWykRdSp0R1DzjONARuiuwPBerR 79kRBMDYQUetVrWTwgVlY0yiRT49QVZ8VPaoRUFvXfVZOl3dZoUP9RSCaNbdMxD+wubK 6Ecg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-43cf25bf00asi239646f8f.8.2026.04.01.03.49.09 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 01 Apr 2026 03:49:09 -0700 (PDT) Received-SPF: pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from debian-zwei.m.ilbers.de ([88.130.203.42]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPA id 631An76j017421 for ; Wed, 1 Apr 2026 12:49:08 +0200 From: Zhihang Wei To: isar-users@googlegroups.com Subject: [PATCH v9 3/3] meta: Deploy image build artifacts into distro- and image-specific subdirs Date: Wed, 1 Apr 2026 12:49:07 +0200 Message-Id: <20260401104907.3365696-4-wzh@ilbers.de> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260401104907.3365696-1-wzh@ilbers.de> References: <20260401104907.3365696-1-wzh@ilbers.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, 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-Original-Sender: wzh@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of wzh@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=wzh@ilbers.de 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= When building different distros or images for the same machine (e.g. phyboard-mira-bullseye and phyboard-mira-bookworm, or isar-image-ci and isar-image-base), artifacts with identical names (e.g. DTB files) may be deployed to the same location, resulting file conflicts and build failures. Deploy image build artifacts into a subdirectory named ${DISTRO}-${IMAGE_PN} to avoid such collisions. Since the directory now encodes the distro and image name, remove the ${DISTRO} and ${IMAGE_PN} prefixes from artifact filenames to keep the names short and clear. Fixes test_dtb_deploy_distros testcase: ERROR: mc:phyboard-mira-bookworm:isar-image-base-1.0-r0 do_copy_boot_files: The recipe isar-image-base is trying to install files into a shared area when those files already exist. Those files and their manifest location are: NOTE: recipe isar-image-base-1.0-r0: task do_copy_boot_files: Failed build/tmp/deploy/images/phyboard-mira/imx6q-phytec-mira-rdk-nand.dtb (not matched to any task) Please verify which recipe should provide the above files. Signed-off-by: Zhihang Wei --- RECIPE-API-CHANGELOG.md | 77 +++++++++++++++++++ .../installer-add-rootfs.bbclass | 9 ++- meta/classes-recipe/image.bbclass | 11 +-- .../imagetypes_container.bbclass | 2 +- meta/conf/bitbake.conf | 3 +- .../plugins/source/isoimage-isohybrid-isar.py | 2 +- testsuite/cibase.py | 2 +- testsuite/citest.py | 7 +- testsuite/start_vm.py | 2 +- 9 files changed, 98 insertions(+), 17 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index e44b4b9d..a0badb74 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -972,3 +972,80 @@ we introduce the variables ``MMAPTOPT_NOEXPKEYSIGN`` and ``DISTRO_MM_OPTS``. While the former provides an argument to disable the key expiry checking, the latter allows users to inject custom options into ``mmdebstrap``. For details, see ``man mmdebstrap``. Use with care! + +### Change DEPLOY_DIR_IMAGE path and artifacts naming + +Change DEPLOY_DIR_IMAGE from ${DEPLOY_DIR}/images/${MACHINE} to +${DEPLOY_DIR}/images/${MACHINE}/${DISTRO}-${IMAGE_PN}. + +When building different distros with the same machine the following +error occurs: + +do_copy_boot_files: The recipe isar-image-base is trying to install +files into a shared area when those files already exists. It happens +when some files have the same names (e.g., dtb files) for different +distros. + +To prevent such collisions, image artifacts are now deployed into a +distro- and image-specific subdirectory. + +Additionally, artifact filenames have been shortened by removing the +${DISTRO} and ${IMAGE_PN} prefix, since this information is now +encoded in the directory path. + +Example 1: Build isar-image-base (phyboard-mira, debian-bookworm) +Under "build/tmp/deploy/images/": +Before: +phyboard-mira/imx6q-phytec-mira-rdk-nand.dtb +phyboard-mira/isar-image-base-debian-bookworm-phyboard-mira-initrd.img +phyboard-mira/isar-image-base-debian-bookworm-phyboard-mira-vmlinuz +phyboard-mira/isar-image-base-debian-bookworm-phyboard-mira.dpkg_status +phyboard-mira/isar-image-base-debian-bookworm-phyboard-mira.ubi + +After: +phyboard-mira/debian-bookworm-isar-image-base/imx6q-phytec-mira-rdk-nand.dtb +phyboard-mira/debian-bookworm-isar-image-base/initrd.img +phyboard-mira/debian-bookworm-isar-image-base/vmlinuz +phyboard-mira/debian-bookworm-isar-image-base/phyboard-mira.dpkg_status +phyboard-mira/debian-bookworm-isar-image-base/phyboard-mira.ubi + +Example 2: Build isar-image-ci (qemuamd64, debian-bookworm) +Under "build/tmp/deploy/images/": +Before: +qemuamd64/isar-image-ci-debian-bookworm-qemuamd64-initrd.img +qemuamd64/isar-image-ci-debian-bookworm-qemuamd64-vmlinuz +qemuamd64/isar-image-ci-debian-bookworm-qemuamd64.dpkg_status +qemuamd64/isar-image-ci-debian-bookworm-qemuamd64.manifest +qemuamd64/isar-image-ci-debian-bookworm-qemuamd64.wic +qemuamd64/isar-image-ci-debian-bookworm-qemuamd64.wic.bmap +qemuamd64/isar-image-ci-debian-bookworm-qemuamd64.wic.manifest + +After: +qemuamd64/debian-bookworm-isar-image-ci/initrd.img +qemuamd64/debian-bookworm-isar-image-ci/vmlinuz +qemuamd64/debian-bookworm-isar-image-ci/qemuamd64.dpkg_status +qemuamd64/debian-bookworm-isar-image-ci/qemuamd64.manifest +qemuamd64/debian-bookworm-isar-image-ci/qemuamd64.wic +qemuamd64/debian-bookworm-isar-image-ci/qemuamd64.wic.bmap +qemuamd64/debian-bookworm-isar-image-ci/qemuamd64.wic.manifest + +Artifacts that do not belong to a full image (e.g. isar-image-base, +isar-image-ci) remain unchanged. For example, a customized initramfs +built independently is not affected. + +This change affects the location and naming of build artifacts and must +be taken into account by downstream users. + +Note that this approach differs from OpenEmbedded. + +OpenEmbedded typically avoids artifact collisions in multiconfig builds +by using separate TMPDIRs per configuration, resulting in multiple +build directories such as tmp-qemuarm64 and tmp-qemuarm64customized. In +this model, artifacts with identical names but different contents do +not cause conflicts because they reside in their own isolated build +directories. + +If multiple configurations are intentionally configured to share the +same TMPDIR in OpenEmbedded, conflicts may occur and are not handled by +OE. Artifacts with the same name overwrite each other, leading to +incorrect build results. diff --git a/meta-isar/classes-recipe/installer-add-rootfs.bbclass b/meta-isar/classes-recipe/installer-add-rootfs.bbclass index 2fa551bd..edf93016 100644 --- a/meta-isar/classes-recipe/installer-add-rootfs.bbclass +++ b/meta-isar/classes-recipe/installer-add-rootfs.bbclass @@ -13,9 +13,10 @@ INSTALLER_TARGET_IMAGES ??= "${INSTALLER_TARGET_IMAGE}" INSTALLER_TARGET_MC ??= "installer-target" INSTALLER_TARGET_DISTRO ??= "${DISTRO}" INSTALLER_TARGET_MACHINE ??= "${MACHINE}" -INSTALLER_TARGET_DEPLOY_DIR_IMAGE ??= "${DEPLOY_DIR}/images/${INSTALLER_TARGET_MACHINE}" +INSTALLER_TARGET_IMAGE ??= "${IMAGE_PN}" +INSTALLER_TARGET_DEPLOY_DIR_IMAGE ??= "${DEPLOY_DIR}/images/${INSTALLER_TARGET_MACHINE}/${INSTALLER_TARGET_DISTRO}-${INSTALLER_TARGET_IMAGE}" -IMAGE_DATA_FILE ??= "${INSTALLER_TARGET_IMAGE}-${INSTALLER_TARGET_DISTRO}-${INSTALLER_TARGET_MACHINE}" +IMAGE_DATA_FILE ??= "${INSTALLER_TARGET_MACHINE}" IMAGE_DATA_POSTFIX ??= "wic.zst" IMAGE_DATA_POSTFIX:buster ??= "wic.xz" IMAGE_DATA_POSTFIX:bullseye ??= "wic.xz" @@ -29,7 +30,7 @@ def get_installer_sources(d, suffix): target_machine = d.getVar('INSTALLER_TARGET_MACHINE') sources = [] for image in installer_target_images: - image_data = f"{image}-{target_distro}-{target_machine}" + image_data = f"{target_machine}" sources.append(f"{target_deploy_dir}/{image_data}.{suffix}") return sources @@ -41,7 +42,7 @@ def get_installer_destinations(d, suffix): target_machine = d.getVar('INSTALLER_TARGET_MACHINE') dests = [] for image in installer_target_images: - image_data = f"{image}-{target_distro}-{target_machine}" + image_data = f"{target_machine}" dests.append(f"/install/{image_data}.{suffix}") return dests diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass index afe6906e..d4f9e2c0 100644 --- a/meta/classes-recipe/image.bbclass +++ b/meta/classes-recipe/image.bbclass @@ -18,8 +18,9 @@ IMAGE_ROOTFS ?= "${WORKDIR}/rootfs" KERNEL_IMAGE_PKG ??= "${@ ("linux-image-" + d.getVar("KERNEL_NAME")) if d.getVar("KERNEL_NAME") else ""}" IMAGE_INSTALL += "${KERNEL_IMAGE_PKG}" -# Name of the image including distro&machine names -IMAGE_FULLNAME = "${PN}-${DISTRO}-${MACHINE}" +# Name the image as the machine name only, since the path includes distro name now +IMAGE_FULLNAME = "${MACHINE}" +IMAGE_PN = "${PN}" # Deprecated; this would be set to e.g. "${INITRAMFS_RECIPE}-${DISTRO}-${MACHINE}-initrd.img" INITRD_IMAGE ?= "" @@ -29,7 +30,7 @@ INITRD_IMAGE ?= "" IMAGE_INITRD ?= "" # Name of the deployed initrd image -INITRD_DEPLOY_FILE = "${@ d.getVar('IMAGE_INITRD') or '${PN}' }-${DISTRO}-${MACHINE}-initrd.img" +INITRD_DEPLOY_FILE = "initrd.img" # Make sure dependent initramfs recipe is built do_image[depends] += "${@ '${IMAGE_INITRD}:do_build' if '${IMAGE_INITRD}' else '' }" @@ -52,7 +53,7 @@ python() { ROOTFS_FEATURES += "${@ 'generate-initrd' if (d.getVar('INITRD_IMAGE') == '' and d.getVar('IMAGE_INITRD') == '') else ''}" # This variable is used by wic and start_vm -KERNEL_IMAGE ?= "${IMAGE_FULLNAME}-${KERNEL_FILE}" +KERNEL_IMAGE ?= "${KERNEL_FILE}" # This defines the deployed dtbs for reuse by imagers DTB_FILES ?= "" @@ -108,7 +109,7 @@ ROOTFS_PACKAGES += "${IMAGE_PREINSTALL} ${@isar_multiarch_packages('IMAGE_INSTAL ROOTFS_VARDEPS += "IMAGE_INSTALL" ROOTFS_MANIFEST_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}" ROOTFS_DPKGSTATUS_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}" -ROOTFS_PACKAGE_SUFFIX ?= "${PN}-${DISTRO}-${MACHINE}" +ROOTFS_PACKAGE_SUFFIX ?= "${MACHINE}" CACHE_DEB_SRC = "${@bb.utils.contains('BASE_REPO_FEATURES', 'cache-deb-src', '1', '0', d)}" python () { diff --git a/meta/classes-recipe/imagetypes_container.bbclass b/meta/classes-recipe/imagetypes_container.bbclass index ea15decf..1c5386a8 100644 --- a/meta/classes-recipe/imagetypes_container.bbclass +++ b/meta/classes-recipe/imagetypes_container.bbclass @@ -9,7 +9,7 @@ CONTAINER_TYPES = "oci-archive docker-archive docker-daemon containers-storage" USING_CONTAINER = "${@bb.utils.contains_any('IMAGE_BASETYPES', d.getVar('CONTAINER_TYPES').split(), '1', '0', d)}" -CONTAINER_IMAGE_NAME ?= "${PN}-${DISTRO}-${DISTRO_ARCH}" +CONTAINER_IMAGE_NAME ?= "container-${DISTRO_ARCH}" CONTAINER_IMAGE_TAG ?= "${PV}-${PR}" CONTAINER_IMAGE_CMD ?= "/bin/dash" CONTAINER_IMAGE_ENTRYPOINT ?= "" diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 0f84e715..7c544e5d 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -57,7 +57,8 @@ WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}/${PV}-${PR}" GIT_DL_LINK_DIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}" DEPLOY_DIR_BOOTSTRAP = "${DEPLOY_DIR}/bootstrap" DEPLOY_DIR_SDKCHROOT = "${DEPLOY_DIR}/sdkchroot" -DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}" +IMAGE_PN ?= "" +DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}${@('/%s-%s' % (d.getVar('DISTRO'), d.getVar('IMAGE_PN'))) if d.getVar('IMAGE_PN') != '' else ''}" DL_DIR ?= "${TOPDIR}/downloads" SSTATE_DIR ?= "${TOPDIR}/sstate-cache" SSTATE_MANIFESTS = "${TMPDIR}/sstate-control/${DISTRO}-${DISTRO_ARCH}" diff --git a/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py b/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py index 0ed61fff..eaef9c79 100644 --- a/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py +++ b/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py @@ -196,7 +196,7 @@ class IsoImagePlugin(SourcePlugin): raise WicError("Couldn't find MACHINE, exiting.") pattern = '%s/%s*%s.%s' % (initrd_dir, image_name, machine, image_type) - pattern = '%s/%s-%s-initrd.%s' % (initrd_dir, image_name, machine, image_type) + pattern = '%s/initrd.%s' % (initrd_dir, image_type) files = glob.glob(pattern) if files: initrd = files[0] diff --git a/testsuite/cibase.py b/testsuite/cibase.py index fd6a3df9..fac2ab75 100755 --- a/testsuite/cibase.py +++ b/testsuite/cibase.py @@ -44,7 +44,7 @@ class CIBaseTest(CIBuilder): self.configure(wic_deploy_parts=wic_deploy_parts, **kwargs) self.bitbake(targets, **kwargs) - wic_path = f"{self.build_dir}/tmp/deploy/images/*/*.wic.p1" + wic_path = f"{self.build_dir}/tmp/deploy/images/*/*/*.wic.p1" partition_files = set(glob.glob(wic_path)) if wic_deploy_parts and len(partition_files) == 0: self.fail("Found raw wic partitions in DEPLOY_DIR") diff --git a/testsuite/citest.py b/testsuite/citest.py index ca701422..f36da786 100755 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -496,8 +496,9 @@ class InitRdBaseTest(CIBaseTest): super().init() self.deploy_dir = os.path.join(self.build_dir, 'tmp', 'deploy') - def deploy_dir_image(self, machine): - return os.path.join(self.deploy_dir, 'images', machine) + def deploy_dir_image(self, mc, image): + multiconfig = f"{mc}:{image}" + return CIUtils.getVars('DEPLOY_DIR_IMAGE', target=multiconfig) def dracut_in_image(self, targets): machine = 'qemuamd64' @@ -526,7 +527,7 @@ class InitRdBaseTest(CIBaseTest): bb_should_fail=False): mc = f'mc:{machine}-{distro.removeprefix("debian-")}' initrd_image = f'{initrd}-{distro}-{machine}-initrd.img' - initrd_path = os.path.join(self.deploy_dir_image(machine), initrd_image) + initrd_path = os.path.join(self.deploy_dir_image(mc, initrd), initrd_image) # cleansstate if the initrd image was already built/deployed to verify # that a new build does result in the image being deployed diff --git a/testsuite/start_vm.py b/testsuite/start_vm.py index 57d169df..a37ffe82 100755 --- a/testsuite/start_vm.py +++ b/testsuite/start_vm.py @@ -50,7 +50,7 @@ def format_qemu_cmdline( image_type = image_fstypes.split()[0] base = 'ubuntu' if distro in ['jammy', 'focal', 'noble'] else 'debian' - rootfs_image = f"{image}-{base}-{distro}-qemu{arch}.{image_type}" + rootfs_image = f"qemu{arch}.{image_type}" if image_type == 'ext4': kernel_image = deploy_dir_image + '/' + kernel_image