[1/1] Feature: Allow customization inside the schroot-run

Message ID DB9PR08MB7448EC13E6E04CC71C9A0D0CC3F82@DB9PR08MB7448.eurprd08.prod.outlook.com
State New
Headers show
Series [1/1] Feature: Allow customization inside the schroot-run | expand

Commit Message

Ulrich Teichert July 15, 2026, 6:54 a.m. UTC
Allow customization inside the schroot-run of image-tools-extension
by introducing the variables IMAGER_SCHROOT_CMD (useful to inject
a local apt-repository into the schroot), IMAGER_SCHROOT_UPDATE_OPTS
(to add the sources list) and IMAGER_SCHROOT_INSTALL_OPTS (to inject
options during install).
 
Signed-off-by: Ulrich Teichert <ulrich.teichert@ebs-group.io>
---
 meta/classes-recipe/image-tools-extension.bbclass | 3 +++
 1 file changed, 3 insertions(+)

Comments

MOESSBAUER, Felix July 15, 2026, 8:14 a.m. UTC | #1
On Wed, 2026-07-15 at 06:54 +0000, 'Ulrich Teichert' via isar-users
wrote:
> Allow customization inside the schroot-run of image-tools-extension
> by introducing the variables IMAGER_SCHROOT_CMD (useful to inject
> a local apt-repository into the schroot), IMAGER_SCHROOT_UPDATE_OPTS
> (to add the sources list) and IMAGER_SCHROOT_INSTALL_OPTS (to inject
> options during install).

Hi,

I would like to postpone this patch until "add support to build isar
unprivileged" is merged, as this splits the imager_run path into
schroot and unshare.

Apart from that, I'm wondering if the change is really needed, as the
custom repo could also be injected into the whole build and by that
should also be accessible during imaging.

Felix

