From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6451845426797608960 X-Received: by 10.25.196.9 with SMTP id u9mr517392lff.13.1502193299197; Tue, 08 Aug 2017 04:54:59 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 10.28.55.14 with SMTP id e14ls1822109wma.20.canary-gmail; Tue, 08 Aug 2017 04:54:58 -0700 (PDT) X-Received: by 10.28.153.77 with SMTP id b74mr571838wme.10.1502193298923; Tue, 08 Aug 2017 04:54:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1502193298; cv=none; d=google.com; s=arc-20160816; b=O7b4BH1HFO4mTYZr7jqPkqFdVLosLFkyK8sPEY4NOfORg2Yzx2cLITqqFajd+LVDfV eTWn/NSk/5IJkJOQ9mQjM/arambwFHeiPiVe7clhoZNZoDwQZVHVlLTeMqs3DO/yEklc C0qz5oVINJRxRAhNtQEbFHqAUQN/wW0vHVU3c95K/cN7GeqPZZ3ti+Du94bfemE1TUKF NezGi+vilMVh/I7K32kWj+2l7Hu27/Jmv2QZDUfdvoUpkXy5CFmWWGcsTQYd1ePiiMP6 k0cQCnddn7SxsCWgKlyLsH/aTSC7YxPOKt9Pw4Qg34H15Gff3Wc1K98LPvxBWgYco9CY N/2w== 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:subject:cc:to:from:date:arc-authentication-results; bh=w/LOWMu8x2v1rXyIEBSioaWjX0xebynRdnq0ATMcwP8=; b=miCqOx/PQj6+ytrzfTL2rKZhsbTHrFOsDlYCJWeeowcfKK2CeOX6Fh5GRE4OTKcW5R jb+gd8RB/PO5wIbmg2fiVjT7JgU3wJSIBRUJzG2mwxHMfdUtDdpK3nxCktruuTXiElLn ZhTV4TuG9jzYCvhZXGO9s7ydw2labHJFPfl8DoFMfywahQtY7f7ufpYaVAuHM5nDVuDu S0TmdH/dwwUUzuMRXuuevzRbKeOsZB1DuUyk42BZeQtKQJTDe8tsg0hhV+x469VE8kDd izlf4vY3qVVU+o3bj6Po3WMYT0tJ7WSX2Q1f2ZlaKZXVwsUGlQmOOoB7/K+H+uKbw2At /+5g== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 192.35.17.28 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) smtp.mailfrom=henning.schild@siemens.com Return-Path: Received: from goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id b125si426910wmc.1.2017.08.08.04.54.58 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 08 Aug 2017 04:54:58 -0700 (PDT) Received-SPF: neutral (google.com: 192.35.17.28 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 192.35.17.28 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) smtp.mailfrom=henning.schild@siemens.com Received: from mail1.siemens.de (mail1.siemens.de [139.23.33.14]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id v78BsweH009565 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 8 Aug 2017 13:54:58 +0200 Received: from md1em3qc ([139.25.68.40]) by mail1.siemens.de (8.15.2/8.15.2) with ESMTP id v78Bswrd013194; Tue, 8 Aug 2017 13:54:58 +0200 Date: Tue, 8 Aug 2017 13:56:55 +0200 From: Henning Schild To: Alexander Smirnov Cc: Subject: Re: [PATCH 1/4] isar: Fix mutli-distro builds in parallel Message-ID: <20170808135655.611febb9@md1em3qc> In-Reply-To: <14029235-1d0d-f3b9-d336-2714eda59d79@ilbers.de> References: <20170808100424.19607-1-asmirnov@ilbers.de> <20170808100424.19607-2-asmirnov@ilbers.de> <20170808125806.4052b1dd@md1em3qc> <14029235-1d0d-f3b9-d336-2714eda59d79@ilbers.de> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: 2IqC5u3ZxkD9 Am Tue, 8 Aug 2017 14:21:18 +0300 schrieb Alexander Smirnov : > On 08/08/2017 01:58 PM, Henning Schild wrote: > > Am Tue, 8 Aug 2017 13:04:21 +0300 > > schrieb Alexander Smirnov : > > > >> Extend stamp suffix to distinguish the same distro for various > >> architectures. This fixes parallel build for all possible > >> configurations. > >> > >> Signed-off-by: Alexander Smirnov > >> --- > >> meta-isar/recipes-core/images/isar-image-base.bb | 10 +++++----- > >> meta/classes/dpkg.bbclass | 4 ++-- > >> meta/classes/ext4-img.bbclass | 2 +- > >> meta/classes/image.bbclass | 2 +- > >> meta/conf/isar-bitbake.conf | 3 +-- > >> meta/recipes-devtools/buildchroot/buildchroot.bb | 2 +- > >> 6 files changed, 11 insertions(+), 12 deletions(-) > >> > >> diff --git a/meta-isar/recipes-core/images/isar-image-base.bb > >> b/meta-isar/recipes-core/images/isar-image-base.bb index > >> 337c329..b679d97 100644 --- > >> a/meta-isar/recipes-core/images/isar-image-base.bb +++ > >> b/meta-isar/recipes-core/images/isar-image-base.bb @@ -17,11 +17,11 > >> @@ DEPENDS += "${IMAGE_INSTALL}" IMAGE_PREINSTALL += "apt \ > >> dbus" > >> > >> -WORKDIR = "${TMPDIR}/work/${PN}/${MACHINE}" > >> +WORKDIR = "${TMPDIR}/work/${PN}/${MACHINE}/${DISTRO}" > > > > This should extend to original WORKDIR where you would also have PV > > and PR included and do not copy its definition. > > > > WORKDIR =+ "${MACHINE}/${DISTRO}" How about this one? > > > > The scheme is different to BUILDCHROOT_DIR where we use > > /${DISTRO}-${DISTRO_ARCH}/ for the directory structure. > > > > I still think BUILDCHROOT_DIR should be somewhere under the original > > WORKDIR. > > That's the main difference between buildchroot and machine stuff: > 1. Buildchroot is specified by Debian *distro* and *architecture*. > 2. Images/packages are specified by Debian *distro* and *machine*. > 3. Machine doesn't equal to architecture. The same buildchroot can be > used for building package for different machines. > > Regarding combining of buildchroot and workdir, I'd suggest to start > separate thread and discuss benefits/drawback. This patch doesn't > influence on this topic, it just fixes existing build. Ok. Henning > Alex > > > > > Henning > > > >> S = "${WORKDIR}/rootfs" > >> IMAGE_ROOTFS = "${S}" > >> > >> -do_rootfs[stamp-extra-info] = "${MACHINE}" > >> +do_rootfs[stamp-extra-info] = "${MACHINE}-${DISTRO}" > >> > >> do_rootfs() { > >> install -d -m 755 ${WORKDIR}/hooks_multistrap > >> @@ -38,9 +38,9 @@ do_rootfs() { > >> sed -i 's|##DISTRO_APT_SOURCE##|${DISTRO_APT_SOURCE}|' > >> ${WORKDIR}/multistrap.conf sed -i > >> 's|##DISTRO_SUITE##|${DISTRO_SUITE}|' ${WORKDIR}/multistrap.conf > >> sed -i 's|##DISTRO_COMPONENTS##|${DISTRO_COMPONENTS}|' > >> ${WORKDIR}/multistrap.conf > >> - sed -i > >> 's|##CONFIG_SCRIPT##|./tmp/work/${PN}/${MACHINE}/configscript.sh|' > >> ${WORKDIR}/multistrap.conf > >> - sed -i > >> 's|##SETUP_SCRIPT##|./tmp/work/${PN}/${MACHINE}/setup.sh|' > >> ${WORKDIR}/multistrap.conf > >> - sed -i > >> 's|##DIR_HOOKS##|./tmp/work/${PN}/${MACHINE}/hooks_multistrap|' > >> ${WORKDIR}/multistrap.conf > >> + sed -i > >> 's|##CONFIG_SCRIPT##|./tmp/work/${PN}/${MACHINE}/${DISTRO}/configscript.sh|' > >> ${WORKDIR}/multistrap.conf > >> + sed -i > >> 's|##SETUP_SCRIPT##|./tmp/work/${PN}/${MACHINE}/${DISTRO}/setup.sh|' > >> ${WORKDIR}/multistrap.conf > >> + sed -i > >> 's|##DIR_HOOKS##|./tmp/work/${PN}/${MACHINE}/${DISTRO}/hooks_multistrap|' > >> ${WORKDIR}/multistrap.conf # Multistrap config use relative paths, > >> so ensure that we are in the right folder cd ${TOPDIR} > >> diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass > >> index ea422f9..7c39c68 100644 > >> --- a/meta/classes/dpkg.bbclass > >> +++ b/meta/classes/dpkg.bbclass > >> @@ -11,7 +11,7 @@ PP = "/home/builder/${PN}" > >> BUILDROOT = "${BUILDCHROOT_DIR}/${PP}" > >> > >> do_unpack[dirs] = "${BUILDROOT}" > >> -do_unpack[stamp-extra-info] = "${DISTRO}" > >> +do_unpack[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" > >> S ?= "${BUILDROOT}" > >> > >> # Unpack package and put it into working directory in buildchroot > >> @@ -31,7 +31,7 @@ python do_unpack() { > >> > >> addtask unpack after do_fetch before do_build > >> > >> -do_build[stamp-extra-info] = "${DISTRO}" > >> +do_build[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" > >> > >> # Build package from sources using build script > >> do_build() { > >> diff --git a/meta/classes/ext4-img.bbclass > >> b/meta/classes/ext4-img.bbclass index 65d4c11..8588626 100644 > >> --- a/meta/classes/ext4-img.bbclass > >> +++ b/meta/classes/ext4-img.bbclass > >> @@ -6,7 +6,7 @@ ROOTFS_EXTRA ?= "64" > >> > >> EXT4_IMAGE_FILE = > >> "${DEPLOY_DIR_IMAGE}/${PN}-${MACHINE}-${DISTRO}.ext4.img" > >> -do_ext4_image[stamp-extra-info] = "${MACHINE}" > >> +do_ext4_image[stamp-extra-info] = "${MACHINE}-${DISTRO}" > >> > >> # Generate ext4 filesystem image > >> do_ext4_image() { > >> diff --git a/meta/classes/image.bbclass > >> b/meta/classes/image.bbclass index 3e4877c..a7f0d74 100644 > >> --- a/meta/classes/image.bbclass > >> +++ b/meta/classes/image.bbclass > >> @@ -9,7 +9,7 @@ IMAGE_TYPE ?= "ext4-img" > >> > >> inherit ${IMAGE_TYPE} > >> > >> -do_populate[stamp-extra-info] = "${MACHINE}" > >> +do_populate[stamp-extra-info] = "${MACHINE}-${DISTRO}" > >> > >> # Install Debian packages, that were built from sources > >> do_populate() { > >> diff --git a/meta/conf/isar-bitbake.conf > >> b/meta/conf/isar-bitbake.conf index ce35a22..f85f5cc 100644 > >> --- a/meta/conf/isar-bitbake.conf > >> +++ b/meta/conf/isar-bitbake.conf > >> @@ -18,10 +18,9 @@ > >> # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE > >> USE OR # OTHER DEALINGS IN THE SOFTWARE. > >> > >> - > >> DEPLOY_DIR_DEB = "${TMPDIR}/deploy/deb/${MACHINE}" > >> SSTATE_DIR ?= "${TMPDIR}/sstate-cache" > >> -BUILDCHROOT_DIR = > >> "${TOPDIR}/tmp/work/buildchroot/${DISTRO}/rootfs" +BUILDCHROOT_DIR > >> = "${TOPDIR}/tmp/work/buildchroot/${DISTRO}-${DISTRO_ARCH}/rootfs" > >> # Setup our default hash policy > >> BB_SIGNATURE_HANDLER ?= "noop" > >> diff --git a/meta/recipes-devtools/buildchroot/buildchroot.bb > >> b/meta/recipes-devtools/buildchroot/buildchroot.bb index > >> ba1bc66..ccba683 100644 --- > >> a/meta/recipes-devtools/buildchroot/buildchroot.bb +++ > >> b/meta/recipes-devtools/buildchroot/buildchroot.bb @@ -23,7 +23,7 > >> @@ BUILDCHROOT_PREINSTALL ?= "gcc \ > >> WORKDIR = "${TMPDIR}/work/${PF}/${DISTRO}" > >> > >> -do_build[stamp-extra-info] = "${DISTRO}" > >> +do_build[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" > >> > >> do_build() { > >> install -d -m 755 ${WORKDIR}/hooks_multistrap > > >