public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: isar-users <isar-users@googlegroups.com>
Cc: Chao Zeng <chao.zeng@siemens.com>, Le Jin <le.jin@siemens.com>,
	Christopher Larson <kergoth@gmail.com>
Subject: Re: [PATCH v2 1/6] sdk: Add support for adding self-defined sdk packages
Date: Mon, 8 Jun 2020 12:22:26 +0200	[thread overview]
Message-ID: <392d9aec-1b35-b9e5-3ad6-c6b2f1b7a102@siemens.com> (raw)
In-Reply-To: <474ed5e64a311c861761d46a723e1bfef3bab973.1585394686.git.jan.kiszka@siemens.com>

On 28.03.20 12:24, [ext] Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka@siemens.com>
> 
> We do not yet have a good algorithm for automatically adding build
> dependencies to the sdk beyond the basic set, let's allow users to
> append what they need by appending SDK_PREINSTALL. Analogously to other
> images, also allow to install self-built packages, consequently using
> SDK_INSTALL.
> 
> Based on original patch by Le Jin.
> 
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
>  doc/user_manual.md                           |  1 +
>  meta/recipes-devtools/sdkchroot/sdkchroot.bb | 25 +++++++++++++++----------
>  2 files changed, 16 insertions(+), 10 deletions(-)
> 
> diff --git a/doc/user_manual.md b/doc/user_manual.md
> index 0582ac74..6d95f26b 100644
> --- a/doc/user_manual.md
> +++ b/doc/user_manual.md
> @@ -744,6 +744,7 @@ target binary artifacts. Developer chroots to sdk rootfs and develops applicatio
>  
>  User manually triggers creation of SDK root filesystem for his target platform by launching the task `do_populate_sdk` for target image, f.e.
>  `bitbake -c do_populate_sdk mc:${MACHINE}-${DISTRO}:isar-image-base`.
> +Packages that should be additionally installed into the SDK can be appended to `SDK_PREINSTALL` (external repositories) and `SDK_INSTALL` (self-built).
>  
>  The resulting SDK rootfs is archived into `tmp/deploy/images/${MACHINE}/sdk-${DISTRO}-${DISTRO_ARCH}.tar.xz`.
>  It is additionally available for direct use under `tmp/deploy/images/${MACHINE}/sdk-${DISTRO}-${DISTRO_ARCH}/`.
> diff --git a/meta/recipes-devtools/sdkchroot/sdkchroot.bb b/meta/recipes-devtools/sdkchroot/sdkchroot.bb
> index 467e6824..ab0a66dc 100644
> --- a/meta/recipes-devtools/sdkchroot/sdkchroot.bb
> +++ b/meta/recipes-devtools/sdkchroot/sdkchroot.bb
> @@ -13,6 +13,10 @@ SRC_URI = " \
>      file://README.sdk"
>  PV = "0.1"
>  
> +SDK_INSTALL ?= ""
> +
> +DEPENDS += "${SDK_INSTALL}"
> +
>  TOOLCHAIN = "crossbuild-essential-${DISTRO_ARCH}"
>  TOOLCHAIN_${HOST_ARCH} = "build-essential"
>  TOOLCHAIN_i386 = "build-essential"
> @@ -21,7 +25,7 @@ inherit rootfs
>  ROOTFS_ARCH = "${HOST_ARCH}"
>  ROOTFS_DISTRO = "${HOST_DISTRO}"
>  ROOTFSDIR = "${S}"
> -ROOTFS_PACKAGES = "${SDKCHROOT_PREINSTALL} ${TOOLCHAIN}"
> +ROOTFS_PACKAGES = "${SDK_PREINSTALL} ${SDK_INSTALL} ${TOOLCHAIN}"
>  ROOTFS_FEATURES += "clean-package-cache generate-manifest"
>  ROOTFS_MANIFEST_DEPLOY_DIR = "${DEPLOY_DIR_SDKCHROOT}"
>  
> @@ -31,15 +35,16 @@ python() {
>              d.getVar("ROOTFS_ARCH")))
>  }
>  
> -SDKCHROOT_PREINSTALL := "debhelper \
> -                           autotools-dev \
> -                           dpkg \
> -                           locales \
> -                           docbook-to-man \
> -                           apt \
> -                           automake \
> -                           devscripts \
> -                           equivs"
> +SDK_PREINSTALL += " \
> +    debhelper \
> +    autotools-dev \
> +    dpkg \
> +    locales \
> +    docbook-to-man \
> +    apt \
> +    automake \
> +    devscripts \
> +    equivs"
>  
>  S = "${WORKDIR}/rootfs"
>  
> 

I just realized another design issue with current sdk building:
sdkchroot is shared with all image recipes that request
do_populated_sdk. You may expect that defining SDP_[PRE]INSTALL there
would have any impact, but that's not true therefore. Only adding those
to an appended sdkchroot recipe or the global configuration works right
now. As these additions may very well be specific to individual target
images, neither of those options are perfect. We rather need to make the
sdkchroot specific to the target image requesting it.

That said, such a rework could happen later because the current form is
already fine for a lot of use cases (and is being used for a longer
while now).

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux

  reply	other threads:[~2020-06-08 10:22 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-28 11:24 [PATCH v2 0/6] Evolve SDK to chroot-free usage Jan Kiszka
2020-03-28 11:24 ` [PATCH v2 1/6] sdk: Add support for adding self-defined sdk packages Jan Kiszka
2020-06-08 10:22   ` Jan Kiszka [this message]
2020-06-12  9:34     ` Baurzhan Ismagulov
2020-06-12  9:54       ` Jan Kiszka
2020-06-12 10:05         ` Jan Kiszka
2020-06-12 10:30           ` Jan Kiszka
2020-06-22  8:09           ` Jan Kiszka
2020-03-28 11:24 ` [PATCH v2 2/6] sdk: Make all links in the SDK chroot relative Jan Kiszka
2020-03-28 11:24 ` [PATCH v2 3/6] sdk: Add script to relocate SDK Jan Kiszka
2020-03-28 11:24 ` [PATCH v2 4/6] sdk: Do not ship the isar-apt repo Jan Kiszka
2020-03-28 11:24 ` [PATCH v2 5/6] sdk: Inject sysroot path when calling relocated toolchain Jan Kiszka
2020-07-14 20:22   ` [PATCH v3 " Jan Kiszka
2020-08-31 16:32     ` Jan Kiszka
2020-09-21  9:27       ` Jan Kiszka
2020-09-21 10:05         ` Baurzhan Ismagulov
2020-09-21 11:47           ` Jan Kiszka
2020-03-28 11:24 ` [PATCH v2 6/6] sdk: Update README.sdk Jan Kiszka

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=392d9aec-1b35-b9e5-3ad6-c6b2f1b7a102@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=chao.zeng@siemens.com \
    --cc=isar-users@googlegroups.com \
    --cc=kergoth@gmail.com \
    --cc=le.jin@siemens.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