>  
> Signed-off-by: Ulrich Teichert <ulrich.teichert@ebs-group.io>
> ---
>  meta/classes-recipe/image-tools-extension.bbclass | 3 +++
>  1 file changed, 3 insertions(+)
>  
> diff --git a/meta/classes-recipe/image-tools-extension.bbclass b/meta/classes-recipe/image-tools-extension.bbclass
> index ab616b7e..5e8a8719 100644
> --- a/meta/classes-recipe/image-tools-extension.bbclass
> +++ b/meta/classes-recipe/image-tools-extension.bbclass
> @@ -49,14 +49,17 @@ imager_run() {
>  
>          E="${@ isar_export_proxies(d)}"
>          deb_dl_dir_import ${schroot_dir} ${distro}
> +        if [ ! -z "${IMAGER_SCHROOT_CMD}" ]; then ${IMAGER_SCHROOT_CMD}; fi
>          ${SCRIPTSDIR}/lockrun.py -r -f "${REPO_ISAR_DIR}/isar.lock" -s <<EOAPT
>          schroot -r -c ${session_id} -d / -u root -- sh -c " \
>              apt-get update \
>                  -o Dir::Etc::SourceList='sources.list.d/isar-apt.list' \
> +                ${IMAGER_SCHROOT_UPDATE_OPTS} \
>                  -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 \
> +                ${IMAGER_SCHROOT_INSTALL_OPTS} \
>                  ${local_install}"
>  EOAPT
>  
> -- 
> 2.47.3
>  
> Mit
> besten Grüßen / Best regards 
> 
> Dipl.-Inform.
> Ulrich
> Teichert
> Senior
> Software Engineer
> 
> 
> T
> → +49 431 375938-0
> 
> ebs-group.io
> 
> ____________________________________
> 
> e.bs kumkeo
> GmbH
> 
> Am
> Kiel-Kanal 1 
> 
> 24106
> Kiel, Deutschland
> Geschäftsführer
> → Michael Leitner, Günter Hagspiel
> 
> Registergericht →
> Amtsgericht Hamburg
> 
> Registernummer → HRB 187712
> 
> USt-Idnr.
> → DE449906070
> 
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups "isar-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/isar-users/DB9PR08MB7448EC13E6E04CC71C9A0D0CC3F82%40DB9PR08MB7448.eurprd08.prod.outlook.com.
Ulrich Teichert July 15, 2026, 9:19 a.m. UTC | #2
Hi Felix,

>On Wed, 2026-07-15 at 06:54 +0000, 'Ulrich Teichert' via isar-users
>wrote:
>> Allow customization inside the schroot-run of image-tools-extension
>> by introducing the variables IMAGER_SCHROOT_CMD (useful to inject
>> a local apt-repository into the schroot), IMAGER_SCHROOT_UPDATE_OPTS
>> (to add the sources list) and IMAGER_SCHROOT_INSTALL_OPTS (to inject
>> options during install).

>Hi,
>
I> would like to postpone this patch until "add support to build isar
>unprivileged" is merged, as this splits the imager_run path into
>schroot and unshare.

That's fine with me.

>Apart from that, I'm wondering if the change is really needed, as the
>custom repo could also be injected into the whole build and by that
>should also be accessible during imaging.

Well, I am injecting the same repository with DISTRO_APT_SOURCES
but accessing it during the schroot-run failed, so I simply re-injecting it.
If the orginal setting could be preserved that would be nice, but I couldn't
get it to work,

CU,
Uli
Jan Kiszka July 15, 2026, 10:25 a.m. UTC | #3
On 15.07.26 11:19, 'Ulrich Teichert' via isar-users wrote:
> Hi Felix,
> 
>> On Wed, 2026-07-15 at 06:54 +0000, 'Ulrich Teichert' via isar-users
>> wrote:
>>> Allow customization inside the schroot-run of image-tools-extension
>>> by introducing the variables IMAGER_SCHROOT_CMD (useful to inject
>>> a local apt-repository into the schroot), IMAGER_SCHROOT_UPDATE_OPTS
>>> (to add the sources list) and IMAGER_SCHROOT_INSTALL_OPTS (to inject
>>> options during install).
> 
>> Hi,
>>
> I> would like to postpone this patch until "add support to build isar
>> unprivileged" is merged, as this splits the imager_run path into
>> schroot and unshare.
> 
> That's fine with me.
> 
>> Apart from that, I'm wondering if the change is really needed, as the
>> custom repo could also be injected into the whole build and by that
>> should also be accessible during imaging.
> 
> Well, I am injecting the same repository with DISTRO_APT_SOURCES
> but accessing it during the schroot-run failed, so I simply re-injecting it.
> If the orginal setting could be preserved that would be nice, but I couldn't
> get it to work,
> 

It's better to understand the root cause for the canonical approach
failing here.

Jan

Patch

diff --git a/meta/classes-recipe/image-tools-extension.bbclass b/meta/classes-recipe/image-tools-extension.bbclass
index ab616b7e..5e8a8719 100644
--- a/meta/classes-recipe/image-tools-extension.bbclass
+++ b/meta/classes-recipe/image-tools-extension.bbclass
@@ -49,14 +49,17 @@  imager_run() {
 
         E="${@ isar_export_proxies(d)}"
         deb_dl_dir_import ${schroot_dir} ${distro}
+        if [ ! -z "${IMAGER_SCHROOT_CMD}" ]; then ${IMAGER_SCHROOT_CMD}; fi
         ${SCRIPTSDIR}/lockrun.py -r -f "${REPO_ISAR_DIR}/isar.lock" -s <<EOAPT
         schroot -r -c ${session_id} -d / -u root -- sh -c " \
             apt-get update \
                 -o Dir::Etc::SourceList='sources.list.d/isar-apt.list' \
+                ${IMAGER_SCHROOT_UPDATE_OPTS} \
                 -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 \
+                ${IMAGER_SCHROOT_INSTALL_OPTS} \
                 ${local_install}"
 EOAPT