From patchwork Tue Mar 11 21:09:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "chris.larson" X-Patchwork-Id: 4087 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 11 Mar 2025 22:09:57 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f183.google.com (mail-lj1-f183.google.com [209.85.208.183]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 52BL9uHV017071 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 11 Mar 2025 22:09:57 +0100 Received: by mail-lj1-f183.google.com with SMTP id 38308e7fff4ca-30bee135e9csf43781431fa.1 for ; Tue, 11 Mar 2025 14:09:57 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1741727390; cv=pass; d=google.com; s=arc-20240605; b=WmWnBoYCaTWi6UIlYN2h/ZB5v3K6aHt6XfCkbpYBPtsMhHJb3SmJ1wn+9YSgRO6oDm 7hsl8gnBEqKP8brZzwDsbR//jFTefFD8T2+aJJZkm14/zJDqkRHX3M0K1DtbFs2sc4xb L6cx9XnyeVVSeG/3fcNzkNuzKHNSa4/BF3LxIaVuuSxaLT0dsf/hWrLdeQwE+xCHycMf Ua1+hoTZuLLoDGG0p2bs5FrSalC8Ia/p+eOgYynIs3UDXUvIT3e/DuDXgF5VnYla4esm p9GdziC6nU9on2DyOyjCaeKr7AlvYipGC5rP1a+5f5vJBgvcLQR8zVA1+D3SEUOQABMv iG1w== 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=6CvD8lPgKW7ETtMqy8jWu28rKy++g6DUTwDKJxvP06Q=; fh=A5e6K5fKjadW/SALGnwi8gK0u+vYmlMXjpXMNNC9ofw=; b=hCC5OfEI5iaL83igV9/uEmg0TfMqKWnzkd+42iVxxvP3EBnyO2cBDcgWLu/4QjbFt9 jIH0g7h6ZEqbq8tkc+Wv5adtnDO84JarPPRQcdxb5ovBi7o6R9OJFFWjUb9vpdQanTa2 QX2nlWVVITKzYjWf3TSrqgNZ7Gqk6CLVp9HOBU+hpxO1sbGnuYkpcLMltSuGv3xgjlqe jgQ6gWa8SFGVazIoSKIDi5WkfjPIE3tPmfFSum3p7w2vu217SwgHLmVhpNbc4KmQomgL DfAaOxbYwxuUQgLDap6RMSv/tOcgRNMGuWbPhd94HdOli54rr7o3JVDdNHGAcfzmTHwV vB5g==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=VJCEny8N; spf=pass (google.com: domain of fm-1325773-20250311210946eb56298a2db6c64bcf-jf83_5@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-1325773-20250311210946eb56298a2db6c64bcf-Jf83_5@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=20230601; t=1741727390; x=1742332190; 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=6CvD8lPgKW7ETtMqy8jWu28rKy++g6DUTwDKJxvP06Q=; b=xdcyRDreZiWk4F8GkSOozXHa4OLKS+F0I7hdidCBTZW3xlVUY7/k+iSz4N62f1q1Vt KQc5JYm4ror96HC04DvIrIcLzx95Es7jf15KlN5bP1wN0Iqn1ZEvWmolPqzKQj+7YFp9 4Q0I3wxdZt/upMqbBqKyKZPAUKXlm8t/8pV7ASM3821SSZgALc+SsZHMsr5JGXDGexSG QZgnRL8YKRSo3Ov9hzKGrltW3lwII+MHC11xMbBb7L8nErWs0z0cizBVRtYoN5Vv4r/Y t+gMLWuH/KFku/ERj0vnVnKvatSZPQCQKIpfXG10ay1Qz/i9dT8YhjDGfcQaelzYvxZL eiYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741727390; x=1742332190; 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=6CvD8lPgKW7ETtMqy8jWu28rKy++g6DUTwDKJxvP06Q=; b=p/gIqlGc4CEtasvN17FrSu0lpl4WyGZk2UqG1F95oKHbq5ZVfipX7XjDeiVElxFL/r o7w40jjUicak8FQywNKtajmgQtohQFs8Wt4JWoWRWN06PnV0HWaUgIrmHqJWdZBb2ZqD REcfe+Nq5kYn27JGs5vrD6lx3ITPPt+eFnUEV6jpmITWO4lpCmhRE2CjeU0yLe23Iiw+ revIYh5BadSEQpAAgK0TXs7eR4vl/K60MjN8zStrRWoNEeXU9A3IB89v31H2cMO1nxV4 CXAppS0ksfiCXJTn6a/O2LGSyHhWNmEWac7s4ZVbkKpu7aizMcsr9PPmd9DrCEI+eV6M qU1Q== X-Forwarded-Encrypted: i=2; AJvYcCX2TNWSfgFQnk0edS6iHyTGO9k6HGitRvxqEQ5lpkpjglBjszJ4tokXjR7tCymc8czFlS5BqXo=@isar-build.org X-Gm-Message-State: AOJu0YxsZYzJ80poC/IrzbXteGP7iAWLwa6FtsL0lOX+4TkglWmJYXfu DMzK6nQtK0kEtNOJJxLHAcqZ6or3VZf7u4f2vZRciqzj2EdK0XVH X-Google-Smtp-Source: AGHT+IE2vuS6BJ435V828RS/eBbQdJkVWsI5HZRNOd+R3BP8TYRizvzjxmlTeFLeBNLpQpKWVLzKUQ== X-Received: by 2002:a2e:a274:0:b0:30b:c96a:775 with SMTP id 38308e7fff4ca-30c20685ad8mr16426981fa.14.1741727389427; Tue, 11 Mar 2025 14:09:49 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=Adn5yVHn6NOyyT6y/B9cyAHXZ+54IfQLRJx9U7tdrTAd3uOx/Q== Received: by 2002:a05:651c:1285:b0:30c:2dce:7716 with SMTP id 38308e7fff4ca-30c2dce7942ls1028251fa.2.-pod-prod-02-eu; Tue, 11 Mar 2025 14:09:47 -0700 (PDT) X-Received: by 2002:a05:651c:211b:b0:30b:b9e4:13c5 with SMTP id 38308e7fff4ca-30c20648a62mr24249871fa.4.1741727386996; Tue, 11 Mar 2025 14:09:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1741727386; cv=none; d=google.com; s=arc-20240605; b=DwZ0eFG61KUHJ5Adi7r+LsvjD/dBbeFk5yLi0368Jnk4mYr9TdSYSzQJk8z7QC0cCc 3lqGUES5cT9+mYeLMkiirYA1EtNTs6YnstPXO0QkYTHsD741955yUxRWRp0vAoxXmDve ZELzI0Ef+kNbeCjdeOdHzArYk86eMIHBXnrRA/BTu5Fav9jQ1b00wQ3wNaVmf6Z5wwjr wJTJ4leNp8rHmDgihAQsnOOEyzoDxPceDv/RvzJQlBSG8p7nrqhXZ/W+84Tso9l5UGu1 QVSrSNgy+7/EBMh7VaqU69WDD3gnEJ1gQ/dRHVHXiAqT+7Ze5gtoDBs/a0zQAP2IUzbl B4Yw== 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=gjM1q9H7D4fGhoWvD0bP26ITHpr42z1FTpT1tsUZiBA=; fh=bxwHoRtzgcBE20fsluyIAvpVkk49eQhu61r0Hn3s3Yc=; b=adt0gCCzXsUSDEWZXGU7fUCOQL3Jw5FIB3Us/I2omUDC3JH3hX0jRXi9/6eRl0VIrZ MGI85Z6no3vRRnHR9bvleifqjPQZ1WZ3pqjB3SevNkUQ5yu11S2NGEfbY+OVEsjVMJVu e8zFsTv1BEcZcj43dcMemkvKHzpCq/BweB2I/GyUSGsBp+kKcMngqquveYu9abjHhEpv W4CnaZZSDrLFbo1Wytx6ylxiGLsTS8XBvGOOiaDiY49QdtWnsyBpeNHYsXgQYZ/NB1zz LeCXxOPWNhaA1cnZwyKITLv/7Byn8RVxFN/YntNfn5dXSZjvW7dKuth0eSXodp2B0si6 GU0w==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=VJCEny8N; spf=pass (google.com: domain of fm-1325773-20250311210946eb56298a2db6c64bcf-jf83_5@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-1325773-20250311210946eb56298a2db6c64bcf-Jf83_5@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-228.siemens.flowmailer.net (mta-65-228.siemens.flowmailer.net. [185.136.65.228]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-30be99c911dsi2464761fa.5.2025.03.11.14.09.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Mar 2025 14:09:46 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1325773-20250311210946eb56298a2db6c64bcf-jf83_5@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) client-ip=185.136.65.228; Received: by mta-65-228.siemens.flowmailer.net with ESMTPSA id 20250311210946eb56298a2db6c64bcf for ; Tue, 11 Mar 2025 22:09:46 +0100 X-Patchwork-Original-From: "chris.larson via isar-users" From: "chris.larson" To: isar-users@googlegroups.com Cc: Cedric Hombourger , Christopher Larson Subject: [PATCH 1/3] classes: add 'customization' package support Date: Tue, 11 Mar 2025 14:09:36 -0700 Message-ID: <20250311210939.4090-2-chris.larson@siemens.com> In-Reply-To: <20250311210939.4090-1-chris.larson@siemens.com> References: <20250311210939.4090-1-chris.larson@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1325773:519-21489:flowmailer X-Original-Sender: chris.larson@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=VJCEny8N; spf=pass (google.com: domain of fm-1325773-20250311210946eb56298a2db6c64bcf-jf83_5@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-1325773-20250311210946eb56298a2db6c64bcf-Jf83_5@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: chris.larson@siemens.com Reply-To: chris.larson@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: Christopher Larson A number of downstream layers have customization dpkg-raw recipes making use of template variables to support build-time settings: add the infrastructure to Isar to help uniformization of such recipes. Settings are often specific to a DISTRO, MACHINE or IMAGE: provide a mechanism to decorate (prefix or suffix) packages being constructed and pulled into the image. This helps use of customization packages in multiconfig builds but also with the deployment of binary package feeds for projects supporting multiple variants. To create a customization package, a recipe must inherit the `dpkg-customization` bbclass. By default, images will inherit the `image-customizations` class, which will install the package for any customizations listed in `CUSTOMIZATIONS`. To add variables to the customization package names, beyond the default DISTRO and MACHINE, add them to `CUSTOMIZATION_VARS` as variable references (`${DISTRO}`, `${MACHINE}`). By default, these variables are appended to the package name, but if they should be prefixed, add them to `CUSTOMIZATION_VARS_PREFIXED`. By default, the `DISTRO` and `MACHINE` variables are used, and the `DISTRO` is prefixed, while the `MACHINE` is suffixed. To enable support for per-image changes, and per-image customization packages, add the image name to `CUSTOMIZATION_FOR_IMAGES`. In the customization package recipe, the `IMAGE` variable will be set to the image name, and the package name will be decorated with the image name. The `IMAGE` will also be added to the `OVERRIDES`, allowing for variable definitions like this in the customization recipe: HOSTNAME:isar-image-ci = "isar-ci" When `CUSTOMIZATION_FOR_IMAGES` is defined, `${IMAGE}` will be implicitly added to `CUSTOMIZATION_VARS`, and the package will be decorated with the image name. Signed-off-by: Christopher Larson --- meta/classes/customization-base.bbclass | 21 +++++++++++++ meta/classes/dpkg-customization.bbclass | 37 +++++++++++++++++++++++ meta/classes/image-customizations.bbclass | 30 ++++++++++++++++++ meta/classes/image.bbclass | 1 + 4 files changed, 89 insertions(+) create mode 100644 meta/classes/customization-base.bbclass create mode 100644 meta/classes/dpkg-customization.bbclass create mode 100644 meta/classes/image-customizations.bbclass diff --git a/meta/classes/customization-base.bbclass b/meta/classes/customization-base.bbclass new file mode 100644 index 00000000..82cad67e --- /dev/null +++ b/meta/classes/customization-base.bbclass @@ -0,0 +1,21 @@ +# Common class for customization packages, used by dpkg-customization.bbclass +# and image-customizations.bbclass. + +LIST_VARIABLES += "CUSTOMIZATIONS CUSTOMIZATION_VARS CUSTOMIZATION_VARS_PREFIXED" + +CUSTOMIZATIONS ?= "" +CUSTOMIZATIONS[doc] = "List of customization packages to be installed in images." + +CUSTOMIZATION_VARS ?= "${DISTRO} ${MACHINE}" +CUSTOMIZATION_VARS[doc] = "List of variables that should be added to customization package names." +CUSTOMIZATION_VARS_IMAGE ?= "${IMAGE}" +CUSTOMIZATION_VARS:append = " ${@d.getVar('CUSTOMIZATION_VARS_IMAGE') if d.getVar('CUSTOMIZATION_FOR_IMAGES').strip() else ''}" + +CUSTOMIZATION_VARS_PREFIXED ?= "${DISTRO}" +CUSTOMIZATION_VARS_PREFIXED[doc] = "List of variables from CUSTOMIZATION_VARS that should be prefixed rather than suffixed to customization package names." + +CUSTOMIZATION_FOR_IMAGES ?= "" +CUSTOMIZATION_FOR_IMAGES[doc] = "List of images that should install the customizations in CUSTOMIZATIONS" + +CUSTOMIZATION_PREFIX ?= "${@'-'.join(var for var in d.getVar('CUSTOMIZATION_VARS').split() if var in d.getVar('CUSTOMIZATION_VARS_PREFIXED'))}" +CUSTOMIZATION_SUFFIX ?= "${@'-'.join(var for var in d.getVar('CUSTOMIZATION_VARS').split() if var not in d.getVar('CUSTOMIZATION_VARS_PREFIXED'))}" diff --git a/meta/classes/dpkg-customization.bbclass b/meta/classes/dpkg-customization.bbclass new file mode 100644 index 00000000..7b8c586b --- /dev/null +++ b/meta/classes/dpkg-customization.bbclass @@ -0,0 +1,37 @@ +inherit dpkg-raw customization-base + +PRE_CUSTOMIZATION_PN := "${PN}" +FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" +PN =. "${@d.getVar('CUSTOMIZATION_PREFIX') + '-' if d.getVar('CUSTOMIZATION_PREFIX') else ''}" +PN .= "${@'-' + d.getVar('CUSTOMIZATION_SUFFIX') if d.getVar('CUSTOMIZATION_SUFFIX') else ''}" + +BBCLASSEXTEND = "${@' '.join(f'dpkg-customization:{image}' for image in d.getVar('CUSTOMIZATION_FOR_IMAGES').split())}" + +python customization_virtclass_handler() { + orig_pn = d.getVar('PRE_CUSTOMIZATION_PN') + + d = e.data + extend = d.getVar('BBEXTENDCURR') or '' + variant = d.getVar('BBEXTENDVARIANT') or '' + if extend != 'dpkg-customization' or variant == '': + d.appendVar('PROVIDES', f' {orig_pn}') + d.setVar('IMAGE', '') + return + + vars = (d.getVar('CUSTOMIZATION_VARS', expand=False) or '').split() + if '${IMAGE}' not in vars: + return + + images = (d.getVar('CUSTOMIZATION_FOR_IMAGES') or '').split() + if variant not in images: + return + + d.setVar('IMAGE', variant) + if not d.getVar('BPN').endswith(f'-{variant}'): + d.appendVar('BPN', f'-{variant}') + d.appendVar('PROVIDES', f' {orig_pn}-{variant}') + d.appendVar('OVERRIDES', f':{variant}') +} +addhandler customization_virtclass_handler +customization_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise" + diff --git a/meta/classes/image-customizations.bbclass b/meta/classes/image-customizations.bbclass new file mode 100644 index 00000000..996f3fb8 --- /dev/null +++ b/meta/classes/image-customizations.bbclass @@ -0,0 +1,30 @@ +inherit customization-base + +def customization_packages(d): + customizations = d.getVar('CUSTOMIZATIONS').split() + if not customizations: + return '' + + # Use image-specific customization if enabled for this image + images = (d.getVar('CUSTOMIZATION_FOR_IMAGES') or '').split() + image = d.getVar('BPN') + if not images or image not in images: + d.setVar('IMAGE', '') + else: + d.setVar('IMAGE', image) + + prefix = d.getVar('CUSTOMIZATION_PREFIX') + if prefix: + prefix += '-' + + suffix = d.getVar('CUSTOMIZATION_SUFFIX') + if suffix: + suffix = '-customization-' + suffix + else: + suffix = '-customization' + + customizations = [ prefix + package + suffix for package in customizations ] + return ' '.join(customizations) + +CUSTOMIZATION_PACKAGES = "${@ customization_packages(d) }" +IMAGE_INSTALL:append = " ${CUSTOMIZATION_PACKAGES}" diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 56eca202..d36bb816 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -80,6 +80,7 @@ inherit image-tools-extension inherit image-postproc-extension inherit image-locales-extension inherit image-account-extension +inherit image-customizations # Extra space for rootfs in MB ROOTFS_EXTRA ?= "64" From patchwork Tue Mar 11 21:09:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "chris.larson" X-Patchwork-Id: 4088 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 11 Mar 2025 22:09:58 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f187.google.com (mail-lj1-f187.google.com [209.85.208.187]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 52BL9uEm017074 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 11 Mar 2025 22:09:57 +0100 Received: by mail-lj1-f187.google.com with SMTP id 38308e7fff4ca-30bf67adf33sf1217931fa.0 for ; Tue, 11 Mar 2025 14:09:57 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1741727391; cv=pass; d=google.com; s=arc-20240605; b=inmFRzWSwXOriyhLLGzGewkgKcfw7ilgktVKAjlOfbrxKNh0l8zO2jXMrYqjXnYmE/ f7WcNp3VlfjMqZQyWX9BRm5cvLsr64AhrwGulFhS/ytF2SlOT4AyzZWMqJ7FA5teRZW+ aSS8OFYoM75VWyeILPvNHP3d/Q2E4Y2ujlB7Gfj7cScHb4bKGjD+2FT2R+E0zX77T6t2 pmTUUa4zaalMWQwvjoxV0LuM6OHbPLb9MBeGs9OFkC1VUazvFb49PDZOM+t8pIbatAkT yXHG0406iO+pCeHijDRUq363dkJGXQsWsRYVo4K8OKl7cQnXQox0B4LtEwBmuGTLM66F ivqg== 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=mAjk0SJ1ByY2n5gpnyeH9w0zgvahrQIcfv2IWBVVIVY=; fh=x7G3MDF4OzlxiNZjIKmtOTdqtywf6uqV58xO7Ylpo90=; b=BI/1wJtExc+eoeMSio9mzSuFJ/+hN5odpHfBAplEW6ZqlfbAO1jB7fVJCC0Swvv1aY DBMHujUnzDb+Xo0JqzKxESFIRa0aH10jLEGVS9/dL0KE+jmtyB9RSJh9rP+pLu51+0Wp BKBeiDftEEevTrVihHDhUi1xL40lmkOEWuLFVAhBeYwSHULILt8HsxC1NjO7ERLhPBeu eWQtrSpPLtMPB5Wi8LMyo3CS26hSK9BwgNrd2ERbOP/YOfycqmgqQsHOVauGVbpVvHJQ fwtnFILr2N9I0jnGBZZXhAEpurmpQW84ADotPVOaRUIYFUYKaImkA0zrcLEAHVEFyab8 OQXw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=CYkpYJds; spf=pass (google.com: domain of fm-1325773-20250311210947dfba5cb4dc68030f2b-mcv1nq@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-1325773-20250311210947dfba5cb4dc68030f2b-Mcv1nq@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=20230601; t=1741727391; x=1742332191; 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=mAjk0SJ1ByY2n5gpnyeH9w0zgvahrQIcfv2IWBVVIVY=; b=I6NGwEinMY2v9Dm2YhnjIjhRmunwBPtyn7Slf/I6+/GXff+2+AwNZdJq8tYhSHlpO/ q4Nm8Y90G5ummGbbZGodLBkhqhx8g5aaQMO8Vd84TMwhjKLs0k5UHNP/3vC/6r1c5gM+ dCbvUKORZ3QNwto2Cz9AHpjRyeNHHRzo4919DWLUuHw1z19ETJ+tSPQOqni/rVCOnJsM yz/jLuZ9Oq8+kUYXxyY20vJy0BLUk/1KmaqH8C1r4GvQJ52c950No/+0HPL/3oUpRvqN flHAEzfzAU512mV1KxFOBtxtQCyS9kBMBnB1HiyfCyCEJUJXhGdHAxJf9s0Sr2wueuSA /7zQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741727391; x=1742332191; 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=mAjk0SJ1ByY2n5gpnyeH9w0zgvahrQIcfv2IWBVVIVY=; b=Rz5SlFlqoc0BYqp0cI+TMGGEOTFAtT7npKa41W9R3h19qSDSuYDNs1ikb92ryve43y Um7hzhhvId7qYR/QM+tc6zO5ZaLDD6ExuZCkZuKNuUUA0rWd/k0RJKmK8VcgAtxtJLg4 VkIdSK6utDoKJJIo1NsCEPIms1l6g2VALQRkkOwUK1JNfxxA5ZU8rGibZ9dKhEF7EirP uYmQmAhm2Ztk0CM4Uyn4TrIWlPVqiEW2T9o8WTapEmqdNzekKEmF8m806Tf6LvGeh9FC wxZFtx1cCIOAzWYws7LjgWGPAu+GhcomeSGEHI4mX66015aqqmHZHmWC+YHfaB7yRdLo rVQg== X-Forwarded-Encrypted: i=2; AJvYcCVciklxaPAzwU6PKzZm/lwr5s/fX2wKyp54dqc7DuPIDCh42nSL2oDF/eINfMrUIObK/yhtKw8=@isar-build.org X-Gm-Message-State: AOJu0YzFuaZ3+pvmCcGmYi9d1kOeQ2ghxVOOM5RotJ+ghH2V1LgyvO1s +aJfstw8xNC2MNjHtEikoW54xoAhwyogA+UmaVAAw572mv0GshkF X-Google-Smtp-Source: AGHT+IFX5coo/1HCMxaRyiXV7cHk36jCT6zzs6/FxNFkT9Feo2sGaTiJUNvI0sbjXoXl+Yn26weawA== X-Received: by 2002:a2e:be27:0:b0:30b:b78e:c445 with SMTP id 38308e7fff4ca-30c20f38e92mr18266761fa.17.1741727389790; Tue, 11 Mar 2025 14:09:49 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=Adn5yVHQdV9IrSFqa+jpBZzGBjOcTR7iFHPRPAFyQbiRbjyjlQ== Received: by 2002:a2e:904b:0:b0:30b:cd8f:cb78 with SMTP id 38308e7fff4ca-30be36f3816ls1339651fa.1.-pod-prod-00-eu; Tue, 11 Mar 2025 14:09:47 -0700 (PDT) X-Received: by 2002:a2e:b8c3:0:b0:30b:fc16:d482 with SMTP id 38308e7fff4ca-30c20e3f100mr24460711fa.3.1741727387586; Tue, 11 Mar 2025 14:09:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1741727387; cv=none; d=google.com; s=arc-20240605; b=PYRWXpE0f3Uy+WoZhATO3leJvL1wm+zkogR6a8XQsmgq78K8tlKNlln4VTrtxUApur 3erUBBYR7TfPUHvSUsOzzvr0Pca0VgHOFwi/LDqzHe4zjB05pqBfZclishZMoKW99Fo2 1sfrdIBQc3pLrQoAga4R4YvpYIIXsNxh2HPaVo8BqIUm+KhU5KjxSAJfrDqFxtvhIjYO xy+Ua5DrhJyfElpojsS471vS10Zd2UI/XqkBHJitbXFXCVQQ44I+/545952YFgf1pXWr sYC0xgtGwBlKIKVF3OfKUF/XlQBvXKfsNxpkR0rqsKi6gOTsKuavFJdj3DnUoNly6LQI r16g== 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=VIh75rRNa46ykt22zGuPNTHRGTrvUMiCSIL3pBI+0ZI=; fh=bxwHoRtzgcBE20fsluyIAvpVkk49eQhu61r0Hn3s3Yc=; b=Ddg++gcHmu5GRbQz1OeLykEPWwRiM5aIyYpAyp6XYQ/h1n1qlW0H6gz0RPacvInjxV x539Axfh3ZKKAb+rOvWDpPJBCUN0AwqSid+hduOs4HAZJKViYz/ZXh6nqb+3v9W6Yaxc ppLlVtOtpyQ2cY51Sx/p0ATH20yZPw/0JjniUkanp02H7ZtPWBY2cQ1ozqRcXoSby7UW L7u6Vs79Kg41zMxMf6gve815ngmMvUGpBnROLPjaxQcR6xG3MtZ7VQJjBCvGrqjCCQeT z0Yr701czFjQo71Yqt7kHC97WEMWtUSO75CJuyskVneWiji6vg9uui7F84mH3yWevSFP MPXA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=CYkpYJds; spf=pass (google.com: domain of fm-1325773-20250311210947dfba5cb4dc68030f2b-mcv1nq@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-1325773-20250311210947dfba5cb4dc68030f2b-Mcv1nq@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-228.siemens.flowmailer.net (mta-65-228.siemens.flowmailer.net. [185.136.65.228]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-30be99c911dsi2464761fa.5.2025.03.11.14.09.47 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Mar 2025 14:09:47 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1325773-20250311210947dfba5cb4dc68030f2b-mcv1nq@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) client-ip=185.136.65.228; Received: by mta-65-228.siemens.flowmailer.net with ESMTPSA id 20250311210947dfba5cb4dc68030f2b for ; Tue, 11 Mar 2025 22:09:47 +0100 X-Patchwork-Original-From: "chris.larson via isar-users" From: "chris.larson" To: isar-users@googlegroups.com Cc: Cedric Hombourger , Christopher Larson Subject: [PATCH 2/3] hostname-customization: add initial customization package Date: Tue, 11 Mar 2025 14:09:37 -0700 Message-ID: <20250311210939.4090-3-chris.larson@siemens.com> In-Reply-To: <20250311210939.4090-1-chris.larson@siemens.com> References: <20250311210939.4090-1-chris.larson@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1325773:519-21489:flowmailer X-Original-Sender: chris.larson@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=CYkpYJds; spf=pass (google.com: domain of fm-1325773-20250311210947dfba5cb4dc68030f2b-mcv1nq@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-1325773-20250311210947dfba5cb4dc68030f2b-Mcv1nq@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: chris.larson@siemens.com Reply-To: chris.larson@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: Christopher Larson This package provides a simple customization package that allows the hostname to be set in the image. As this value is set from the `HOSTNAME` metadata variable, it must be set in the metadata. Signed-off-by: Christopher Larson --- .../customizations/hostname-customization.bb | 11 +++++++++++ .../hostname-customization/postinst.tmpl | 5 +++++ 2 files changed, 16 insertions(+) create mode 100644 meta/recipes-support/customizations/hostname-customization.bb create mode 100644 meta/recipes-support/customizations/hostname-customization/postinst.tmpl diff --git a/meta/recipes-support/customizations/hostname-customization.bb b/meta/recipes-support/customizations/hostname-customization.bb new file mode 100644 index 00000000..ba37c973 --- /dev/null +++ b/meta/recipes-support/customizations/hostname-customization.bb @@ -0,0 +1,11 @@ +inherit dpkg-customization + +DESCRIPTION = "Amend the system hostname" +LICENSE = "gpl-2.0" +LIC_FILES_CHKSUM = "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe" +MAINTAINER = "isar-users " +DEBIAN_DEPENDS = "netbase" +PV = "0.3" +SRC_URI = "file://postinst.tmpl" +TEMPLATE_FILES = "postinst.tmpl" +TEMPLATE_VARS = "HOSTNAME" diff --git a/meta/recipes-support/customizations/hostname-customization/postinst.tmpl b/meta/recipes-support/customizations/hostname-customization/postinst.tmpl new file mode 100644 index 00000000..db9475df --- /dev/null +++ b/meta/recipes-support/customizations/hostname-customization/postinst.tmpl @@ -0,0 +1,5 @@ +#!/bin/sh + +echo "${HOSTNAME}" > /etc/hostname +echo "127.0.1.1 ${HOSTNAME}" >> /etc/hosts +sed -i -e 's/^127.0.0.1[[:space:]]\+localhost$/& localhost.localdomain/' /etc/hosts From patchwork Tue Mar 11 21:09:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "chris.larson" X-Patchwork-Id: 4089 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 11 Mar 2025 22:09:59 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f62.google.com (mail-lf1-f62.google.com [209.85.167.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 52BL9wcn017090 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 11 Mar 2025 22:09:58 +0100 Received: by mail-lf1-f62.google.com with SMTP id 2adb3069b0e04-5495851a7a9sf3482496e87.3 for ; Tue, 11 Mar 2025 14:09:58 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1741727393; cv=pass; d=google.com; s=arc-20240605; b=VxueZ7zN+gB9C34fIKNXsy+VuV7ORHnAolIPEAaVR0sKV8At9pocPNBUSJ1rig6NYy 9ZzscFZ53SKej7GuO78ckOI+2ADoSqJXtCAJyNZU8opqHfAXyeGplHnGO/60utqnI+Q2 c+qPKhxB/nb16Ce0Hvwjx2YjQN7xE5ApDFqWa6iRE4cZinI2iWIYicQBr6lpZ3Y5G+rj sjWl277gaXw3pCva/VludpecD8YmPO3qbhTMT1hFYtGDset/o4eVt2n2aco7Xk3zrAH9 ftSv5t+j3U2LOAluaLRoryz/GpO4Fwl80RWm+i938CNa+CvmB8Fieyx5ZfTIrVW32YJ5 yYLQ== 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=FVcs5JVYiduLHM+xWT8jxSwHA9/RCogH0VOB0ojJa/k=; fh=Hh1Xz/Y0646xelufk1dT5f3OjDIfv2I9j815TG5BMUY=; b=a9DCEEwVL80SYbGpH0Lu17Yz9TQORnbOlhFW0PEYiNyP2FvCbf7dONCDuixjXR1zeA aet0Pa32iXl7speVPYQDO3Xpp+f8urE7HgdQM/xnW8Lpsuyien7L+M5p3LAtVNY7Uuxo ySrh7UR92Pe/9hP3ZKwoFmvIvucMkRExfBmgCJX3ocFh/tW9KYvhUJOeej9b+8qgwzeb wGPKWL2thhdxpuPWYRB3ac/nPeeUcxTp54H6NiKgeb6/yL8vw4q/qsYeeja68mx9vb4L WeLyWvoNARIPhx9ODvCgy3uZYredJemfo70qRn+8EF7OIyeRyRMpkfGZwdsNRFEduoDQ kD8g==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=NPeBKYme; spf=pass (google.com: domain of fm-1325773-202503112109481f90be7ac3884bf2db-nhkjgs@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-1325773-202503112109481f90be7ac3884bf2db-NHKjgS@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=20230601; t=1741727393; x=1742332193; 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=FVcs5JVYiduLHM+xWT8jxSwHA9/RCogH0VOB0ojJa/k=; b=RIscjmuKypX1BhGidGnZ3EMdIMZTyYdezi6qys55xop4UMxvbFdwZMrj3GIgWvYxgi z+przM3bosqQCuPNGO5Cm5Ew9Z+kyszORpdMMdiORfjOhM6mcNtyQzezVNAFywn2gd3R +nCuzDrnMFDpQRLe39se0IX/3dWdVn5t2qWrG3Qv5FWLNkgqYZVD+StUzSTdRQGwD+og 2jF5Y6m/8undgg2+MkA/9eEUGngCY9jcZMCBWdksDC/c9kgkKAz6xULEyrNhxpx6krc2 FXGVYAK8KDnR6Zd257Z2C2aozR4bm2/omQ/BMAPTsdjyLOPOcLG/2IK0iWtgv6XAvxq/ Z6fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741727393; x=1742332193; 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=FVcs5JVYiduLHM+xWT8jxSwHA9/RCogH0VOB0ojJa/k=; b=DnaDeoZpKzw+8LiQiM3kq6YcP5Tep6T47JPbTExTMxzswz1lKZBQ0VMo/fLaHBil6q kW4oEUMdWQ2z7LicRUfiWqpSORjmT3Tnw1EsZsCB9YhJu+svmEVjkHEhh8RZFKHlGkFn 5DfNiWf/pOOuJIAh6GL12b4BIV3cYIccUeHBaIq4Ye285GM/smg6YpovY32m8d8WMfR0 T8y5U2d2sbwalruV6FmmnSAhlRptuJreziDFzP+//Z0tYHlXAuRuaP59Ov6wVk2ffJ3M 2BHnHi/0/KoLGcWfHFg4Bh9/xyFOnq8TupPMF7ld0D0XPPmJXfd3ofhcUA5vYFLuhKRj GlUA== X-Forwarded-Encrypted: i=2; AJvYcCUS7EjzMTpgZavayveo3bVR9OElEVtouzbN+m+Qm2b5o1SXJLFOfWdRTgZQyGJmu94sySLhH/8=@isar-build.org X-Gm-Message-State: AOJu0Yx20o/g9dpvFBABTwHEf3c1UCI7KbpQEQ055a1adGUilvPKzPcP v/5Yk6BDNVNRxRLxMfYGQGUFAw/UTC0ZRYInBQ01vndtamKI6urw X-Google-Smtp-Source: AGHT+IGYicH/gr+rvR3p9hoVZVj+M809emrTq88z0GLxeefBGdPUPjf0OibN/qrxn/NbhJtrjrkVuQ== X-Received: by 2002:a05:6512:224f:b0:545:381:71e with SMTP id 2adb3069b0e04-54990eb17bbmr6037610e87.40.1741727391286; Tue, 11 Mar 2025 14:09:51 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=Adn5yVG0R4XNy+QmiKVmNtTDhO5z1Rj1fHN6JvtJhxH7DphdFg== Received: by 2002:a2e:8007:0:b0:30b:f8d2:606b with SMTP id 38308e7fff4ca-30bf8d26525ls4069201fa.1.-pod-prod-04-eu; Tue, 11 Mar 2025 14:09:49 -0700 (PDT) X-Received: by 2002:a05:651c:19a1:b0:30b:f24f:d6a5 with SMTP id 38308e7fff4ca-30bf44e1d8dmr65338941fa.3.1741727388882; Tue, 11 Mar 2025 14:09:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1741727388; cv=none; d=google.com; s=arc-20240605; b=EQaFTfEq6G9puPdvfgWfeFLQ3GJjLXI+N0Lauejv6l5e0IodohaZPETXa3MifuN/JB KXRDJBCi4rrwRW4fxY6fotXB++6kcf71Eu8NdJ7clk2YpS2xocrtIE/HibQ3yeHKJTRt 54fiBBYeq3WhDW6xpnKpB5Uoa6RwSOTTyfybGjaBUnFIV/dNsuAhs9pj4Yzg0GLEcoMS lSb4U/5tXD2PLSt3Je2jGh/PLMGoFDtzq01TJwZO9ISqUi4Wj7oof2J6+fCgTeM2AaRe mDuxuwDcy1X0Q+oBKIMsEZpFNE5csYXl9NGOQVtTlzrPZYpVmyPtbqWYyG2WWbaVK7wF 7zIA== 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=8deoDiVndOuNd+6cuGxSG++xxi/mmaTPlUVzZHAmUYM=; fh=bxwHoRtzgcBE20fsluyIAvpVkk49eQhu61r0Hn3s3Yc=; b=I480emKzpKR6M4qWNcMlTgajXqeeCyFdt23lLddJtgfKTIp4rQ+3tPIWfAmCc2FUK3 mkqBOX5BMPT/S1dzqkjAte8Kx3KSTyKYZYViZItBDqgz0PZKGDBua80BAgqdXQXqvoF7 3AGulOLGM7cVWd4E999J3/a82M4Wtu+tydZpZHcjY4Ku/xVyfeEcLyvpcwMFgzs6scL1 LkT/QTlwKFHDrZPfmAem4ipt869ATtHxxMTmeXxMSmxpfjJ6lQJxNwht1K5gca6PSuiN zOXyJxbvtSiiC5zjspuE9hj9HIzaPeBhOL/VDleM7qKSH/FhZln7xKol/zJyvn6FQ3/t eUAw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=NPeBKYme; spf=pass (google.com: domain of fm-1325773-202503112109481f90be7ac3884bf2db-nhkjgs@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-1325773-202503112109481f90be7ac3884bf2db-NHKjgS@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-228.siemens.flowmailer.net (mta-65-228.siemens.flowmailer.net. [185.136.65.228]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-30be99c911dsi2464761fa.5.2025.03.11.14.09.48 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Mar 2025 14:09:48 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1325773-202503112109481f90be7ac3884bf2db-nhkjgs@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) client-ip=185.136.65.228; Received: by mta-65-228.siemens.flowmailer.net with ESMTPSA id 202503112109481f90be7ac3884bf2db for ; Tue, 11 Mar 2025 22:09:48 +0100 X-Patchwork-Original-From: "chris.larson via isar-users" From: "chris.larson" To: isar-users@googlegroups.com Cc: Cedric Hombourger , Christopher Larson Subject: [PATCH 3/3] testsuite: add 'customizations' test Date: Tue, 11 Mar 2025 14:09:38 -0700 Message-ID: <20250311210939.4090-4-chris.larson@siemens.com> In-Reply-To: <20250311210939.4090-1-chris.larson@siemens.com> References: <20250311210939.4090-1-chris.larson@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1325773:519-21489:flowmailer X-Original-Sender: chris.larson@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=NPeBKYme; spf=pass (google.com: domain of fm-1325773-202503112109481f90be7ac3884bf2db-nhkjgs@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-1325773-202503112109481f90be7ac3884bf2db-NHKjgS@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: chris.larson@siemens.com Reply-To: chris.larson@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: Christopher Larson This test builds isar-image-ci with the hostname customization enabled, and verifies that the customization applied correctly. Signed-off-by: Christopher Larson --- testsuite/cibuilder.py | 9 +++++++++ testsuite/citest.py | 21 +++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py index b5b6a093..1746171e 100755 --- a/testsuite/cibuilder.py +++ b/testsuite/cibuilder.py @@ -109,6 +109,7 @@ def configure( source_date_epoch=None, use_apt_snapshot=False, image_install=None, + customizations=None, **kwargs, ): # write configuration file and set bitbake_args @@ -155,6 +156,7 @@ def configure( f" sstate_dir = {sstate_dir}\n" f" ccache_dir = {ccache_dir}\n" f" image_install = {image_install}\n" + f" customizations = {customizations}\n" f"===================================================" ) @@ -216,6 +218,13 @@ def configure( f.write('IMAGE_INSTALL = "%s"\n' % image_install) if fail_on_cleanup == '1': f.write('ISAR_FAIL_ON_CLEANUP = "1"\n') + if customizations is not None: + if not isinstance(customizations, str): + customizations = ' '.join(customizations) + f.write('CUSTOMIZATIONS = "%s"\n' % customizations) + f.write('CUSTOMIZATION_VARS:append = " ${IMAGE}"\n') + f.write('CUSTOMIZATION_FOR_IMAGES:append = " isar-image-ci"\n') + f.write('HOSTNAME:isar-image-ci = "isar-ci"\n') # include ci_build.conf in local.conf with open(self.build_dir + '/conf/local.conf', 'r+') as f: diff --git a/testsuite/citest.py b/testsuite/citest.py index 47f49263..66b39334 100755 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -345,6 +345,27 @@ def test_container_sdk(self): ) +class CustomizationsTest(CIBaseTest): + """ + Test image customizations using the hostname-customizations package. + + :avocado: tags=customizations,single,full + """ + + def test_single_customization(self): + self.init() + machine = self.params.get("machine", default="qemuamd64") + distro = self.params.get("distro", default="bullseye") + + self.perform_build_test("mc:%s-%s:%s" % (machine, distro, "isar-image-ci"), customizations="hostname", image_install="") + self.vm_start( + machine.removeprefix('qemu'), + distro, + image="isar-image-ci", + cmd="hostname | grep isar-ci" + ) + + class SignatureTest(CIBaseTest): """