From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6451845426797608960 X-Received: by 10.129.92.195 with SMTP id q186mr3423745ywb.158.1502218748901; Tue, 08 Aug 2017 11:59:08 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 10.107.132.233 with SMTP id o102ls3495101ioi.2.gmail; Tue, 08 Aug 2017 11:59:08 -0700 (PDT) X-Received: by 10.176.0.5 with SMTP id 5mr3191302uai.44.1502218748671; Tue, 08 Aug 2017 11:59:08 -0700 (PDT) Received: by 10.55.163.202 with SMTP id m193msqke; Tue, 8 Aug 2017 04:21:27 -0700 (PDT) X-Received: by 10.25.208.11 with SMTP id h11mr501295lfg.19.1502191286795; Tue, 08 Aug 2017 04:21:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1502191286; cv=none; d=google.com; s=arc-20160816; b=xhMmQwe+XVLQht9DKyP/uP/aQSbRLs/w+GFc7Im3eZGcn1xkm5dQCY3djlgVcOn8Sh h3bKxf1WAtCt9CaQFMnrNqiQBo77zgE1BKepMlo05nP0O8HrMn3ec0SXGbyCehFD/kiZ +IAY/mvPpj6NpbgFB9RlH0C/QOqyFzvK2hBx6gLtqSAns4+pdZHrmrmPIIOJkf4fi3I2 D7w7fXNk66X+utGFT/SfiPQUdcK2lxdMJuIIFlljV2/urZ/HoYaTCdGtXMh8lD+wbxrd QNb9SohiMLXiVfzkfZypzvQbZqX4oStsk1rmIhmrDo6m5YJENmzDdcmmL05zTMZwt7Lm Zi/Q== 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:from:references:cc:to:subject :arc-authentication-results; bh=aE/FkgaHvsUTCbaGJJ617YSxouIFzHDjtULaDxHYAlg=; b=E5xHXURVf/T6aKleVa+aREcLoYGZ2Wp4RDuSAnP0TgeoGt+2g7I7UTb784qGNjI6qb Rd4osbBzvZb4SDL21O18ia1zpvMU888b55zmF6FVx/YFq5SmAAiMxnWPTmp/6IvfhJfu OlrG4PM66NUMpUzoSSitK5XkTiGgVze82aXpBLx07mOzfcwdELp646p2Jasa76o/aLCV 6krM6jdBSiAh+rlrtgrBAGUPL8IhVLg421xNNX7lG4xNTnIzi1LZoqBGNsWqopO57Ube u3SPVgMlQCUdyZjpGZkTacs3nJs2G27plXNLuh9ijYRTBxlWZ8H/PjX2DkC72Z1kSjbi dRhw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=asmirnov@ilbers.de Return-Path: Received: from aqmola.ilbers.de (aqmola.ilbers.de. [85.214.62.211]) by gmr-mx.google.com with ESMTPS id o62si425314wmo.2.2017.08.08.04.21.26 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 08 Aug 2017 04:21:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of asmirnov@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 asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=asmirnov@ilbers.de Received: from [10.0.2.15] ([188.227.110.165]) (authenticated bits=0) by aqmola.ilbers.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id v78BLNcx022080 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Tue, 8 Aug 2017 13:21:25 +0200 Subject: Re: [PATCH 1/4] isar: Fix mutli-distro builds in parallel To: Henning Schild Cc: isar-users@googlegroups.com References: <20170808100424.19607-1-asmirnov@ilbers.de> <20170808100424.19607-2-asmirnov@ilbers.de> <20170808125806.4052b1dd@md1em3qc> From: Alexander Smirnov Message-ID: <14029235-1d0d-f3b9-d336-2714eda59d79@ilbers.de> Date: Tue, 8 Aug 2017 14:21:18 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170808125806.4052b1dd@md1em3qc> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: +aO2BMHkaCBH 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}" > > 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. 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 > -- With best regards, Alexander Smirnov ilbers GmbH Baierbrunner Str. 28c D-81379 Munich +49 (89) 122 67 24-0 http://ilbers.de/ Commercial register Munich, HRB 214197 General manager: Baurzhan Ismagulov