* [PATCH] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor
@ 2023-12-15 9:56 Srinuvasan Arjunan
2023-12-15 10:34 ` Jan Kiszka
0 siblings, 1 reply; 12+ messages in thread
From: Srinuvasan Arjunan @ 2023-12-15 9:56 UTC (permalink / raw)
To: isar-users; +Cc: jan.kiszka, srinuvasan
From: srinuvasan <srinuvasan.a@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 <srinuvasan.a@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 +
| 2 +-
| 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
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor
2023-12-15 9:56 [PATCH] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor Srinuvasan Arjunan
@ 2023-12-15 10:34 ` Jan Kiszka
2023-12-15 11:01 ` Srinuvasan Arjunan
2023-12-15 11:45 ` [PATCH v1] " Srinuvasan Arjunan
0 siblings, 2 replies; 12+ messages in thread
From: Jan Kiszka @ 2023-12-15 10:34 UTC (permalink / raw)
To: Srinuvasan Arjunan, isar-users; +Cc: srinuvasan
On 15.12.23 10:56, Srinuvasan Arjunan wrote:
> From: srinuvasan <srinuvasan.a@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
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor
2023-12-15 10:34 ` Jan Kiszka
@ 2023-12-15 11:01 ` Srinuvasan Arjunan
2023-12-15 11:45 ` [PATCH v1] " Srinuvasan Arjunan
1 sibling, 0 replies; 12+ messages in thread
From: Srinuvasan Arjunan @ 2023-12-15 11:01 UTC (permalink / raw)
To: isar-users
[-- Attachment #1.1: Type: text/plain, Size: 1318 bytes --]
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.
Jan
--
Siemens AG, Technology
Linux Expert Center
[-- Attachment #1.2: Type: text/html, Size: 1991 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v1] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor
2023-12-15 10:34 ` Jan Kiszka
2023-12-15 11:01 ` Srinuvasan Arjunan
@ 2023-12-15 11:45 ` Srinuvasan Arjunan
2024-01-03 4:47 ` Srinuvasan Arjunan
1 sibling, 1 reply; 12+ messages in thread
From: Srinuvasan Arjunan @ 2023-12-15 11:45 UTC (permalink / raw)
To: isar-users; +Cc: jan.kiszka, srinuvasan
From: srinuvasan <srinuvasan.a@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 <srinuvasan.a@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 +
| 2 +-
| 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"
+
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..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}"
+ fi
+
+ remove_mounts
+ schroot_delete_configs
+}
--
2.39.2
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor
2023-12-15 11:45 ` [PATCH v1] " Srinuvasan Arjunan
@ 2024-01-03 4:47 ` Srinuvasan Arjunan
2024-01-03 5:17 ` Jan Kiszka
0 siblings, 1 reply; 12+ messages in thread
From: Srinuvasan Arjunan @ 2024-01-03 4:47 UTC (permalink / raw)
To: isar-users
[-- Attachment #1.1: Type: text/plain, Size: 7362 bytes --]
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 | 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"
+
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..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}"
+ fi
+
+ remove_mounts
+ schroot_delete_configs
+}
--
2.39.2
Any improvements needed in this patch , Please provide your thoughts.
Thanks,
Srinu
[-- Attachment #1.2: Type: text/html, Size: 11568 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor
2024-01-03 4:47 ` Srinuvasan Arjunan
@ 2024-01-03 5:17 ` Jan Kiszka
2024-01-03 7:56 ` Srinuvasan Arjunan
0 siblings, 1 reply; 12+ messages in thread
From: Jan Kiszka @ 2024-01-03 5:17 UTC (permalink / raw)
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>
>
> -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..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}"
> + fi
> +
> + remove_mounts
> + schroot_delete_configs
> +}
> --
> 2.39.2
>
>
>
> Any improvements needed in this patch , Please provide your thoughts.
>
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
--
Siemens AG, Technology
Linux Expert Center
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor
2024-01-03 5:17 ` Jan Kiszka
@ 2024-01-03 7:56 ` Srinuvasan Arjunan
2024-01-03 10:36 ` Jan Kiszka
0 siblings, 1 reply; 12+ messages in thread
From: Srinuvasan Arjunan @ 2024-01-03 7:56 UTC (permalink / raw)
To: isar-users
[-- Attachment #1.1: Type: text/plain, Size: 9784 bytes --]
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> | 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>
>
> -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..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}"
> + fi
> +
> + remove_mounts
> + schroot_delete_configs
> +}
> --
> 2.39.2
>
>
>
> Any improvements needed in this patch , Please provide your thoughts.
>
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
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
--
Siemens AG, Technology
Linux Expert Center
[-- Attachment #1.2: Type: text/html, Size: 18613 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor
2024-01-03 7:56 ` Srinuvasan Arjunan
@ 2024-01-03 10:36 ` Jan Kiszka
2024-01-03 13:11 ` Srinuvasan Arjunan
0 siblings, 1 reply; 12+ messages in thread
From: Jan Kiszka @ 2024-01-03 10:36 UTC (permalink / raw)
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 +
> > ...b => 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>>} | 2 +-
> > ...=> 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>>} | 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-db2m.bb>> =>
> > 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>>} (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>>
> >
> > -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..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}"
> > + fi
> > +
> > + remove_mounts
> > + schroot_delete_configs
> > +}
> > --
> > 2.39.2
> >
> >
> >
> > Any improvements needed in this patch , Please provide your
> thoughts.
> >
>
> 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 <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
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor
2024-01-03 10:36 ` Jan Kiszka
@ 2024-01-03 13:11 ` Srinuvasan Arjunan
2024-01-03 16:27 ` Jan Kiszka
0 siblings, 1 reply; 12+ messages in thread
From: Srinuvasan Arjunan @ 2024-01-03 13:11 UTC (permalink / raw)
To: isar-users
[-- Attachment #1.1: Type: text/plain, Size: 14826 bytes --]
On Wednesday, January 3, 2024 at 4:06:20 PM UTC+5:30 Jan Kiszka wrote:
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 +
> > ...b => 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>>} | 2 +-
> > ...=> 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>>} | 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-db2m.bb>> =>
> > 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>>} (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>>
> >
> > -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..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}"
> > + fi
> > +
> > + remove_mounts
> > + schroot_delete_configs
> > +}
> > --
> > 2.39.2
> >
> >
> >
> > Any improvements needed in this patch , Please provide your
> thoughts.
> >
>
> 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
<
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
>
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
[-- Attachment #1.2: Type: text/html, Size: 31410 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor
2024-01-03 13:11 ` Srinuvasan Arjunan
@ 2024-01-03 16:27 ` Jan Kiszka
2024-01-04 5:43 ` Srinuvasan Arjunan
0 siblings, 1 reply; 12+ messages in thread
From: Jan Kiszka @ 2024-01-03 16:27 UTC (permalink / raw)
To: Srinuvasan Arjunan, isar-users
On 03.01.24 14:11, Srinuvasan Arjunan wrote:
>
>
> On Wednesday, January 3, 2024 at 4:06:20 PM UTC+5:30 Jan Kiszka wrote:
>
> 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>>
> > <http://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>>
> > <http://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>>
> > > <http://isar-image-base.bb <http://isar-image-base.bb>
> <http://isar-image-base.bb <http://isar-image-base.bb>>> | 3 +
> > > ...b => 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>>>} | 2 +-
> > > ...=> 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>>>} | 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-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>>> =>
> > > 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>>>} (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>> <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 <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>>
> <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>>>
> > > +++ b/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>>>
> > > @@ -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 <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>>>
> > > 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>>>
> > > 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>>
> > > <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>>>
> > > +++ 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>>
> > > <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
> <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>>>
> > > @@ -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>>
> > > <http://sbuild-chroot-target.bb <http://sbuild-chroot-target.bb>
> <http://sbuild-chroot-target.bb <http://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..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}"
> > > + fi
> > > +
> > > + remove_mounts
> > > + schroot_delete_configs
> > > +}
> > > --
> > > 2.39.2
> > >
> > >
> > >
> > > Any improvements needed in this patch , Please provide your
> > thoughts.
> > >
> >
> > 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 <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.
Jan
--
Siemens AG, Technology
Linux Expert Center
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor
2024-01-03 16:27 ` Jan Kiszka
@ 2024-01-04 5:43 ` Srinuvasan Arjunan
2024-01-05 12:00 ` Srinuvasan Arjunan
0 siblings, 1 reply; 12+ messages in thread
From: Srinuvasan Arjunan @ 2024-01-04 5:43 UTC (permalink / raw)
To: isar-users
[-- Attachment #1.1: Type: text/plain, Size: 21919 bytes --]
On Wednesday, January 3, 2024 at 9:57:51 PM UTC+5:30 Jan Kiszka wrote:
On 03.01.24 14:11, Srinuvasan Arjunan wrote:
>
>
> On Wednesday, January 3, 2024 at 4:06:20 PM UTC+5:30 Jan Kiszka wrote:
>
> 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>>
> > <http://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>>
> > <http://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>>
> > > <http://isar-image-base.bb <http://isar-image-base.bb>
> <http://isar-image-base.bb <http://isar-image-base.bb>>> | 3 +
> > > ...b => 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>>>} | 2 +-
> > > ...=> 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>>>} | 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-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>>> =>
> > > 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>>>} (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>> <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 <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>>
> <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>>>
> > > +++ b/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>>>
> > > @@ -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 <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>>>
> > > 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>>>
> > > 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>>
> > > <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>>>
> > > +++ 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>>
> > > <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
> <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>>>
> > > @@ -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>>
> > > <http://sbuild-chroot-target.bb <http://sbuild-chroot-target.bb>
> <http://sbuild-chroot-target.bb <http://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..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}"
> > > + fi
> > > +
> > > + remove_mounts
> > > + schroot_delete_configs
> > > +}
> > > --
> > > 2.39.2
> > >
> > >
> > >
> > > Any improvements needed in this patch , Please provide your
> > thoughts.
> > >
> >
> > 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
<
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.
Jan
--
Siemens AG, Technology
Linux Expert Center
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.
[1]
https://groups.google.com/d/msgid/isar-users/9b36ffce-0214-4734-b04a-06475bb0c97c%40siemens.com
Thanks,
Srinu
[-- Attachment #1.2: Type: text/html, Size: 53137 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v1] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor
2024-01-04 5:43 ` Srinuvasan Arjunan
@ 2024-01-05 12:00 ` Srinuvasan Arjunan
0 siblings, 0 replies; 12+ messages in thread
From: Srinuvasan Arjunan @ 2024-01-05 12:00 UTC (permalink / raw)
To: isar-users
[-- Attachment #1.1: Type: text/plain, Size: 22935 bytes --]
On Thursday, January 4, 2024 at 11:13:47 AM UTC+5:30 Srinuvasan Arjunan
wrote:
On Wednesday, January 3, 2024 at 9:57:51 PM UTC+5:30 Jan Kiszka wrote:
On 03.01.24 14:11, Srinuvasan Arjunan wrote:
>
>
> On Wednesday, January 3, 2024 at 4:06:20 PM UTC+5:30 Jan Kiszka wrote:
>
> 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>>
> > <http://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>>
> > <http://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>>
> > > <http://isar-image-base.bb <http://isar-image-base.bb>
> <http://isar-image-base.bb <http://isar-image-base.bb>>> | 3 +
> > > ...b => 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>>>} | 2 +-
> > > ...=> 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>>>} | 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-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>>> =>
> > > 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>>>} (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>> <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 <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>>
> <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>>>
> > > +++ b/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>>>
> > > @@ -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 <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>>>
> > > 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>>>
> > > 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>>
> > > <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>>>
> > > +++ 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>>
> > > <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
> <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>>>
> > > @@ -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>>
> > > <http://sbuild-chroot-target.bb <http://sbuild-chroot-target.bb>
> <http://sbuild-chroot-target.bb <http://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..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}"
> > > + fi
> > > +
> > > + remove_mounts
> > > + schroot_delete_configs
> > > +}
> > > --
> > > 2.39.2
> > >
> > >
> > >
> > > Any improvements needed in this patch , Please provide your
> > thoughts.
> > >
> >
> > 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
<
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.
Jan
--
Siemens AG, Technology
Linux Expert Center
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.
[1]
https://groups.google.com/d/msgid/isar-users/9b36ffce-0214-4734-b04a-06475bb0c97c%40siemens.com
Thanks,
Srinu
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
[-- Attachment #1.2: Type: text/html, Size: 54451 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2024-01-05 12:00 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-15 9:56 [PATCH] recipes-devtools/sbuild-chroot: install self-built packages in sbuild flavor Srinuvasan Arjunan
2023-12-15 10:34 ` Jan Kiszka
2023-12-15 11:01 ` Srinuvasan Arjunan
2023-12-15 11:45 ` [PATCH v1] " Srinuvasan Arjunan
2024-01-03 4:47 ` Srinuvasan Arjunan
2024-01-03 5:17 ` Jan Kiszka
2024-01-03 7:56 ` Srinuvasan Arjunan
2024-01-03 10:36 ` Jan Kiszka
2024-01-03 13:11 ` Srinuvasan Arjunan
2024-01-03 16:27 ` Jan Kiszka
2024-01-04 5:43 ` Srinuvasan Arjunan
2024-01-05 12:00 ` Srinuvasan Arjunan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox