From patchwork Thu Apr 13 07:00:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 2767 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 13 Apr 2023 09:00:45 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-ed1-f62.google.com (mail-ed1-f62.google.com [209.85.208.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 33D70iwt002942 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Apr 2023 09:00:44 +0200 Received: by mail-ed1-f62.google.com with SMTP id c4-20020a50f604000000b0050508de6f4dsf1654614edn.10; Thu, 13 Apr 2023 00:00:44 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1681369239; cv=pass; d=google.com; s=arc-20160816; b=BQxTQl+YyT7xjDHNsM63pW3hi6/agFlDqE4ndfVw1Z4RVb6oGs5WrZvo4gQMG0QJGm zk7VwVSPxDBXDDKMn3eHdL1XcaGh8yrzpPpLrUxg17rYJTQTfnKzHhqwrU8vrd3uxA5u dnQHo5t488Q+9X/rrIjZQicP+heQFxpjEgD8HlNfBCw/C4ko3rcWcF2F6Vx/cqbg3L30 9V8ne0oJeznxDNgdtESjWT/nTHwb1k/u6HeLsu472ot5L3BuvD/XwcxXi/+ISiYaY3KQ hzYluvgZCREiQwamX5+9GKZVo6+D46NhF0IOf5ocr+5vEAlmf5mp+OGQkZdH7TQ8d6hS ZT1Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=hHeKDWIwvjvLKX0Njm+lCX8TfCaIF4sut452UKvbVWY=; b=C87dHe9Nv2MC+FmUszoxARvI2iLNioukTtcIOpsEbUu//1QmW8htvQcyyeT+PmMrr6 EUIIUkn0df3IfD+K5AOVXmgA6JZsXbuRWi5p8SfgHvSxOjAvr0CF2Hoy1zR6hj0wTbfB a+DaBQNDjT2aMRsvN6GBMLaGl1StYv7uxzcc/IsZFIZdSLc3RcpRRUlC+aViXVLiYYyh m82r/uDVlJYzb3iXxJy+4YZ4015vtn+fiJpVOGKwCHKSaE5CZzaJWM/KLdUKBtH3Mpi1 VwuOCdAIUyIAlsm8kKWYgiBoIp10A13D7X8Oef7P9ByYbkPAr/2DF0/pXARmu8itABFc xOhA== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Jl8CQm9p; spf=pass (google.com: domain of fm-72506-202304130700360a581e732b2d2af345-adjjmd@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-72506-202304130700360a581e732b2d2af345-AdJjMD@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=20221208; t=1681369239; x=1683961239; 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:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=hHeKDWIwvjvLKX0Njm+lCX8TfCaIF4sut452UKvbVWY=; b=ZlA19JwU/KxB3CCWNY5TJ6ZPdI8wxvVOSWPwaJhWaOQH7GT96khgqWQT6elosy3VCh aGQsjYD458zpyVTh5PNNaEInXpq3yTLBXuNNfwR4c3q7HHEqwgDGQAMJbEybDCBbBzpB FIx6sZLOcHWSQLzA08DS9d/A07T7f6V+TQEUXyeCzzvMAYGEtQ8Dxlu4zzFnedOfWriW Sh4TzAJYZufhcc2NSQdThrEuCTb5PJKiShELqaVJD6/tFp6qAuEvx+09FePF/x/up1FS 4md1W06l9Nrio5+aTywlcQHG+eI/vAAOeE+7g3yRLDOOl/CoOxrrdNa4X4sRaRh3chfF vjdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681369239; x=1683961239; 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:message-id:date:subject:cc:to:from:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=hHeKDWIwvjvLKX0Njm+lCX8TfCaIF4sut452UKvbVWY=; b=DCcitZTZWNBTZJTC2Yxn710bc6inyPWyHQhPuSpv/NPCCoddoyVS0NBaQzE56CyiQx /zkATf4Pbx+9W6x0Qnd0bhSC3hUCfw2FTFVZyyFgQbXF9J8lFHXvKcogibqbZlcRhm7r u8bnWoBvLYtJRzOygOF44qrUrVxslHiCgv0t299grbjw75e8b51nVvDrSamEcUKujaS/ FUo96Omi78w7CSA+vthr5dw+81t/PYDImaZMA695cbTQ6QSIFYT57iEfAI4kTTDU8ETM 7RFdUu4k4CJpU4U1Z9LTkyW8thG2r7EtndYEczp2mnTp0kbf/IbWopSk50911nNvyIpl ftEw== X-Gm-Message-State: AAQBX9cKpgFax4Zg0yXU/hMfOIciApFylQmG49WdvkTNrouRuAKtER7x nUx8pOTAidbbaFz7klgMrE8= X-Google-Smtp-Source: AKy350Z1N3oR/+ueIuPMEujV2Wse61ATzynSwLAZVpLo/Jb7hq6j6kvo/5Rl4oDufsl2fi6hiJWVYA== X-Received: by 2002:a17:906:12cd:b0:94a:5bad:44ef with SMTP id l13-20020a17090612cd00b0094a5bad44efmr792024ejb.11.1681369238924; Thu, 13 Apr 2023 00:00:38 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:907:784:b0:921:8068:e25e with SMTP id xd4-20020a170907078400b009218068e25els24982853ejb.0.-pod-prod-gmail; Thu, 13 Apr 2023 00:00:37 -0700 (PDT) X-Received: by 2002:a17:906:e107:b0:94a:9f9a:b3c4 with SMTP id gj7-20020a170906e10700b0094a9f9ab3c4mr1662643ejb.49.1681369237227; Thu, 13 Apr 2023 00:00:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681369237; cv=none; d=google.com; s=arc-20160816; b=LLq8SeFSfBbcIqkrP9E1EOWvwc6/GMA4njj5+Zdqc2sn03er1GFBPEREUmf6rZXje7 R+qDR3e9j5M3zYqqkgz8TTkNCHiigzVHaJVY01boCEN0jymy0jo+9civqjVXX5O6lzVP pafj2zcuTRprQ0rtEIMmNrgnigK8IPDl+q3EVHfjOjq3D2By2qZ+V2/lZFExBqp+4kGY iXsLO7Jy3lnhgCu7xQfYMaFUiCxMX6BTBCvfQCl5R2DgKHQRcxEHnEVVIPCjY1ag1Fi+ GFDoL6hS8qAze+kNNi/YOwYs2PaGTRDn2eAF8Nubk/m3gLUF2zaj5tcSa2Ez6RgAAqWh Eaow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:message-id:date :subject:cc:to:from:dkim-signature; bh=aecWUN/5dHem7Mwxx8PJMezGnvyptQvy3TXcoDxaesw=; b=kPZ/a2uZYJY4njo2L7m+Q+ZWnLoP46eGZ+LJwOdf6j+IwWqVkLw3nizwSu2fazVnvm to1DnPo2ipxoG1zixOlqUaSVZagLKigvkHhQoQEghSqfqEKseFg+Iab/P9pt7ZpB2PCf tCm0slXFIZ7rIkIv8uh2IngxfrZjUjYDB5sZgZS0KkaxSWd6HgCBHjmTL6hXkn3creYC RqM038d8f1rAEIXv+EuVIe67Za54oQ7N0gsv6DOZD1C5t13SOSJseia8pLkPxj77++jZ EfLPXwT5H10eLWTSOEOwFr7CPWJZU3idnUwbttexKPF5tAywltL9nzrbL+ZwY9Ep21k9 TQUA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Jl8CQm9p; spf=pass (google.com: domain of fm-72506-202304130700360a581e732b2d2af345-adjjmd@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-72506-202304130700360a581e732b2d2af345-AdJjMD@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id ti11-20020a170907c20b00b0094e847b3512si42789ejc.0.2023.04.13.00.00.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Apr 2023 00:00:37 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-72506-202304130700360a581e732b2d2af345-adjjmd@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 202304130700360a581e732b2d2af345 for ; Thu, 13 Apr 2023 09:00:36 +0200 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH 1/2] add support for derived sbuild chroots Date: Thu, 13 Apr 2023 07:00:25 +0000 Message-Id: <20230413070026.3511123-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-72506:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Jl8CQm9p; spf=pass (google.com: domain of fm-72506-202304130700360a581e732b2d2af345-adjjmd@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-72506-202304130700360a581e732b2d2af345-AdJjMD@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer 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=-1.2 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,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?= This patch adds support to create derived sbuild chroots to speedup the build process. For packages that share a large set of common build dependencies, a derived sbuild chroot can be created to avoid the overhead of installing all base build-deps on each sbuild invocation. Signed-off-by: Felix Moessbauer --- doc/user_manual.md | 27 +++++++++++++++++++ meta/classes/crossvars.bbclass | 11 +++++--- .../sbuild-chroot/sbuild-chroot.inc | 7 ++++- 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/doc/user_manual.md b/doc/user_manual.md index 92075a88..e7a16e78 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -1348,3 +1348,30 @@ To enable it, add the below line to your local.conf file. ``` BASE_REPO_FEATURES = "cache-deb-src" ``` + +## Use a custom sbuild chroot to speedup build + +### Motivation + +There are use-cases, where many packages need to be compiled but all of them +need a similar base of build dependencies. In case the baseline is quite big, +this adds a significant overhead as the build dependencies are installed individually +for each and every package. + +### Solution + +By creating a dedicated sbuild chroot for this use-case, the baseline can be installed +first and then all package builds of this type can use it. For that, create a +new recipe with the name `sbuild-chroot--`. In that recipe, +define the following: + +``` +require recipes-devtools/sbuild-chroot/sbuild-chroot-.bb + +SBUILD_FLAVOR = "" +SBUILD_CHROOT_PREINSTALL_COMMON += "" +``` + +Then, in the dpkg recipe of your package, simply set `SBUILD_FLAVOR = ""`. +To install additional packages into the sbuild chroot, add them to `SBUILD_CHROOT_PREINSTALL_COMMON`. +An full example is provided by the `samefile` recipe. diff --git a/meta/classes/crossvars.bbclass b/meta/classes/crossvars.bbclass index 201d460f..8d1da09c 100644 --- a/meta/classes/crossvars.bbclass +++ b/meta/classes/crossvars.bbclass @@ -10,22 +10,27 @@ python __anonymous() { d.setVar('SCHROOT_USER', pwd.getpwuid(os.geteuid()).pw_name) mode = d.getVar('ISAR_CROSS_COMPILE') + + # support derived schroots + flavor = d.getVar('SBUILD_FLAVOR') + flavor_suffix = ('-' + flavor) if flavor else '' + distro_arch = d.getVar('DISTRO_ARCH') if mode == "0" or d.getVar('HOST_ARCH') == distro_arch or distro_arch == None: d.setVar('BUILD_HOST_ARCH', distro_arch) schroot_dir = d.getVar('SCHROOT_TARGET_DIR', False) - sbuild_dep = "sbuild-chroot-target:do_build" + sbuild_dep = "sbuild-chroot-target" + flavor_suffix + ":do_build" buildchroot_dir = d.getVar('BUILDCHROOT_TARGET_DIR', False) buildchroot_dep = "buildchroot-target:do_build" sdk_toolchain = "build-essential" else: d.setVar('BUILD_HOST_ARCH', d.getVar('HOST_ARCH')) schroot_dir = d.getVar('SCHROOT_HOST_DIR', False) - sbuild_dep = "sbuild-chroot-host:do_build" + sbuild_dep = "sbuild-chroot-host" + flavor_suffix + ":do_build" buildchroot_dir = d.getVar('BUILDCHROOT_HOST_DIR', False) buildchroot_dep = "buildchroot-host:do_build" sdk_toolchain = "crossbuild-essential-" + distro_arch - d.setVar('SCHROOT_DIR', schroot_dir) + d.setVar('SCHROOT_DIR', schroot_dir + flavor_suffix) d.setVar('SCHROOT_DEP', sbuild_dep) d.setVar('BUILDCHROOT_DIR', buildchroot_dir) d.setVar('BUILDCHROOT_DEP', buildchroot_dep) diff --git a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc index fd8bb648..b786eef5 100644 --- a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc +++ b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc @@ -11,6 +11,11 @@ PV = "1.0" inherit rootfs inherit compat +# set the flavor to create derived sbuild chroots +# this maps to a schroot created by a recipe named sbuild-chroot-- +SBUILD_FLAVOR ??= "" +SBUILD_SCHROOT_SUFFIX = "${@ ('-' + d.getVar('SBUILD_FLAVOR')) if d.getVar('SBUILD_FLAVOR') else ''}" + python() { distro_gcc = d.getVar('DISTRO_GCC') distro_arch = d.getVar('DISTRO_ARCH') @@ -52,7 +57,7 @@ ROOTFS_PACKAGES = "${SBUILD_CHROOT_PREINSTALL}" # We don't need /etc/apt/sources.list.d/isar-apt.list' while it's handled by sbuild ROOTFS_CONFIGURE_COMMAND:remove = "rootfs_configure_isar_apt" -DEPLOY_SCHROOT = "${@d.getVar('SCHROOT_' + d.getVar('SBUILD_VARIANT').upper() + '_DIR')}" +DEPLOY_SCHROOT = "${@d.getVar('SCHROOT_' + d.getVar('SBUILD_VARIANT').upper() + '_DIR')}${SBUILD_SCHROOT_SUFFIX}" do_sbuildchroot_deploy[dirs] = "${DEPLOY_DIR}/schroot-${SBUILD_VARIANT}" do_sbuildchroot_deploy() { From patchwork Thu Apr 13 07:00:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 2768 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 13 Apr 2023 09:00:48 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f60.google.com (mail-lf1-f60.google.com [209.85.167.60]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 33D70lFg002946 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Apr 2023 09:00:47 +0200 Received: by mail-lf1-f60.google.com with SMTP id p25-20020a056512329900b004ecb1c386e8sf227615lfe.19; Thu, 13 Apr 2023 00:00:47 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1681369242; cv=pass; d=google.com; s=arc-20160816; b=mqw5T9Asr4M/XnioQCvcXacFhIoSriVRnawANKwrs8E5cL5FqlxI/UwwksToCkLEC0 GYqJFSeJu44BRPmvdI9fekNvkqORhVSZ3j68dIVTMQoPx839NJ6m3VVX6MzVlWaYTgkO jxaXBQDMjq5kbEXB5F/kgIs8abRSsw8TEKZ2EOuXW3ui8Q4R62kM994IxSyoFIzjOxrx dV5PONIpgJ9VA7q5b6GEg/K1BjZNht6b7tVeyYkrTdsLJeITOZ2VVc5xmzF0H9HyBA7u vM8pWEMa0RnSqws+X5nUVYTmJ3rEC9vnoA2RtrkMzqnkBjWjOUwCK0NTWEHQEymWTtwq DK/g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; 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=GSZVABJcNXO7Zty5b49/OYMM/Hwij0z3sAcRx4LrS8M=; b=vGpfh3p5RlVINmjmbtQG/X49cBmDwemSG9dSWu/9eNGxY+grGrOotLz4Mz0V7B5Z8W yfIjv4sKFxynjTNYC8eEqVQ+iAzvO4ZIjXPE+XWYOG8oyNSiW9tt8g3kdrk/MLLHr+dH rVh4/aAWMMQSRzmTWLWkXlo6Fu5NLVaJB7NXIXmizFjzxMt4EmijF0b14UnefKEJBTen UTguofCmltgtO7NoX975d4nSidGsPouAxFAVqR7y7td+HiwrwigXVFPUD13m6Hm5xP8t LfL0EhrIX3mGN55JSIMPJug+zz5B+KTuxDrZvkJAHwNVs2+y4YUQa8DPs6VJWlJyryoY N8iA== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Dgh1knHz; spf=pass (google.com: domain of fm-72506-20230413070038389068e0aece862ada-aqxr41@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-72506-20230413070038389068e0aece862ada-aqXr41@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=20221208; t=1681369242; x=1683961242; 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=GSZVABJcNXO7Zty5b49/OYMM/Hwij0z3sAcRx4LrS8M=; b=hpXf5bKIcWWtsVxyWi3KIbKKokpmQHv87hNEiX5igNR4WshJeUBE7rMKSQ5e/sH3BH mqiZLl8/T6F3CEe5FIkWwg9kl1MXXQWYGPAWHy7AZdp1jkENDloo9KHAh8+Hfq1SWzs7 EmCTd0fo8JrNQ/xWebellAVfEZVRwxsxgaZglA5UToMVDRq2fbJYCOlVuzPvdTpvfmPS LSGqgI6vR3b7QJngX2kWI6YCdHXWClgFbi4tzt9leZ5VUiRLQc3kudMDUjZtU8JUzcRB rvDwo6WJwO6MeH+vyxmRwp74UjYW8AJyaHnNC38dMFUqwe44ZHlA4WTvzWO0nj/Z4k2D qBvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681369242; x=1683961242; 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=GSZVABJcNXO7Zty5b49/OYMM/Hwij0z3sAcRx4LrS8M=; b=hASBj8UNtGtDWNQ8GikhanmB7PP0QOukMjCBaZ775WwVgqn8PTFxOya2KeYs8uuRsq 2QM/bkbReeDx1nWP1a2wQ1fPY/JQmLstAiobV8vfjczViwbcs7yAvZSqCBr0c9aM4cmQ vyZxqcAqSv4AACnKvuiv8hfVY5DKTr7iVUVWzzoNuZAkxPrZN6K/S/VwFUFE/f8NJ1m9 yprLtvZVM5tcmWX9/YD+87L+Re1w/ZT5I3OmB8Q8QvbhJyH5gqnwsTPwIpkFx9zyKK6g 7hU3sn5Vn1F4TPmxT+nykTFzh2X37qhE/L0299fvvGFqSTAB69ofA9fGRbGWbcRzdo7y NJfg== X-Gm-Message-State: AAQBX9cuk7aU4PQ6tG+tkz78cuL4cRPhXTRtXMCN5DgQAgKqnsPAztG9 th09fsjzHW1PoY7YZKVtbT0= X-Google-Smtp-Source: AKy350bKb1skQMg/noNTi6x/LfK0NojdOD/g8BwrmcjlYSgRWsyZD2fbujL4Y/LVmhROIvRWIOtjGg== X-Received: by 2002:a05:651c:545:b0:2a7:ad00:67ca with SMTP id q5-20020a05651c054500b002a7ad0067camr623235ljp.1.1681369241597; Thu, 13 Apr 2023 00:00:41 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:b11:b0:4e8:c8b4:347a with SMTP id w17-20020a0565120b1100b004e8c8b4347als2947250lfu.1.-pod-prod-gmail; Thu, 13 Apr 2023 00:00:39 -0700 (PDT) X-Received: by 2002:ac2:4a6e:0:b0:4ec:846a:abef with SMTP id q14-20020ac24a6e000000b004ec846aabefmr296778lfp.11.1681369239826; Thu, 13 Apr 2023 00:00:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681369239; cv=none; d=google.com; s=arc-20160816; b=GwchMsQLeshbj7jSiELkctUTdYmAbtapV35nPLLEeptz5ydFXvPqgotPI7b5Jtqo22 FErVlgboLSchgsFxwfmDuy6vooZyR+6oWuAIR6Hp51eQsY8rdeg/H26HxB/m8wWagE+1 8HWoLhW6kgAZGtXyLninYM6/FXQfin4e0AbwCSV+LDjiEA1ZZH9FxDE4u5a5tO6EGjtC TsMV7iAhhUvg6RzaQ8VbAVEws1M8CuHqo6suxLPPl4BJUqXHxxuWJ2qBWLfgldza0Dbc IWdX0NCl7nI7AxYwyXSyUYthRhMwyhHWq8KiScWc6h9f0LxEyuLCjd7H6h7JVS5Rfkuu EqTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=Dr9FBS52ECKDeNWM7ZMIlM7Aof9u7x2UUcWvRardTLw=; b=r6hYH1UDnoRiBJaSMpOckDul6v55pkc+MssLINyn3VSD05IcNzp+hbhcDS2h2LfejL cRuIeWB++UOoSRAyJT9Pi5I0SByDXBn7dAO8TxYeH8oXiclh+i7TPewhnrvHA0hRuHgk Xca09nuhbW/NPGNa1ThhFvlFnoifH+ETLEhPI1GX3XAkb9Fs2k3AtTbG0oVx5UmqmkxJ blfLHXQ2y02IydSMVU3PJDLcbxGZFFS3YQs5sWHop6u6rqiHlWywpUyk43cM+TqGbD94 NKYWvax6nYfFT5CRkbW4rLG09bxCJHxgHfYFeBshMqKyj1erNS/5aBUa+zMwvAbpbCBO 3xMQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Dgh1knHz; spf=pass (google.com: domain of fm-72506-20230413070038389068e0aece862ada-aqxr41@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-72506-20230413070038389068e0aece862ada-aqXr41@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net. [185.136.64.226]) by gmr-mx.google.com with ESMTPS id h37-20020a0565123ca500b004e85e286f65si41615lfv.6.2023.04.13.00.00.39 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Apr 2023 00:00:39 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-72506-20230413070038389068e0aece862ada-aqxr41@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) client-ip=185.136.64.226; Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 20230413070038389068e0aece862ada for ; Thu, 13 Apr 2023 09:00:38 +0200 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH 2/2] add example how to use derived sbuild chroots Date: Thu, 13 Apr 2023 07:00:26 +0000 Message-Id: <20230413070026.3511123-2-felix.moessbauer@siemens.com> In-Reply-To: <20230413070026.3511123-1-felix.moessbauer@siemens.com> References: <20230413070026.3511123-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-72506:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Dgh1knHz; spf=pass (google.com: domain of fm-72506-20230413070038389068e0aece862ada-aqxr41@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-72506-20230413070038389068e0aece862ada-aqXr41@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer 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=-1.2 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,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?= This patch extends the samefile recipe to use a derived sbuild chroot to compile the tool using clang instead of gcc. While there are easier ways to achive this goal, it is still valuable to demonstrate how to use the infrastructure. Signed-off-by: Felix Moessbauer --- meta-isar/recipes-app/samefile/samefile_2.14.bb | 8 ++++++++ .../sbuild-chroot/sbuild-chroot-target-clang.bb | 11 +++++++++++ 2 files changed, 19 insertions(+) create mode 100644 meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-clang.bb diff --git a/meta-isar/recipes-app/samefile/samefile_2.14.bb b/meta-isar/recipes-app/samefile/samefile_2.14.bb index c53c9445..989e1983 100644 --- a/meta-isar/recipes-app/samefile/samefile_2.14.bb +++ b/meta-isar/recipes-app/samefile/samefile_2.14.bb @@ -5,6 +5,9 @@ inherit dpkg +# for demo reasons, we compile with clang if not cross-compiling +SBUILD_FLAVOR = "${@ 'clang' if d.getVar('ISAR_CROSS_COMPILE') != '1' else '' }" + DEBIAN_DEPENDS = "\${misc:Depends}" DESCRIPTION = "utility that finds files with identical contents" @@ -42,4 +45,9 @@ EOF # We can also customize afterwards, in this case change the package section. sed -i -e 's/Section: misc/Section: utils/g' ${S}/debian/control + + # use clang to compile (no cross support yet) + if [ "${SBUILD_FLAVOR}" = "clang" ]; then + sed -i -e 's/\(#\!.*\)/\1\nexport CC=clang/g' ${S}/debian/rules + fi } diff --git a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-clang.bb b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-clang.bb new file mode 100644 index 00000000..3df16368 --- /dev/null +++ b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-clang.bb @@ -0,0 +1,11 @@ +# Root filesystem for packages building with clang +# +# This software is a part of ISAR. +# Copyright (C) 2023 Siemens AG + +DESCRIPTION = "Isar sbuild/schroot filesystem for target (clang variant)" + +require recipes-devtools/sbuild-chroot/sbuild-chroot-target.bb + +SBUILD_FLAVOR = "clang" +SBUILD_CHROOT_PREINSTALL_COMMON += "clang"