From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6577660805416747008 X-Received: by 2002:a37:360a:: with SMTP id d10-v6mr9308294qka.0.1531725503776; Mon, 16 Jul 2018 00:18:23 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a0c:9e0a:: with SMTP id p10-v6ls2136300qve.6.gmail; Mon, 16 Jul 2018 00:18:23 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdnsY4Tiq6f+oVkFFySz9sODsk4C/UWe/8Fi7SQB5V873ui7Z+SqPGENSe6XPztrijnimf1 X-Received: by 2002:a0c:f906:: with SMTP id v6-v6mr9948770qvn.8.1531725503476; Mon, 16 Jul 2018 00:18:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531725503; cv=none; d=google.com; s=arc-20160816; b=TogbwDXvpyk9SHa+wkrUB6yDI4SQTszzhGVx+28rGxNUdFghWbv3ST+TOJg9/ao/WR eulthGeEJX9t+oGi70ew+K1ztLUi2Yco1xDp/kuXLoIpJILyJzQ75SHivIU/jSZfdj50 Ns8WT6w9L5cSaobT/rFnff7qz9IcoioM7kP0ZGKT+dLX+Z2CppGYwwZgFmNXGAgL0yD7 +5MTQscGp/b7mZC99+wpvqf3JOsNXNA4E3CTMi6J0tdCatzn8kdHtYUUOM2hvT+3O5tj uJWOM8tE0r0zSktKKF7S3+gZYpOHE25LtNWOHOW8QH8cYMl+Ni2SLW6bfoNSwuIj5NWw Z+lA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:organization:from:references:to:subject :arc-authentication-results; bh=u0sYBMjdNLt92Vj52zaL5bIJNJmTb5dVPe4pClhdtmI=; b=zH8/ySMOyynaQYYXa2RTcW9nixiTgEr1x6d/R0Zu1VCqWwCI9cn0V2Lm+NJtHTir7z usV4D6xFyAM7r+dD6yNUHR4LWnuvvo0Yx72rpsr56VJsxwIQtd5ji+FlJjiEU/1RxWX+ wZ8Nw5QlwFej7STFPogze4UJNJLkk/ItMjgmHnZqHeocK8s9LJL2+U6sqaYCPpgjGykh 0qnp0L/6x0sjTncidjpw5MOqKQ6HfkxPDJmCybglrwvom0bs+mAMnMKoC+HmRhIoQJB7 nMezhdfduH+8CD++dS5Q6Hl5p3oYyJNtPzWnCPqQrE/JBxJTlDTt+kJiGybHFKRNWrQa GAEQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: best guess record for domain of mosipov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=mosipov@ilbers.de Return-Path: Received: from aqmola.ilbers.de (aqmola.ilbers.de. [85.214.62.211]) by gmr-mx.google.com with ESMTPS id p10-v6si202283qtn.5.2018.07.16.00.18.22 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 16 Jul 2018 00:18:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of mosipov@ilbers.de designates 85.214.62.211 as permitted sender) client-ip=85.214.62.211; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: best guess record for domain of mosipov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=mosipov@ilbers.de Received: from [192.168.0.18] ([46.39.55.55]) (authenticated bits=0) by aqmola.ilbers.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id w6G7IHQS020332 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Mon, 16 Jul 2018 09:18:19 +0200 Subject: Re: [PATCH] isar-bootstrap: Eliminate multiple debootstraps for the same distro/host To: Jan Kiszka , isar-users@googlegroups.com References: <20180713112259.19647-1-mosipov@ilbers.de> <28698641-b811-2973-9daf-e68c8de53cf3@siemens.com> From: "Maxim Yu. Osipov" Organization: ilbers GmbH Message-ID: Date: Mon, 16 Jul 2018 10:18:12 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <28698641-b811-2973-9daf-e68c8de53cf3@siemens.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: RradWR07Ifs0 On 07/13/2018 05:33 PM, Jan Kiszka wrote: > On 2018-07-13 13:22, Maxim Yu. Osipov wrote: >> After applying this patch only single debootstrap for >> particular platform is created and pointed by corresponding >> link uder DEPLOY_DIR_IMAGE. > > under > >> >> For proper locking of parallel builds shell tasks >> apt_config_install, set_locale, setup_chroot, apt_update >> and deploy were collapsed to common debotstrap helper. > > debootstrap > >> Due to problems in bitbake with shell functions expansion >> under quotes these functions were substituted by their >> bodies. > > But this implies no code duplications, just inlining, right? Exactly. >> >> Signed-off-by: Maxim Yu. Osipov >> --- >> meta/classes/image.bbclass | 2 +- >> .../isar-bootstrap/isar-bootstrap-host.bb | 57 +++------ >> .../isar-bootstrap/isar-bootstrap-target.bb | 52 +++------ >> .../recipes-core/isar-bootstrap/isar-bootstrap.inc | 127 ++++++++++++++------- >> meta/recipes-devtools/buildchroot/buildchroot.bb | 2 +- >> meta/recipes-devtools/sdkchroot/sdkchroot.bb | 2 +- >> 6 files changed, 119 insertions(+), 123 deletions(-) >> >> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass >> index 7935b69..20eb3fd 100644 >> --- a/meta/classes/image.bbclass >> +++ b/meta/classes/image.bbclass >> @@ -66,7 +66,7 @@ INITRD_IMAGE ?= "${@get_image_name(d, 'initrd.img')[1]}" >> inherit ${IMAGE_TYPE} >> >> do_rootfs[stamp-extra-info] = "${MACHINE}-${DISTRO}" >> -do_rootfs[depends] = "isar-apt:do_cache_config isar-bootstrap-target:do_deploy" >> +do_rootfs[depends] = "isar-apt:do_cache_config isar-bootstrap-target:do_bootstrap" >> >> do_rootfs() { >> die "No root filesystem function defined, please implement in your recipe" >> diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap-host.bb b/meta/recipes-core/isar-bootstrap/isar-bootstrap-host.bb >> index cca0984..3996d8d 100644 >> --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap-host.bb >> +++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap-host.bb >> @@ -8,13 +8,15 @@ >> Description = "Minimal host Debian root file system" >> >> WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}-${HOST_DISTRO}-${HOST_ARCH}" >> +DEPLOY_ISAR_BOOTSTRAP = "${DEPLOY_DIR_IMAGE}/isar-bootstrap-${HOST_DISTRO}-${HOST_ARCH}" >> +ISAR_BOOTSTRAP_LOCK = "${DEPLOY_DIR_IMAGE}/isar-bootstrap-${HOST_DISTRO}-${HOST_ARCH}.lock" >> >> include isar-bootstrap.inc >> inherit isar-bootstrap-helper >> >> -do_generate_keyring[stamp-extra-info] = "${HOST_DISTRO}-${HOST_ARCH}" >> +do_generate_keyring[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" >> >> -do_apt_config_prepare[stamp-extra-info] = "${HOST_DISTRO}-${HOST_ARCH}" >> +do_apt_config_prepare[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" >> do_apt_config_prepare[dirs] = "${WORKDIR}" >> do_apt_config_prepare[vardeps] += "\ >> APTPREFS \ >> @@ -22,54 +24,25 @@ do_apt_config_prepare[vardeps] += "\ >> DEBDISTRONAME \ >> APTSRCS \ >> HOST_DISTRO_APT_SOURCES \ >> + DEPLOY_ISAR_BOOTSTRAP \ >> " >> python do_apt_config_prepare() { >> - apt_preferences_out = d.getVar("APTPREFS", True) >> - apt_preferences_list = (d.getVar("HOST_DISTRO_APT_PREFERENCES", True) or "" >> - ).split() >> - aggregate_files(d, apt_preferences_list, apt_preferences_out) >> + if not os.path.islink(d.getVar("DEPLOY_ISAR_BOOTSTRAP", True)): >> + apt_preferences_out = d.getVar("APTPREFS", True) >> + apt_preferences_list = (d.getVar("HOST_DISTRO_APT_PREFERENCES", True) or "" >> + ).split() >> + aggregate_files(d, apt_preferences_list, apt_preferences_out) > > Shouldn't this be indented consistently (4 space)? Also in the rest of > the patch. Sorry, will fix that in v2. Kind regards, Maxim. -- Maxim Osipov ilbers GmbH Maria-Merian-Str. 8 85521 Ottobrunn Germany +49 (151) 6517 6917 mosipov@ilbers.de http://ilbers.de/ Commercial register Munich, HRB 214197 General Manager: Baurzhan Ismagulov