From: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
To: Henning Schild <henning.schild@siemens.com>
Cc: isar-users@googlegroups.com
Subject: Re: [PATCH 07/16] classes: use WORKDIR and get rid of BUILDROOT
Date: Wed, 2 Aug 2017 12:24:29 +0300 [thread overview]
Message-ID: <CAJmB2rDWp6G6m+bFRAqgcDq4UN-M8BpNByREkoftjgOJVjPLiw@mail.gmail.com> (raw)
In-Reply-To: <048e88d5072fc038c8bd6207334e9967d5a29e0c.1501582237.git.henning.schild@siemens.com>
[-- Attachment #1: Type: text/plain, Size: 3887 bytes --]
2017-08-01 13:17 GMT+03:00 Henning Schild <henning.schild@siemens.com>:
> Signed-off-by: Henning Schild <henning.schild@siemens.com>
> ---
> meta/classes/dpkg.bbclass | 15 ++++++---------
> 1 file changed, 6 insertions(+), 9 deletions(-)
>
> diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass
> index 3d7aafb..1d0132b 100644
> --- a/meta/classes/dpkg.bbclass
> +++ b/meta/classes/dpkg.bbclass
> @@ -10,9 +10,7 @@ do_unpack[deptask] = "do_build"
> # Each package should have its own unique build folder, so use
> # recipe name as identifier
> PP = "/home/builder/${PN}"
> -BUILDROOT = "${BUILDCHROOT_DIR}/${PP}"
> -
> -do_fetch[dirs] = "${DL_DIR}"
> +WORKDIR = "${BUILDCHROOT_DIR}/${PP}"
>
WORKDIR is no the only folder to fetch sources to. This folder represents
workspace for all operation with folder, for example $WORKDIR/temp contails
log files.
Initially Isar designed to follow OE/Yocto style where it's possible.
Traditionally tmp/work folder contains all the packages workspaces with:
build atifacts, patches, bitbake logs etc... So in general it looks like
(roughly speaking):
tmp/work/toolchain/package/*
This conception ideally works with cross-compilation, when you can compile
packages out of the rootfs tree. Isar implements native compilation, so we
can't build package within current workspace. So the decision was to keep
workspace as it is but relocate build folder to buildchroot. The main
benefit of this approach, that there is a single package workspace for
bitbake metadata, while there may be many buildchroots (different Debian
distros and machines/architectures).
In my opinion this change is another step away from OE/Yocto style.
@Henning: could you please describe the motivation of this change?
@All: any opinions are highly appreciated.
>
> # Fetch package from the source link
> python do_fetch() {
> @@ -28,10 +26,10 @@ python do_fetch() {
> }
>
> addtask fetch before do_build
> +do_fetch[dirs] = "${DL_DIR}"
>
> -do_unpack[dirs] = "${BUILDROOT}"
> do_unpack[stamp-extra-info] = "${DISTRO}"
> -S ?= "${BUILDROOT}"
> +S ?= "${WORKDIR}"
>
S folder is used for unpacking sources. WORKDIR - is whole package
workspace. S should not equal to WORKDIR, otherwise this will lead to mess
between package sources and bitbake metadata. For example Also artifacts
from FILESDIR are usually installed to the root of WORKDIR.
>
> # Unpack package and put it into working directory in buildchroot
> python do_unpack() {
> @@ -39,16 +37,15 @@ python do_unpack() {
> if len(src_uri) == 0:
> return
>
> - rootdir = d.getVar('BUILDROOT', True)
> -
> try:
> fetcher = bb.fetch2.Fetch(src_uri, d)
> - fetcher.unpack(rootdir)
> + fetcher.unpack(d.getVar('WORKDIR', True))
> except bb.fetch2.BBFetchException as e:
> raise bb.build.FuncFailed(e)
> }
>
> addtask unpack after do_fetch before do_build
> +do_unpack[dirs] = "${WORKDIR}"
>
> do_build[stamp-extra-info] = "${DISTRO}"
>
> @@ -62,7 +59,7 @@ do_install[stamp-extra-info] = "${MACHINE}"
> # Install package to dedicated deploy directory
> do_install() {
> install -d ${DEPLOY_DIR_DEB}
> - install -m 755 ${BUILDROOT}/*.deb ${DEPLOY_DIR_DEB}/
> + install -m 755 ${WORKDIR}/*.deb ${DEPLOY_DIR_DEB}/
> }
>
> addtask do_install after do_build
> --
> 2.13.0
>
> --
> You received this message because you are subscribed to the Google Groups
> "isar-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to isar-users+unsubscribe@googlegroups.com.
> To post to this group, send email to isar-users@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/isar-users/048e88d5072fc038c8bd6207334e9967d5a29e0c.1501582237.git.
> henning.schild%40siemens.com.
> For more options, visit https://groups.google.com/d/optout.
>
[-- Attachment #2: Type: text/html, Size: 5655 bytes --]
next prev parent reply other threads:[~2017-08-02 9:24 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-01 10:17 [PATCH 00/16] fixes and introducing dpdk-bin support Henning Schild
2017-08-01 10:17 ` [PATCH 01/16] meta: ext4-img: copy and keep attributes, always copy with sudo Henning Schild
2017-08-02 7:48 ` Alexander Smirnov
2017-08-02 11:18 ` Henning Schild
2017-10-19 18:04 ` Henning Schild
2017-10-19 19:41 ` Alexander Smirnov
2017-08-01 10:17 ` [PATCH 02/16] meta: classes: use base.bbclass from bitbake Henning Schild
[not found] ` <CAJmB2rBjBqHxPKTna-XUtgmW9i-ooQwbACyFgQTQahTqUAxHcg@mail.gmail.com>
2017-08-02 8:21 ` Alexander Smirnov
2017-08-01 10:17 ` [PATCH 03/16] meta: isar-base: remove unused function Henning Schild
[not found] ` <CAJmB2rBwssbfjgqL2wAsOFfGUK7DbBY31tF_QhR09Ot0rmRVjQ@mail.gmail.com>
2017-08-02 8:20 ` Alexander Smirnov
2017-08-01 10:17 ` [PATCH 04/16] remove redundant variable THISDIR Henning Schild
2017-08-02 8:25 ` Alexander Smirnov
2017-08-02 11:20 ` Henning Schild
2017-08-01 10:17 ` [PATCH 05/16] meta: conf: use bitbake.conf from bitbake and apply local changes Henning Schild
2017-08-02 8:34 ` Alexander Smirnov
2017-08-02 11:22 ` Henning Schild
2017-08-01 10:17 ` [PATCH 06/16] meta: conf: clean up local bitbake config Henning Schild
2017-08-02 8:35 ` Alexander Smirnov
2017-08-02 11:23 ` Henning Schild
2017-08-01 10:17 ` [PATCH 07/16] classes: use WORKDIR and get rid of BUILDROOT Henning Schild
2017-08-02 9:24 ` Alexander Smirnov [this message]
2017-08-02 11:30 ` Henning Schild
2017-08-03 11:24 ` Henning Schild
2017-08-01 10:17 ` [PATCH 08/16] classes: move fetch and unpack into isar-base Henning Schild
2017-08-02 9:47 ` Alexander Smirnov
2017-08-02 11:33 ` Henning Schild
2017-08-01 10:17 ` [PATCH 09/16] meta: dpdk use [dirs] directive instead of mkdir Henning Schild
2017-08-01 10:17 ` [PATCH 10/16] meta: dpkg: reorder and rename do_install to install in addtask Henning Schild
2017-08-01 10:17 ` [PATCH 11/16] meta: classes: make do_build always the end of the task-chain Henning Schild
2017-08-02 9:54 ` Alexander Smirnov
2017-08-02 12:05 ` Henning Schild
2017-08-01 10:17 ` [PATCH 12/16] meta: dpkg rename install to install_package Henning Schild
2017-08-02 9:59 ` Alexander Smirnov
2017-08-01 10:17 ` [PATCH 13/16] meta: classes: move install_package to isar-base Henning Schild
2017-08-01 11:48 ` Claudius Heine
2017-08-01 14:00 ` Claudius Heine
2017-08-01 15:01 ` Henning Schild
2017-08-01 10:17 ` [PATCH 14/16] meta: classes: rename dpkg to dpkg-src Henning Schild
2017-08-02 10:02 ` Alexander Smirnov
2017-08-03 15:37 ` Henning Schild
2017-08-03 15:45 ` Jan Kiszka
2017-08-01 10:17 ` [PATCH 15/16] meta: add dpkg-bin class Henning Schild
2017-08-01 14:25 ` Claudius Heine
2017-08-01 15:10 ` Claudius Heine
2017-08-02 10:11 ` Alexander Smirnov
2017-08-02 10:25 ` Henning Schild
2017-08-02 12:31 ` Henning Schild
2017-08-02 12:50 ` Jan Kiszka
2017-08-02 13:40 ` Henning Schild
2017-08-02 15:03 ` Claudius Heine
2017-08-03 7:57 ` Henning Schild
2017-08-03 10:39 ` Claudius Heine
2017-08-03 14:17 ` Henning Schild
2017-08-02 11:11 ` Claudius Heine
2017-08-02 11:17 ` Claudius Heine
2017-08-02 11:26 ` Claudius Heine
2017-08-01 10:17 ` [PATCH 16/16] recipes-app/hello-bin: add example on how to use dpkg-bin Henning Schild
2017-08-02 6:33 ` Jan Kiszka
2017-08-02 6:55 ` Claudius Heine
2017-08-03 18:48 ` Henning Schild
2017-08-01 10:23 ` [PATCH 00/16] fixes and introducing dpdk-bin support Henning Schild
2017-08-01 11:24 ` Claudius Heine
2017-08-11 9:15 ` Alexander Smirnov
2017-08-11 10:35 ` Henning Schild
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=CAJmB2rDWp6G6m+bFRAqgcDq4UN-M8BpNByREkoftjgOJVjPLiw@mail.gmail.com \
--to=alex.bluesman.smirnov@gmail.com \
--cc=henning.schild@siemens.com \
--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