From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7231875531357028352 X-Received: by 2002:a05:620a:3954:b0:757:ec60:8fb2 with SMTP id qs20-20020a05620a395400b00757ec608fb2mr1905434qkn.3.1683802238136; Thu, 11 May 2023 03:50:38 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:ad4:5907:0:b0:61a:86aa:41cb with SMTP id ez7-20020ad45907000000b0061a86aa41cbls17312813qvb.9.-pod-prod-gmail; Thu, 11 May 2023 03:50:37 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6a3JM8lJwnzMNuIs7nloCkJ7jML2KY4/Z3QEshqHy5BMtl56xw758PGP+WtjKKS+p2CDpY X-Received: by 2002:a05:6214:21aa:b0:61b:5b9f:f5fd with SMTP id t10-20020a05621421aa00b0061b5b9ff5fdmr25668296qvc.41.1683802237600; Thu, 11 May 2023 03:50:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683802237; cv=none; d=google.com; s=arc-20160816; b=Y0UFZDowdXQzclKike0xUSKnD/Uj2+hPnJzGTJ7gEFL3h5Yd/qUUX1XrMuLo7CL2Jq +K6wSwVSFN/bVJ7rCVzsLuY6OjyKfCxaT1vXzNvOG8XYzvDNWMY5nrA98eQjAjH1/XpZ cLLqHyuM3SA72Jj+KRzjH87wv1+9cL00DCULhwuK7HdJIG6ipSupQt/YF2o1d3BMYM9L IGFHSVEMzWWIzXRyudFYKvy1NzH6jNeHY4iQcBVbCrQ3PjRx0G3Htse9CWTC/fuSggBA BzvOk3GVCr1f/855ZzTqMGwtw8V4czqWbug+ZM7USTeyUnqagj2AfNbXkbPvPgptIGbI 4NHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=IhW2EXP85akoPQxK92nzuHvT9dWTr4UO7B7jVQtSvfM=; b=oWKag5951bd7wm5zOa3ls+jmyTMxECABJdtdySdNzigAq6JaLgK6Oc4vq5HoP+4zhf akIVKEf1YhQYwd+r2l4FNJs4gOK8a+FyCN4a1FOLPybRoYpt20RzTF70gtu5I8y/WbS7 L7tcG1IxJMLF1sD2c8VTS/AG0ugUcblA6oEhZDJ3Ry0GGhuq7bm/FK+dIBg4qe69uT+X fHi7saRqIPoiAdnr+O3HxnrAnRtdbf9wi+ZP947x7/cemOqgGNZAf9IAeemEpPN+oJnF kf24NPIMbJQBpFdxMnn6Ic6ko6omFCxH93ZLxsT/TDtngXH8oIiadsuMUfVBOvqC35nm O1JQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id ep13-20020a05621418ed00b0061b730f2f42si580027qvb.0.2023.05.11.03.50.36 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 11 May 2023 03:50:37 -0700 (PDT) Received-SPF: pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from user-B660.. ([85.254.75.115]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 34BAoQ04011851 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 11 May 2023 12:50:31 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v4 4/7] imager: Split imager deps between image types Date: Thu, 11 May 2023 13:50:17 +0300 Message-Id: <20230511105020.1881496-5-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230511105020.1881496-1-amikan@ilbers.de> References: <20230511105020.1881496-1-amikan@ilbers.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED 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-TUID: a2Z13UVenHWh To reduce dependencies install time and disk space consumption we need to install only those imager dependencies which used in every image type prepare logic. So split variables between tasks. Signed-off-by: Anton Mikanovich --- meta/classes/image-tools-extension.bbclass | 10 ++++++---- meta/classes/image.bbclass | 8 ++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/meta/classes/image-tools-extension.bbclass b/meta/classes/image-tools-extension.bbclass index 04ed1f84..58799fcf 100644 --- a/meta/classes/image-tools-extension.bbclass +++ b/meta/classes/image-tools-extension.bbclass @@ -15,6 +15,8 @@ SCHROOT_MOUNTS = "${WORKDIR}:${PP_WORK} ${IMAGE_ROOTFS}:${PP_ROOTFS} ${DEPLOY_DI SCHROOT_MOUNTS += "${REPO_ISAR_DIR}/${DISTRO}:/isar-apt" imager_run() { + local_install="${@(d.getVar("INSTALL_%s" % d.getVar("BB_CURRENTTASK")) or '').strip()}" + schroot_create_configs insert_mounts @@ -34,8 +36,8 @@ imager_run() { trap 'exit 1' INT HUP QUIT TERM ALRM USR1 trap 'imager_cleanup' EXIT - if [ -n "${@d.getVar("IMAGER_INSTALL").strip()}" ]; then - echo "Installing deps: ${IMAGER_INSTALL}" + if [ -n "${local_install}" ]; then + echo "Installing imager deps: ${local_install}" distro="${BASE_DISTRO}-${BASE_DISTRO_CODENAME}" if [ ${ISAR_CROSS_COMPILE} -eq 1 ]; then @@ -64,13 +66,13 @@ EOF" -o APT::Get::List-Cleanup='0' apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y \ --allow-unauthenticated --allow-downgrades --download-only install \ - ${IMAGER_INSTALL}" + ${local_install}" deb_dl_dir_export ${schroot_dir} ${distro} schroot -r -c ${session_id} -d / -u root -- sh -c " \ apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y \ --allow-unauthenticated --allow-downgrades install \ - ${IMAGER_INSTALL}" + ${local_install}" fi schroot -r -c ${session_id} "$@" diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 42e4b0c9..b9d3d411 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -208,6 +208,8 @@ python() { imager_build_deps = set() conversion_install = set() for bt in basetypes: + local_imager_install = set() + local_conversion_install = set() vardeps = set() cmds = [] bt_clean = bt.replace('-', '_').replace('.', '_') @@ -231,6 +233,7 @@ python() { # imager install for dep in (d.getVar('IMAGER_INSTALL:' + bt_clean) or '').split(): imager_install.add(dep) + local_imager_install.add(dep) for dep in (d.getVar('IMAGER_BUILD_DEPS:' + bt_clean) or '').split(): imager_build_deps.add(dep) @@ -273,6 +276,7 @@ python() { vardeps.add('CONVERSION_CMD:' + c) for dep in (localdata.getVar('CONVERSION_DEPS:' + c) or '').split(): conversion_install.add(dep) + local_conversion_install.add(dep) # remove temporary image files if t not in image_types: rm_images.add(localdata.expand('${IMAGE_FILE_HOST}')) @@ -305,6 +309,10 @@ python() { d.appendVarFlag(task, 'depends', task_deps) bb.build.addtask(task, 'do_image', after, d) + # set per type imager dependencies + d.setVar('INSTALL_image_%s' % bt_clean, d.getVar('IMAGER_INSTALL')) + d.appendVar('INSTALL_image_%s' % bt_clean, ' ' + ' '.join(sorted(local_imager_install | local_conversion_install))) + d.appendVar('IMAGER_INSTALL', ' ' + ' '.join(sorted(imager_install | conversion_install))) d.appendVar('IMAGER_BUILD_DEPS', ' ' + ' '.join(sorted(imager_build_deps))) } -- 2.34.1