From: Henning Schild <henning.schild@siemens.com>
To: Alexander Smirnov <asmirnov@ilbers.de>
Cc: <isar-users@googlegroups.com>
Subject: Re: [PATCH 1/4] isar: Fix mutli-distro builds in parallel
Date: Tue, 8 Aug 2017 13:56:55 +0200 [thread overview]
Message-ID: <20170808135655.611febb9@md1em3qc> (raw)
In-Reply-To: <14029235-1d0d-f3b9-d336-2714eda59d79@ilbers.de>
Am Tue, 8 Aug 2017 14:21:18 +0300
schrieb Alexander Smirnov <asmirnov@ilbers.de>:
> On 08/08/2017 01:58 PM, Henning Schild wrote:
> > Am Tue, 8 Aug 2017 13:04:21 +0300
> > schrieb Alexander Smirnov <asmirnov@ilbers.de>:
> >
> >> Extend stamp suffix to distinguish the same distro for various
> >> architectures. This fixes parallel build for all possible
> >> configurations.
> >>
> >> Signed-off-by: Alexander Smirnov <asmirnov@ilbers.de>
> >> ---
> >> 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
> >
>
next prev parent reply other threads:[~2017-08-08 11:54 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-08 10:04 [PATCH 0/4] Various fixes Alexander Smirnov
2017-08-08 10:04 ` [PATCH 1/4] isar: Fix mutli-distro builds in parallel Alexander Smirnov
2017-08-08 10:58 ` Henning Schild
2017-08-08 11:21 ` Alexander Smirnov
2017-08-08 11:56 ` Henning Schild [this message]
2017-08-21 21:11 ` Baurzhan Ismagulov
2017-08-08 10:04 ` [PATCH 2/4] scripts: Update start_vm Alexander Smirnov
2017-08-08 10:04 ` [PATCH 3/4] buildchroot: Fix dependency installation in buildchroot Alexander Smirnov
2017-08-21 21:28 ` Baurzhan Ismagulov
2017-08-08 10:04 ` [PATCH 4/4] buildchroot: Update build script Alexander Smirnov
2017-08-08 11:05 ` Henning Schild
2017-08-21 21:42 ` Baurzhan Ismagulov
2017-08-21 21:35 ` Baurzhan Ismagulov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170808135655.611febb9@md1em3qc \
--to=henning.schild@siemens.com \
--cc=asmirnov@ilbers.de \
--cc=isar-users@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox