[PATCH] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor

79 views
Skip to first unread message

Srinuvasan Arjunan

unread,
Dec 15, 2023, 4:57:06 AM12/15/23
to isar-...@googlegroups.com, jan.k...@siemens.com, srinuvasan
From: srinuvasan <srinuv...@siemens.com>

In some use-cases we need to install custom packages in sbuildchroot and
this can be referred later time during image generation part, hence we
need the persistent sbuildchroot rather than the temporary sessions.

Introduced persistent-sbuildchroot class to handle the above scenarios.

Introduced SBUILD_CHROOT_INSTALL_EXTRA variable, here you can define the
additional custom packages that you need to install in sbuild flavor.

Signed-off-by: srinuvasan <srinuv...@siemens.com>
---
.../recipes-app/hello-isar/hello-isar.bb | 2 +-
meta-isar/recipes-app/libhello/libhello.bb | 2 +-
.../recipes-core/images/isar-image-base.bb | 3 +
...b => sbuild-chroot-host-extra-packages.bb} | 2 +-
...=> sbuild-chroot-target-extra-packages.bb} | 2 +-
meta/classes/image.bbclass | 1 +
meta/classes/persistent-sbuildchroot.bbclass | 64 +++++++++++++++++++
7 files changed, 72 insertions(+), 4 deletions(-)
rename meta-isar/recipes-devtools/sbuild-chroot/{sbuild-chroot-host-db2m.bb => sbuild-chroot-host-extra-packages.bb} (91%)
rename meta-isar/recipes-devtools/sbuild-chroot/{sbuild-chroot-target-db2m.bb => sbuild-chroot-target-extra-packages.bb} (91%)
create mode 100644 meta/classes/persistent-sbuildchroot.bbclass

diff --git a/meta-isar/recipes-app/hello-isar/hello-isar.bb b/meta-isar/recipes-app/hello-isar/hello-isar.bb
index 51dac2b7..484e5704 100644
--- a/meta-isar/recipes-app/hello-isar/hello-isar.bb
+++ b/meta-isar/recipes-app/hello-isar/hello-isar.bb
@@ -23,4 +23,4 @@ SRCREV = "a18c14cc11ce6b003f3469e89223cffb4016861d"
inherit dpkg

# Example of using alternative sbuild chroot
-SBUILD_FLAVOR="db2m"
+SBUILD_FLAVOR="extra-packages"
diff --git a/meta-isar/recipes-app/libhello/libhello.bb b/meta-isar/recipes-app/libhello/libhello.bb
index 71604bf5..4e6522fe 100644
--- a/meta-isar/recipes-app/libhello/libhello.bb
+++ b/meta-isar/recipes-app/libhello/libhello.bb
@@ -16,4 +16,4 @@ SRCREV = "98f2e41e7d05ab8d19b0c5d160b104b725c8fd93"
inherit dpkg

# Example of using alternative sbuild chroot
-SBUILD_FLAVOR="db2m"
+SBUILD_FLAVOR="extra-packages"
diff --git a/meta-isar/recipes-core/images/isar-image-base.bb b/meta-isar/recipes-core/images/isar-image-base.bb
index b381d859..17840906 100644
--- a/meta-isar/recipes-core/images/isar-image-base.bb
+++ b/meta-isar/recipes-core/images/isar-image-base.bb
@@ -10,4 +10,7 @@ LIC_FILES_CHKSUM = "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260

PV = "1.0"

+SBUILD_FLAVOR = "extra-packages"
+SBUILD_CHROOT_INSTALL_EXTRA = "hello-isar"
+
inherit image
diff --git a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-db2m.bb b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-extra-packages.bb
similarity index 91%
rename from meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-db2m.bb
rename to meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-extra-packages.bb
index 1795c5a2..b035a926 100644
--- a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-db2m.bb
+++ b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-extra-packages.bb
@@ -8,5 +8,5 @@ DESCRIPTION = "Isar sbuild/schroot filesystem for host (docbook-to-man)"

require recipes-devtools/sbuild-chroot/sbuild-chroot-host.bb

-SBUILD_FLAVOR = "db2m"
+SBUILD_FLAVOR = "extra-packages"
SBUILD_CHROOT_PREINSTALL_EXTRA ?= "docbook-to-man"
diff --git a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-db2m.bb b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-extra-packages.bb
similarity index 91%
rename from meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-db2m.bb
rename to meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-extra-packages.bb
index e2e10433..80440df2 100644
--- a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-db2m.bb
+++ b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-extra-packages.bb
@@ -8,5 +8,5 @@ DESCRIPTION = "Isar sbuild/schroot filesystem for target (docbook-to-man)"

require recipes-devtools/sbuild-chroot/sbuild-chroot-target.bb

-SBUILD_FLAVOR = "db2m"
+SBUILD_FLAVOR = "extra-packages"
SBUILD_CHROOT_PREINSTALL_EXTRA ?= "docbook-to-man"
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 73f1d52c..03a02583 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -85,6 +85,7 @@ inherit image-tools-extension
inherit image-postproc-extension
inherit image-locales-extension
inherit image-account-extension
+inherit persistent-sbuildchroot

# Extra space for rootfs in MB
ROOTFS_EXTRA ?= "64"
diff --git a/meta/classes/persistent-sbuildchroot.bbclass b/meta/classes/persistent-sbuildchroot.bbclass
new file mode 100644
index 00000000..388d156a
--- /dev/null
+++ b/meta/classes/persistent-sbuildchroot.bbclass
@@ -0,0 +1,64 @@
+# This software is a part of ISAR.
+# Copyright (C) Siemens AG, 2023
+#
+# SPDX-License-Identifier: MIT
+#
+# This file extends the image.bbclass to supply tools for futher imager functions
+
+inherit sbuild
+
+SBUILD_FLAVOR = "extra-packages"
+SBUILD_CHROOT_INSTALL_EXTRA ??= ""
+
+SCHROOT_MOUNTS = "${WORKDIR}:${PP_WORK} ${IMAGE_ROOTFS}:${PP_ROOTFS} ${DEPLOY_DIR_IMAGE}:${PP_DEPLOY}"
+SCHROOT_MOUNTS += "${REPO_ISAR_DIR}/${DISTRO}:/isar-apt"
+
+ROOTFS_INSTALL_COMMAND:prepend = " sbuild_chroot_install_extra"
+
+sbuild_chroot_install_extra() {
+
+ schroot_create_configs
+ insert_mounts
+
+ if [ -n "${SBUILD_CHROOT_INSTALL_EXTRA}" ]; then
+ echo "Installing self built packages: ${SBUILD_CHROOT_INSTALL_EXTRA}"
+
+ distro="${BASE_DISTRO}-${BASE_DISTRO_CODENAME}"
+ if [ ${ISAR_CROSS_COMPILE} -eq 1 ]; then
+ distro="${HOST_BASE_DISTRO}-${BASE_DISTRO_CODENAME}"
+ fi
+
+ # prepare isar-apt
+ sudo -E chroot ${SCHROOT_DIR} sh -c " \
+ mkdir -p '/etc/apt/sources.list.d'
+ echo 'deb [trusted=yes] file:///isar-apt ${DEBDISTRONAME} main' > \
+ '/etc/apt/sources.list.d/isar-apt.list'
+
+ mkdir -p '/etc/apt/preferences.d'
+ cat << EOF > '/etc/apt/preferences.d/isar-apt'
+Package: ${SBUILD_CHROOT_INSTALL_EXTRA}
+Pin: release n=${DEBDISTRONAME}
+Pin-Priority: 1000
+EOF"
+
+ E="${@ isar_export_proxies(d)}"
+ deb_dl_dir_import ${schroot_dir} ${distro}
+ sudo -E chroot ${SCHROOT_DIR} sh -c " \
+ apt-get update \
+ -o Dir::Etc::SourceList='sources.list.d/isar-apt.list' \
+ -o Dir::Etc::SourceParts='-' \
+ -o APT::Get::List-Cleanup='0'
+ apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y \
+ --allow-unauthenticated --allow-downgrades --download-only install \
+ ${SBUILD_CHROOT_INSTALL_EXTRA}"
+
+ deb_dl_dir_export ${schroot_dir} ${distro}
+ sudo -E chroot ${SCHROOT_DIR} sh -c " \
+ apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y \
+ --allow-unauthenticated --allow-downgrades install \
+ ${SBUILD_CHROOT_INSTALL_EXTRA}"
+ fi
+
+ remove_mounts
+ schroot_delete_configs
+}
--
2.39.2

Jan Kiszka

unread,
Dec 15, 2023, 5:34:49 AM12/15/23
to Srinuvasan Arjunan, isar-...@googlegroups.com, srinuvasan
On 15.12.23 10:56, Srinuvasan Arjunan wrote:
> From: srinuvasan <srinuv...@siemens.com>
>
> In some use-cases we need to install custom packages in sbuildchroot and
> this can be referred later time during image generation part, hence we
> need the persistent sbuildchroot rather than the temporary sessions.

We already have a persistent sbuild flavor, but we may lack some
extension to make it usable not only from a package recipe but also an
image recipe. Please work towards that direction.

>
> Introduced persistent-sbuildchroot class to handle the above scenarios.
>
> Introduced SBUILD_CHROOT_INSTALL_EXTRA variable, here you can define the
> additional custom packages that you need to install in sbuild flavor.

I don't get the semantic of this variable. We so far have
SBUILD_CHROOT_PREINSTALL, why don't you introduce SBUILD_CHROOT_INSTALL
(SBUILD_CHROOT_PREINSTALL + DEPENDS), analogously to IMAGE_[PRE]INSTALL?

Jan

--
Siemens AG, Technology
Linux Expert Center

Srinuvasan Arjunan

unread,
Dec 15, 2023, 6:01:11 AM12/15/23
to isar-users
On Friday, December 15, 2023 at 4:04:49 PM UTC+5:30 Jan Kiszka wrote:
On 15.12.23 10:56, Srinuvasan Arjunan wrote:
> From: srinuvasan <srinuv...@siemens.com>
>
> In some use-cases we need to install custom packages in sbuildchroot and
> this can be referred later time during image generation part, hence we
> need the persistent sbuildchroot rather than the temporary sessions.

We already have a persistent sbuild flavor, but we may lack some
extension to make it usable not only from a package recipe but also an
image recipe. Please work towards that direction.

    yes my comment may be wrong, but the intention of the work towards right directions, this will extend to install the custom packages
    in persistent sbuildchroot. 


>
> Introduced persistent-sbuildchroot class to handle the above scenarios.
>
> Introduced SBUILD_CHROOT_INSTALL_EXTRA variable, here you can define the
> additional custom packages that you need to install in sbuild flavor.

I don't get the semantic of this variable. We so far have
SBUILD_CHROOT_PREINSTALL, why don't you introduce SBUILD_CHROOT_INSTALL
(SBUILD_CHROOT_PREINSTALL + DEPENDS), analogously to IMAGE_[PRE]INSTALL?

   This will address. 

Srinuvasan Arjunan

unread,
Dec 15, 2023, 6:45:50 AM12/15/23
to isar-...@googlegroups.com, jan.k...@siemens.com, srinuvasan
From: srinuvasan <srinuv...@siemens.com>

In some use-cases we need to install custom packages in sbuildchroot and
this can be referred later time during image generation part, hence we
additionally added the provision to install the custom packages in
sbuild flavor.

Introduced SBUILD_CHROOT_INSTALL variable, here you can define the
custom packages that you need to install in sbuild flavor.

Signed-off-by: srinuvasan <srinuv...@siemens.com>
---
.../recipes-app/hello-isar/hello-isar.bb | 2 +-
meta-isar/recipes-app/libhello/libhello.bb | 2 +-
.../recipes-core/images/isar-image-base.bb | 3 +
...b => sbuild-chroot-host-extra-packages.bb} | 2 +-
...=> sbuild-chroot-target-extra-packages.bb} | 2 +-
meta/classes/image.bbclass | 1 +
...tall-custom-packages-sbuild-flavor.bbclass | 64 +++++++++++++++++++
7 files changed, 72 insertions(+), 4 deletions(-)
rename meta-isar/recipes-devtools/sbuild-chroot/{sbuild-chroot-host-db2m.bb => sbuild-chroot-host-extra-packages.bb} (91%)
rename meta-isar/recipes-devtools/sbuild-chroot/{sbuild-chroot-target-db2m.bb => sbuild-chroot-target-extra-packages.bb} (91%)
create mode 100644 meta/classes/install-custom-packages-sbuild-flavor.bbclass

diff --git a/meta-isar/recipes-app/hello-isar/hello-isar.bb b/meta-isar/recipes-app/hello-isar/hello-isar.bb
index 51dac2b7..484e5704 100644
--- a/meta-isar/recipes-app/hello-isar/hello-isar.bb
+++ b/meta-isar/recipes-app/hello-isar/hello-isar.bb
@@ -23,4 +23,4 @@ SRCREV = "a18c14cc11ce6b003f3469e89223cffb4016861d"
inherit dpkg

# Example of using alternative sbuild chroot
-SBUILD_FLAVOR="db2m"
+SBUILD_FLAVOR="extra-packages"
diff --git a/meta-isar/recipes-app/libhello/libhello.bb b/meta-isar/recipes-app/libhello/libhello.bb
index 71604bf5..4e6522fe 100644
--- a/meta-isar/recipes-app/libhello/libhello.bb
+++ b/meta-isar/recipes-app/libhello/libhello.bb
@@ -16,4 +16,4 @@ SRCREV = "98f2e41e7d05ab8d19b0c5d160b104b725c8fd93"
inherit dpkg

# Example of using alternative sbuild chroot
-SBUILD_FLAVOR="db2m"
+SBUILD_FLAVOR="extra-packages"
diff --git a/meta-isar/recipes-core/images/isar-image-base.bb b/meta-isar/recipes-core/images/isar-image-base.bb
index b381d859..d635a3aa 100644
--- a/meta-isar/recipes-core/images/isar-image-base.bb
+++ b/meta-isar/recipes-core/images/isar-image-base.bb
@@ -10,4 +10,7 @@ LIC_FILES_CHKSUM = "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260

PV = "1.0"

+SBUILD_FLAVOR = "extra-packages"
+SBUILD_CHROOT_INSTALL = "hello-isar"
index 73f1d52c..5fea18b0 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -85,6 +85,7 @@ inherit image-tools-extension
inherit image-postproc-extension
inherit image-locales-extension
inherit image-account-extension
+inherit install-custom-packages-sbuild-flavor

# Extra space for rootfs in MB
ROOTFS_EXTRA ?= "64"
diff --git a/meta/classes/install-custom-packages-sbuild-flavor.bbclass b/meta/classes/install-custom-packages-sbuild-flavor.bbclass
new file mode 100644
index 00000000..04650f51
--- /dev/null
+++ b/meta/classes/install-custom-packages-sbuild-flavor.bbclass
@@ -0,0 +1,64 @@
+# This software is a part of ISAR.
+# Copyright (C) Siemens AG, 2023
+#
+# SPDX-License-Identifier: MIT
+#
+# This file extends the image.bbclass to supply tools for futher imager functions
+
+inherit sbuild
+
+SBUILD_FLAVOR = "extra-packages"
+SBUILD_CHROOT_INSTALL ??= ""
+
+SCHROOT_MOUNTS = "${WORKDIR}:${PP_WORK} ${IMAGE_ROOTFS}:${PP_ROOTFS} ${DEPLOY_DIR_IMAGE}:${PP_DEPLOY}"
+SCHROOT_MOUNTS += "${REPO_ISAR_DIR}/${DISTRO}:/isar-apt"
+
+ROOTFS_INSTALL_COMMAND:prepend = " install_custom_packages_sbuild_flavor"
+
+install_custom_packages_sbuild_flavor() {
+
+ schroot_create_configs
+ insert_mounts
+
+ if [ -n "${SBUILD_CHROOT_INSTALL}" ]; then
+ echo "Installing self built packages: ${SBUILD_CHROOT_INSTALL}"
+
+ distro="${BASE_DISTRO}-${BASE_DISTRO_CODENAME}"
+ if [ ${ISAR_CROSS_COMPILE} -eq 1 ]; then
+ distro="${HOST_BASE_DISTRO}-${BASE_DISTRO_CODENAME}"
+ fi
+
+ # prepare isar-apt
+ sudo -E chroot ${SCHROOT_DIR} sh -c " \
+ mkdir -p '/etc/apt/sources.list.d'
+ echo 'deb [trusted=yes] file:///isar-apt ${DEBDISTRONAME} main' > \
+ '/etc/apt/sources.list.d/isar-apt.list'
+
+ mkdir -p '/etc/apt/preferences.d'
+ cat << EOF > '/etc/apt/preferences.d/isar-apt'
+Package: ${SBUILD_CHROOT_INSTALL}
+Pin: release n=${DEBDISTRONAME}
+Pin-Priority: 1000
+EOF"
+
+ E="${@ isar_export_proxies(d)}"
+ deb_dl_dir_import ${schroot_dir} ${distro}
+ sudo -E chroot ${SCHROOT_DIR} sh -c " \
+ apt-get update \
+ -o Dir::Etc::SourceList='sources.list.d/isar-apt.list' \
+ -o Dir::Etc::SourceParts='-' \
+ -o APT::Get::List-Cleanup='0'
+ apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y \
+ --allow-unauthenticated --allow-downgrades --download-only install \
+ ${SBUILD_CHROOT_INSTALL}"
+
+ deb_dl_dir_export ${schroot_dir} ${distro}
+ sudo -E chroot ${SCHROOT_DIR} sh -c " \
+ apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y \
+ --allow-unauthenticated --allow-downgrades install \
+ ${SBUILD_CHROOT_INSTALL}"

Srinuvasan Arjunan

unread,
Jan 2, 2024, 11:47:19 PM1/2/24
to isar-users
    Any improvements needed in this patch , Please provide your thoughts.

   Thanks,
   Srinu 

Jan Kiszka

unread,
Jan 3, 2024, 12:17:54 AM1/3/24
to Srinuvasan Arjunan, isar-users
On 03.01.24 05:47, Srinuvasan Arjunan wrote:
>
>
> On Friday, December 15, 2023 at 5:15:50 PM UTC+5:30 Srinuvasan Arjunan
> wrote:
>
> From: srinuvasan <srinuv...@siemens.com>
>
> In some use-cases we need to install custom packages in sbuildchroot
> and
> this can be referred later time during image generation part, hence we
> additionally added the provision to install the custom packages in
> sbuild flavor.
>
> Introduced SBUILD_CHROOT_INSTALL variable, here you can define the
> custom packages that you need to install in sbuild flavor.
>
> Signed-off-by: srinuvasan <srinuv...@siemens.com>
> ---
> .../recipes-app/hello-isar/hello-isar.bb <http://hello-isar.bb> | 2 +-
> meta-isar/recipes-app/libhello/libhello.bb <http://libhello.bb> | 2 +-
> .../recipes-core/images/isar-image-base.bb
> <http://isar-image-base.bb> | 3 +
> ...b => sbuild-chroot-host-extra-packages.bb
> <http://sbuild-chroot-host-extra-packages.bb>} | 2 +-
> ...=> sbuild-chroot-target-extra-packages.bb
> <http://sbuild-chroot-target-extra-packages.bb>} | 2 +-
> meta/classes/image.bbclass | 1 +
> ...tall-custom-packages-sbuild-flavor.bbclass | 64 +++++++++++++++++++
> 7 files changed, 72 insertions(+), 4 deletions(-)
> rename
> meta-isar/recipes-devtools/sbuild-chroot/{sbuild-chroot-host-db2m.bb
> <http://sbuild-chroot-host-db2m.bb> =>
> sbuild-chroot-host-extra-packages.bb
> <http://sbuild-chroot-host-extra-packages.bb>} (91%)
> rename
> meta-isar/recipes-devtools/sbuild-chroot/{sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> => sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>} (91%)
> create mode 100644
> meta/classes/install-custom-packages-sbuild-flavor.bbclass
>
> diff --git a/meta-isar/recipes-app/hello-isar/hello-isar.bb
> <http://hello-isar.bb>
> b/meta-isar/recipes-app/hello-isar/hello-isar.bb <http://hello-isar.bb>
> index 51dac2b7..484e5704 100644
> --- a/meta-isar/recipes-app/hello-isar/hello-isar.bb
> <http://hello-isar.bb>
> +++ b/meta-isar/recipes-app/hello-isar/hello-isar.bb
> <http://hello-isar.bb>
> @@ -23,4 +23,4 @@ SRCREV = "a18c14cc11ce6b003f3469e89223cffb4016861d"
> inherit dpkg
>
> # Example of using alternative sbuild chroot
> -SBUILD_FLAVOR="db2m"
> +SBUILD_FLAVOR="extra-packages"
> diff --git a/meta-isar/recipes-app/libhello/libhello.bb
> <http://libhello.bb> b/meta-isar/recipes-app/libhello/libhello.bb
> <http://libhello.bb>
> index 71604bf5..4e6522fe 100644
> --- a/meta-isar/recipes-app/libhello/libhello.bb <http://libhello.bb>
> +++ b/meta-isar/recipes-app/libhello/libhello.bb <http://libhello.bb>
> @@ -16,4 +16,4 @@ SRCREV = "98f2e41e7d05ab8d19b0c5d160b104b725c8fd93"
> inherit dpkg
>
> # Example of using alternative sbuild chroot
> -SBUILD_FLAVOR="db2m"
> +SBUILD_FLAVOR="extra-packages"
> diff --git a/meta-isar/recipes-core/images/isar-image-base.bb
> <http://isar-image-base.bb>
> b/meta-isar/recipes-core/images/isar-image-base.bb
> <http://isar-image-base.bb>
> index b381d859..d635a3aa 100644
> --- a/meta-isar/recipes-core/images/isar-image-base.bb
> <http://isar-image-base.bb>
> +++ b/meta-isar/recipes-core/images/isar-image-base.bb
> <http://isar-image-base.bb>
> @@ -10,4 +10,7 @@ LIC_FILES_CHKSUM =
> "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260
>
> PV = "1.0"
>
> +SBUILD_FLAVOR = "extra-packages"
> +SBUILD_CHROOT_INSTALL = "hello-isar"
> +
> inherit image
> diff --git
> a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb> b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb>
> similarity index 91%
> rename from
> meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-db2m.bb
> <http://sbuild-chroot-host-db2m.bb>
> rename to
> meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb>
> index 1795c5a2..b035a926 100644
> ---
> a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb>
> +++
> b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb>
> @@ -8,5 +8,5 @@ DESCRIPTION = "Isar sbuild/schroot filesystem for
> host (docbook-to-man)"
>
> require recipes-devtools/sbuild-chroot/sbuild-chroot-host.bb
> <http://sbuild-chroot-host.bb>
>
> -SBUILD_FLAVOR = "db2m"
> +SBUILD_FLAVOR = "extra-packages"
> SBUILD_CHROOT_PREINSTALL_EXTRA ?= "docbook-to-man"
> diff --git
> a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>
> similarity index 91%
> rename from
> meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>
> rename to
> meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>
> index e2e10433..80440df2 100644
> ---
> a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>
> +++
> b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>
> @@ -8,5 +8,5 @@ DESCRIPTION = "Isar sbuild/schroot filesystem for
> target (docbook-to-man)"
>
> require recipes-devtools/sbuild-chroot/sbuild-chroot-target.bb
> <http://sbuild-chroot-target.bb>
I still don't get all the complexity here, specificially as I just did
what you did in [1] with just a DEPENDS.

Jan

[1]
https://groups.google.com/d/msgid/isar-users/c1e5d483ee4fae79645d69ac95258a622c9b5a7d.1704190109.git.jan.kiszka%40siemens.com

Srinuvasan Arjunan

unread,
Jan 3, 2024, 2:56:04 AM1/3/24
to isar-users
   Hmm, Let me try with DEPENDS , but you added the dependencies via DEPENDS in base sbuild-chroot [target/host], if i add all my dependencies here it may increases the size of bare-metal sbuild-chroot , i will check this DEPENDS for sbuild flavor too.


   Srinu 

Jan Kiszka

unread,
Jan 3, 2024, 5:36:20 AM1/3/24
to Srinuvasan Arjunan, isar-users
On 03.01.24 08:56, Srinuvasan Arjunan wrote:
>
>
> On Wednesday, January 3, 2024 at 10:47:54 AM UTC+5:30 Jan Kiszka wrote:
>
> On 03.01.24 05:47, Srinuvasan Arjunan wrote:
> >
> >
> > On Friday, December 15, 2023 at 5:15:50 PM UTC+5:30 Srinuvasan
> Arjunan
> > wrote:
> >
> > From: srinuvasan <srinuv...@siemens.com>
> >
> > In some use-cases we need to install custom packages in sbuildchroot
> > and
> > this can be referred later time during image generation part,
> hence we
> > additionally added the provision to install the custom packages in
> > sbuild flavor.
> >
> > Introduced SBUILD_CHROOT_INSTALL variable, here you can define the
> > custom packages that you need to install in sbuild flavor.
> >
> > Signed-off-by: srinuvasan <srinuv...@siemens.com>
> > ---
> > .../recipes-app/hello-isar/hello-isar.bb <http://hello-isar.bb>
> <http://hello-isar.bb <http://hello-isar.bb>> | 2 +-
> > meta-isar/recipes-app/libhello/libhello.bb <http://libhello.bb>
> <http://libhello.bb <http://libhello.bb>> | 2 +-
> > .../recipes-core/images/isar-image-base.bb
> <http://isar-image-base.bb>
> > <http://isar-image-base.bb <http://isar-image-base.bb>> | 3 +
> > <http://sbuild-chroot-host-extra-packages.bb
> > <http://sbuild-chroot-target-extra-packages.bb
> <http://sbuild-chroot-target-extra-packages.bb>>} | 2 +-
> > meta/classes/image.bbclass | 1 +
> > ...tall-custom-packages-sbuild-flavor.bbclass | 64
> +++++++++++++++++++
> > 7 files changed, 72 insertions(+), 4 deletions(-)
> > rename
> >
> meta-isar/recipes-devtools/sbuild-chroot/{sbuild-chroot-host-db2m.bb
> <http://sbuild-chroot-host-db2m.bb>
> > <http://sbuild-chroot-host-db2m.bb
> > <http://sbuild-chroot-host-extra-packages.bb
> <http://sbuild-chroot-host-extra-packages.bb>>} (91%)
> > rename
> >
> meta-isar/recipes-devtools/sbuild-chroot/{sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>> => sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>>} (91%)
> > create mode 100644
> > meta/classes/install-custom-packages-sbuild-flavor.bbclass
> >
> > diff --git a/meta-isar/recipes-app/hello-isar/hello-isar.bb
> <http://hello-isar.bb>
> > <http://hello-isar.bb <http://hello-isar.bb>>
> > b/meta-isar/recipes-app/hello-isar/hello-isar.bb
> <http://hello-isar.bb> <http://hello-isar.bb <http://hello-isar.bb>>
> > index 51dac2b7..484e5704 100644
> > --- a/meta-isar/recipes-app/hello-isar/hello-isar.bb
> <http://hello-isar.bb>
> > <http://hello-isar.bb <http://hello-isar.bb>>
> > +++ b/meta-isar/recipes-app/hello-isar/hello-isar.bb
> <http://hello-isar.bb>
> > <http://hello-isar.bb <http://hello-isar.bb>>
> > @@ -23,4 +23,4 @@ SRCREV = "a18c14cc11ce6b003f3469e89223cffb4016861d"
> > inherit dpkg
> >
> > # Example of using alternative sbuild chroot
> > -SBUILD_FLAVOR="db2m"
> > +SBUILD_FLAVOR="extra-packages"
> > diff --git a/meta-isar/recipes-app/libhello/libhello.bb
> <http://libhello.bb>
> > <http://libhello.bb <http://libhello.bb>>
> b/meta-isar/recipes-app/libhello/libhello.bb <http://libhello.bb>
> > <http://libhello.bb <http://libhello.bb>>
> > index 71604bf5..4e6522fe 100644
> > --- a/meta-isar/recipes-app/libhello/libhello.bb
> <http://libhello.bb> <http://libhello.bb <http://libhello.bb>>
> > +++ b/meta-isar/recipes-app/libhello/libhello.bb
> <http://libhello.bb> <http://libhello.bb <http://libhello.bb>>
> > @@ -16,4 +16,4 @@ SRCREV = "98f2e41e7d05ab8d19b0c5d160b104b725c8fd93"
> > inherit dpkg
> >
> > # Example of using alternative sbuild chroot
> > -SBUILD_FLAVOR="db2m"
> > +SBUILD_FLAVOR="extra-packages"
> > diff --git a/meta-isar/recipes-core/images/isar-image-base.bb
> <http://isar-image-base.bb>
> > <http://isar-image-base.bb <http://isar-image-base.bb>>
> > b/meta-isar/recipes-core/images/isar-image-base.bb
> <http://isar-image-base.bb>
> > <http://isar-image-base.bb <http://isar-image-base.bb>>
> > index b381d859..d635a3aa 100644
> > --- a/meta-isar/recipes-core/images/isar-image-base.bb
> <http://isar-image-base.bb>
> > <http://isar-image-base.bb <http://isar-image-base.bb>>
> > +++ b/meta-isar/recipes-core/images/isar-image-base.bb
> <http://isar-image-base.bb>
> > <http://isar-image-base.bb <http://isar-image-base.bb>>
> > @@ -10,4 +10,7 @@ LIC_FILES_CHKSUM =
> > "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260
> >
> > PV = "1.0"
> >
> > +SBUILD_FLAVOR = "extra-packages"
> > +SBUILD_CHROOT_INSTALL = "hello-isar"
> > +
> > inherit image
> > diff --git
> >
> a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb> <http://sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb>> b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb> <http://sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb>>
> > similarity index 91%
> > rename from
> >
> meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-db2m.bb
> <http://sbuild-chroot-host-db2m.bb>
> > <http://sbuild-chroot-host-db2m.bb
> <http://sbuild-chroot-host-db2m.bb>>
> > rename to
> >
> meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb> <http://sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb>>
> > index 1795c5a2..b035a926 100644
> > ---
> >
> a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb> <http://sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb>>
> > +++
> >
> b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb> <http://sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb>>
> > @@ -8,5 +8,5 @@ DESCRIPTION = "Isar sbuild/schroot filesystem for
> > host (docbook-to-man)"
> >
> > require recipes-devtools/sbuild-chroot/sbuild-chroot-host.bb
> <http://sbuild-chroot-host.bb>
> > <http://sbuild-chroot-host.bb <http://sbuild-chroot-host.bb>>
> >
> > -SBUILD_FLAVOR = "db2m"
> > +SBUILD_FLAVOR = "extra-packages"
> > SBUILD_CHROOT_PREINSTALL_EXTRA ?= "docbook-to-man"
> > diff --git
> >
> a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>> b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>>
> > similarity index 91%
> > rename from
> >
> meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>>
> > rename to
> >
> meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>>
> > index e2e10433..80440df2 100644
> > ---
> >
> a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>>
> > +++
> >
> b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>>
> > @@ -8,5 +8,5 @@ DESCRIPTION = "Isar sbuild/schroot filesystem for
> > target (docbook-to-man)"
> >
> > require recipes-devtools/sbuild-chroot/sbuild-chroot-target.bb
> <http://sbuild-chroot-target.bb>
> > <http://sbuild-chroot-target.bb <http://sbuild-chroot-target.bb>>
> https://groups.google.com/d/msgid/isar-users/c1e5d483ee4fae79645d69ac95258a622c9b5a7d.1704190109.git.jan.kiszka%40siemens.com <https://groups.google.com/d/msgid/isar-users/c1e5d483ee4fae79645d69ac95258a622c9b5a7d.1704190109.git.jan.kiszka%40siemens.com>
>
>
>
>    Hmm, Let me try with DEPENDS , but you added the dependencies via
> DEPENDS in base sbuild-chroot [target/host], if i add all my
> dependencies here it may increases the size of bare-metal sbuild-chroot
> , i will check this DEPENDS for sbuild flavor too.
>

That pattern is not for direct copying. But, as discussed, if you add
SBUILD_CHROOT_INSTALL_EXTRA which creates the necessary DEPENDS for the
sbuild flavor recipe, it should Just Work from my perspective.

Jan

Srinuvasan Arjunan

unread,
Jan 3, 2024, 8:11:09 AM1/3/24
to isar-users
how this DEPENDS is working?, you added keyutils custom package as a dependency in sbuild-chroot recipe, but for building this custom keyutils
packages we should need sbuild-chroot-[host/target], then obviously we may face dependency loop issue.

In my case first i need to build all the custom packages first, then based on the need basis i may install any custom packages in sbuild-chroot flavor [ the persistent one] during image creation part.

what i implemented so far:

List out the custom packages that need to be install in sbuild-chroot via SBUILD_CHROOT_INSTALL_EXTRA or SBUILD_CHROOT_INSTALL analogously IMAGE_[PRE]INSTALL in the image recipe, for this purpose i added  the provision to access the isar-apt to install local packages in sbuild-chroot.

Presently isar-apt mount logic available in two places 1. during package build via SBUILD (dpkg.bbclass) and 2. Imager creation part (f.e : wic )

But my requirement is something need to install the custom packages in sbuildchroot to do some postprocess the meta data before image creation, for this reason we introduced another isar-apt mount logic in separate class.


Thanks,
Srinu

Jan Kiszka

unread,
Jan 3, 2024, 11:27:51 AM1/3/24
to Srinuvasan Arjunan, isar-users
> meta-isar/recipes-devtools/sbuild-chroot/{sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>>> => sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>>>} (91%)
> > > create mode 100644
> > > meta/classes/install-custom-packages-sbuild-flavor.bbclass
> > >
> > > diff --git a/meta-isar/recipes-app/hello-isar/hello-isar.bb
> <http://hello-isar.bb>
> > <http://hello-isar.bb <http://hello-isar.bb>>
> > > <http://hello-isar.bb <http://hello-isar.bb>
> <http://hello-isar.bb>>>
> > > index 51dac2b7..484e5704 100644
> > > --- a/meta-isar/recipes-app/hello-isar/hello-isar.bb
> <http://hello-isar.bb>
> > <http://hello-isar.bb <http://hello-isar.bb>>
> > > <http://hello-isar.bb <http://hello-isar.bb>
> > > <http://hello-isar.bb <http://hello-isar.bb>
> <http://hello-isar.bb <http://hello-isar.bb>>>
> > > @@ -23,4 +23,4 @@ SRCREV =
> "a18c14cc11ce6b003f3469e89223cffb4016861d"
> > > inherit dpkg
> > >
> > > # Example of using alternative sbuild chroot
> > > -SBUILD_FLAVOR="db2m"
> > > +SBUILD_FLAVOR="extra-packages"
> > > diff --git a/meta-isar/recipes-app/libhello/libhello.bb
> <http://libhello.bb>
> > <http://libhello.bb <http://libhello.bb>>
> <http://libhello.bb>>>
> > b/meta-isar/recipes-app/libhello/libhello.bb <http://libhello.bb>
> <http://libhello.bb <http://libhello.bb>>
> <http://libhello.bb>>>
> > > index 71604bf5..4e6522fe 100644
> > > --- a/meta-isar/recipes-app/libhello/libhello.bb
> <http://libhello.bb>
> > <http://libhello.bb <http://libhello.bb>> <http://libhello.bb
> <http://libhello.bb> <http://libhello.bb <http://libhello.bb>>>
> > > +++ b/meta-isar/recipes-app/libhello/libhello.bb
> <http://libhello.bb>
> > <http://libhello.bb <http://libhello.bb>> <http://libhello.bb
> <http://libhello.bb> <http://libhello.bb <http://libhello.bb>>>
> > > @@ -16,4 +16,4 @@ SRCREV =
> "98f2e41e7d05ab8d19b0c5d160b104b725c8fd93"
> > > inherit dpkg
> > >
> > > # Example of using alternative sbuild chroot
> > > -SBUILD_FLAVOR="db2m"
> > > +SBUILD_FLAVOR="extra-packages"
> > > diff --git a/meta-isar/recipes-core/images/isar-image-base.bb
> <http://isar-image-base.bb>
> > <http://isar-image-base.bb <http://isar-image-base.bb>>
> > > <http://isar-image-base.bb <http://isar-image-base.bb>
> > > <http://isar-image-base.bb <http://isar-image-base.bb>
> <http://isar-image-base.bb <http://isar-image-base.bb>>>
> > > index b381d859..d635a3aa 100644
> > > --- a/meta-isar/recipes-core/images/isar-image-base.bb
> <http://isar-image-base.bb>
> > <http://isar-image-base.bb <http://isar-image-base.bb>>
> > > <http://isar-image-base.bb <http://isar-image-base.bb>
> > > <http://isar-image-base.bb <http://isar-image-base.bb>
> <http://isar-image-base.bb <http://isar-image-base.bb>>>
> > > @@ -10,4 +10,7 @@ LIC_FILES_CHKSUM =
> > > "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260
> > >
> > > PV = "1.0"
> > >
> > > +SBUILD_FLAVOR = "extra-packages"
> > > +SBUILD_CHROOT_INSTALL = "hello-isar"
> > > +
> > > inherit image
> > > diff --git
> > >
> >
> a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb> <http://sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb>> <http://sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb> <http://sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb>>> b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb> <http://sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb>> <http://sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb> <http://sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb>>>
> > > similarity index 91%
> > > rename from
> > >
> >
> meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-db2m.bb
> <http://sbuild-chroot-host-db2m.bb>
> > <http://sbuild-chroot-host-db2m.bb
> <http://sbuild-chroot-host-db2m.bb>>
> <http://sbuild-chroot-host-db2m.bb>>>
> > > rename to
> > >
> >
> meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb> <http://sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb>> <http://sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb> <http://sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb>>>
> > > index 1795c5a2..b035a926 100644
> > > ---
> > >
> >
> a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb> <http://sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb>> <http://sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb> <http://sbuild-chroot-host-db2m.bb <http://sbuild-chroot-host-db2m.bb>>>
> > > +++
> > >
> >
> b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb> <http://sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb>> <http://sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb> <http://sbuild-chroot-host-extra-packages.bb <http://sbuild-chroot-host-extra-packages.bb>>>
> > > @@ -8,5 +8,5 @@ DESCRIPTION = "Isar sbuild/schroot filesystem for
> > > host (docbook-to-man)"
> > >
> > > require recipes-devtools/sbuild-chroot/sbuild-chroot-host.bb
> <http://sbuild-chroot-host.bb>
> > <http://sbuild-chroot-host.bb <http://sbuild-chroot-host.bb>>
> > > <http://sbuild-chroot-host.bb <http://sbuild-chroot-host.bb>
> <http://sbuild-chroot-host.bb <http://sbuild-chroot-host.bb>>>
> > >
> > > -SBUILD_FLAVOR = "db2m"
> > > +SBUILD_FLAVOR = "extra-packages"
> > > SBUILD_CHROOT_PREINSTALL_EXTRA ?= "docbook-to-man"
> > > diff --git
> > >
> >
> a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>>> b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>>>
> > > similarity index 91%
> > > rename from
> > >
> >
> meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>>>
> > > rename to
> > >
> >
> meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>>>
> > > index e2e10433..80440df2 100644
> > > ---
> > >
> >
> a/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb> <http://sbuild-chroot-target-db2m.bb <http://sbuild-chroot-target-db2m.bb>>>
> > > +++
> > >
> >
> b/meta-isar/recipes-devtools/sbuild-chroot/sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb> <http://sbuild-chroot-target-extra-packages.bb <http://sbuild-chroot-target-extra-packages.bb>>>
> https://groups.google.com/d/msgid/isar-users/c1e5d483ee4fae79645d69ac95258a622c9b5a7d.1704190109.git.jan.kiszka%40siemens.com <https://groups.google.com/d/msgid/isar-users/c1e5d483ee4fae79645d69ac95258a622c9b5a7d.1704190109.git.jan.kiszka%40siemens.com> <https://groups.google.com/d/msgid/isar-users/c1e5d483ee4fae79645d69ac95258a622c9b5a7d.1704190109.git.jan.kiszka%40siemens.com <https://groups.google.com/d/msgid/isar-users/c1e5d483ee4fae79645d69ac95258a622c9b5a7d.1704190109.git.jan.kiszka%40siemens.com>>
> >
> >
> >
> >    Hmm, Let me try with DEPENDS , but you added the dependencies via
> > DEPENDS in base sbuild-chroot [target/host], if i add all my
> > dependencies here it may increases the size of bare-metal
> sbuild-chroot
> > , i will check this DEPENDS for sbuild flavor too.
> >
>
> That pattern is not for direct copying. But, as discussed, if you add
> SBUILD_CHROOT_INSTALL_EXTRA which creates the necessary DEPENDS for the
> sbuild flavor recipe, it should Just Work from my perspective.
>
> Jan
>
> --
> Siemens AG, Technology
> Linux Expert Center
>
>
>
>       As per your changes in
> [1] https://groups.google.com/d/msgid/isar-users/c1e5d483ee4fae79645d69ac95258a622c9b5a7d.1704190109.git.jan.kiszka%40siemens.com <https://groups.google.com/d/msgid/isar-users/c1e5d483ee4fae79645d69ac95258a622c9b5a7d.1704190109.git.jan.kiszka%40siemens.com> <https://groups.google.com/d/msgid/isar-users/c1e5d483ee4fae79645d69ac95258a622c9b5a7d.1704190109.git.jan.kiszka%40siemens.com <https://groups.google.com/d/msgid/isar-users/c1e5d483ee4fae79645d69ac95258a622c9b5a7d.1704190109.git.jan.kiszka%40siemens.com>>
> how this DEPENDS is working?, you added keyutils custom package as a
> dependency in sbuild-chroot recipe, but for building this custom keyutils
> packages we should need sbuild-chroot-[host/target], then obviously we
> may face dependency loop issue.
>

This is specific to the case above:

sbuild-chroot-host -> keyutils (built non-cross) -> sbuild-chroot-target

> In my case first i need to build all the custom packages first, then
> based on the need basis i may install any custom packages in
> sbuild-chroot flavor [ the persistent one] during image creation part.
>
> what i implemented so far:
>
> List out the custom packages that need to be install in sbuild-chroot
> via SBUILD_CHROOT_INSTALL_EXTRA or SBUILD_CHROOT_INSTALL analogously
> IMAGE_[PRE]INSTALL in the image recipe, for this purpose i added  the
> provision to access the isar-apt to install local packages in sbuild-chroot.

That provision comes with
https://groups.google.com/d/msgid/isar-users/9b36ffce-0214-4734-b04a-06475bb0c97c%40siemens.com
- I suspect I should have explicitly names this dependency of my riscv
series.

Srinuvasan Arjunan

unread,
Jan 4, 2024, 12:43:47 AM1/4/24
to isar-users
   Hmm, got it, but this configure isar-apt provision added during sbuild-chroot creation , i hope it should work for sbuild flavor as well, need to double check with this changes.

In that case i can simply use sbuild flavor chroot and install the required custom packages for my post processing the meta-data during image creation.

If possible can you please merge the [1] , so that i can incorporate my changes in the cleaner workspace and will send patches if anything needed for my requirements.  


Thanks,
Srinu

Srinuvasan Arjunan

unread,
Jan 5, 2024, 7:00:40 AM1/5/24
to isar-users
 Hi Jan,

             I tested my requirements using [1], but still we need some changes.
[1] will provide the configure isar-apt during sbuildchroot generation rather than passing isar-apt repo via --extra-repository, this would be helpful in the context of getting isar-apt list in /etc/apt/sources.list.d in sbuildchroot.

But still am missing the mounting isar-apt part, because we have isar-apt mounting part during package generation, this will vanish once packages are generated, hence we need to call the mount additionally when we install local packages during image generation.

My Basic requirements like existing buildchroot mount, if i want to install any custom packages , just i chroot into sbuild and install my local packages, for that we should need mount concept additionally like insert_mount.

I will send patches for this requirements soon, Any thoughts?

Thanks,
Srinu
Reply all
Reply to author
Forward
0 new messages