dpkg: Configure sbuild for schroot

Message ID 41512a7f-2522-424d-b04c-c574b7ae563c@siemens.com
State Under Review
Headers show
Series dpkg: Configure sbuild for schroot | expand

Commit Message

Jan Kiszka April 15, 2026, 12:50 p.m. UTC
From: Jan Kiszka <jan.kiszka@siemens.com>

This is what at least the trixie version of sbuild strongly recommends
and also what the forky version will require.

$chroot_mode is known to sbuild buster at least. It remains unclear when
$schroot was introduced, but it was very likely ignored before that. So
this changes is backward-compatible with older builders.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---

Tested with a local experimental kas-isar forky container.

 meta/classes-recipe/dpkg.bbclass | 2 ++
 1 file changed, 2 insertions(+)

Comments

Jan Kiszka April 15, 2026, 12:56 p.m. UTC | #1
On 15.04.26 14:50, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka@siemens.com>
> 
> This is what at least the trixie version of sbuild strongly recommends
> and also what the forky version will require.
> 
> $chroot_mode is known to sbuild buster at least. It remains unclear when
> $schroot was introduced, but it was very likely ignored before that. So
> this changes is backward-compatible with older builders.
> 
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
> 
> Tested with a local experimental kas-isar forky container.
> 
>  meta/classes-recipe/dpkg.bbclass | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/meta/classes-recipe/dpkg.bbclass b/meta/classes-recipe/dpkg.bbclass
> index c1c38184..24eb0f7e 100644
> --- a/meta/classes-recipe/dpkg.bbclass
> +++ b/meta/classes-recipe/dpkg.bbclass
> @@ -106,6 +106,8 @@ dpkg_runbuild() {
>  
>      echo '$apt_keep_downloaded_packages = 1;' >> ${SBUILD_CONFIG}
>      echo '$stalled_pkg_timeout = ${DPKG_BUILD_TIMEOUT};' >> ${SBUILD_CONFIG}
> +    echo '$chroot_mode = "schroot";' >> ${SBUILD_CONFIG}
> +    echo '$schroot = "schroot";' >> ${SBUILD_CONFIG}
>  
>      DSC_FILE=$(find ${WORKDIR} -maxdepth 1 -name "${DEBIAN_SOURCE}_*.dsc" -print)
>  

Hmm, may clash with the unprivileged build series, though I didn't spot
yet where/how the sbuild mode is chosen there.

Jan
MOESSBAUER, Felix April 15, 2026, 1:56 p.m. UTC | #2
On Wed, 2026-04-15 at 14:50 +0200, 'Jan Kiszka' via isar-users wrote:
> From: Jan Kiszka <jan.kiszka@siemens.com>
> 
> This is what at least the trixie version of sbuild strongly recommends
> and also what the forky version will require.
> 
> $chroot_mode is known to sbuild buster at least. It remains unclear when
> $schroot was introduced, but it was very likely ignored before that. So
> this changes is backward-compatible with older builders.
> 
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
> 
> Tested with a local experimental kas-isar forky container.
> 
>  meta/classes-recipe/dpkg.bbclass | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/meta/classes-recipe/dpkg.bbclass b/meta/classes-recipe/dpkg.bbclass
> index c1c38184..24eb0f7e 100644
> --- a/meta/classes-recipe/dpkg.bbclass
> +++ b/meta/classes-recipe/dpkg.bbclass
> @@ -106,6 +106,8 @@ dpkg_runbuild() {
>  
>      echo '$apt_keep_downloaded_packages = 1;' >> ${SBUILD_CONFIG}
>      echo '$stalled_pkg_timeout = ${DPKG_BUILD_TIMEOUT};' >> ${SBUILD_CONFIG}
> +    echo '$chroot_mode = "schroot";' >> ${SBUILD_CONFIG}
> +    echo '$schroot = "schroot";' >> ${SBUILD_CONFIG}

This should not be required (since [1]), as we select the chroot mode
when calling sbuild [2]. That's also compatible with the rootless
series where we just select unshare.

[1]https://github.com/ilbers/isar/commit/fec8600fea2ca741373c9e3e4f3d41f147dfbb09

[2]
https://github.com/ilbers/isar/blob/master/meta/classes-recipe/dpkg.bbclass#L112

Felix

>  
>      DSC_FILE=$(find ${WORKDIR} -maxdepth 1 -name "${DEBIAN_SOURCE}_*.dsc" -print)
>  
> -- 
> 2.47.3
> 
> -- 
> 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/41512a7f-2522-424d-b04c-c574b7ae563c%40siemens.com.
Jan Kiszka April 15, 2026, 2:04 p.m. UTC | #3
On 15.04.26 15:56, Moessbauer, Felix (FT RPD CED OES-DE) wrote:
> On Wed, 2026-04-15 at 14:50 +0200, 'Jan Kiszka' via isar-users wrote:
>> From: Jan Kiszka <jan.kiszka@siemens.com>
>>
>> This is what at least the trixie version of sbuild strongly recommends
>> and also what the forky version will require.
>>
>> $chroot_mode is known to sbuild buster at least. It remains unclear when
>> $schroot was introduced, but it was very likely ignored before that. So
>> this changes is backward-compatible with older builders.
>>
>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>> ---
>>
>> Tested with a local experimental kas-isar forky container.
>>
>>  meta/classes-recipe/dpkg.bbclass | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/meta/classes-recipe/dpkg.bbclass b/meta/classes-recipe/dpkg.bbclass
>> index c1c38184..24eb0f7e 100644
>> --- a/meta/classes-recipe/dpkg.bbclass
>> +++ b/meta/classes-recipe/dpkg.bbclass
>> @@ -106,6 +106,8 @@ dpkg_runbuild() {
>>  
>>      echo '$apt_keep_downloaded_packages = 1;' >> ${SBUILD_CONFIG}
>>      echo '$stalled_pkg_timeout = ${DPKG_BUILD_TIMEOUT};' >> ${SBUILD_CONFIG}
>> +    echo '$chroot_mode = "schroot";' >> ${SBUILD_CONFIG}
>> +    echo '$schroot = "schroot";' >> ${SBUILD_CONFIG}
> 
> This should not be required (since [1]), as we select the chroot mode
> when calling sbuild [2]. That's also compatible with the rootless
> series where we just select unshare.
> 
> [1]https://github.com/ilbers/isar/commit/fec8600fea2ca741373c9e3e4f3d41f147dfbb09
> 

Indeed, I tested with an older Isar baseline and didn't notice this
switch while forward-porting. Let me double-check with 1.0-rc1 again if
the issue under forky is gone.

Jan

> [2]
> https://github.com/ilbers/isar/blob/master/meta/classes-recipe/dpkg.bbclass#L112
> 
> Felix
> 
>>  
>>      DSC_FILE=$(find ${WORKDIR} -maxdepth 1 -name "${DEBIAN_SOURCE}_*.dsc" -print)
>>  
>> -- 
>> 2.47.3
>>
>> -- 
>> 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/41512a7f-2522-424d-b04c-c574b7ae563c%40siemens.com.
Jan Kiszka April 15, 2026, 2:10 p.m. UTC | #4
On 15.04.26 16:04, 'Jan Kiszka' via isar-users wrote:
> On 15.04.26 15:56, Moessbauer, Felix (FT RPD CED OES-DE) wrote:
>> On Wed, 2026-04-15 at 14:50 +0200, 'Jan Kiszka' via isar-users wrote:
>>> From: Jan Kiszka <jan.kiszka@siemens.com>
>>>
>>> This is what at least the trixie version of sbuild strongly recommends
>>> and also what the forky version will require.
>>>
>>> $chroot_mode is known to sbuild buster at least. It remains unclear when
>>> $schroot was introduced, but it was very likely ignored before that. So
>>> this changes is backward-compatible with older builders.
>>>
>>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>>> ---
>>>
>>> Tested with a local experimental kas-isar forky container.
>>>
>>>  meta/classes-recipe/dpkg.bbclass | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/meta/classes-recipe/dpkg.bbclass b/meta/classes-recipe/dpkg.bbclass
>>> index c1c38184..24eb0f7e 100644
>>> --- a/meta/classes-recipe/dpkg.bbclass
>>> +++ b/meta/classes-recipe/dpkg.bbclass
>>> @@ -106,6 +106,8 @@ dpkg_runbuild() {
>>>  
>>>      echo '$apt_keep_downloaded_packages = 1;' >> ${SBUILD_CONFIG}
>>>      echo '$stalled_pkg_timeout = ${DPKG_BUILD_TIMEOUT};' >> ${SBUILD_CONFIG}
>>> +    echo '$chroot_mode = "schroot";' >> ${SBUILD_CONFIG}
>>> +    echo '$schroot = "schroot";' >> ${SBUILD_CONFIG}
>>
>> This should not be required (since [1]), as we select the chroot mode
>> when calling sbuild [2]. That's also compatible with the rootless
>> series where we just select unshare.
>>
>> [1]https://github.com/ilbers/isar/commit/fec8600fea2ca741373c9e3e4f3d41f147dfbb09
>>
> 
> Indeed, I tested with an older Isar baseline and didn't notice this
> switch while forward-porting. Let me double-check with 1.0-rc1 again if
> the issue under forky is gone.
> 

And it does work, of course - so please ignore this.

Jan

Patch

diff --git a/meta/classes-recipe/dpkg.bbclass b/meta/classes-recipe/dpkg.bbclass
index c1c38184..24eb0f7e 100644
--- a/meta/classes-recipe/dpkg.bbclass
+++ b/meta/classes-recipe/dpkg.bbclass
@@ -106,6 +106,8 @@  dpkg_runbuild() {
 
     echo '$apt_keep_downloaded_packages = 1;' >> ${SBUILD_CONFIG}
     echo '$stalled_pkg_timeout = ${DPKG_BUILD_TIMEOUT};' >> ${SBUILD_CONFIG}
+    echo '$chroot_mode = "schroot";' >> ${SBUILD_CONFIG}
+    echo '$schroot = "schroot";' >> ${SBUILD_CONFIG}
 
     DSC_FILE=$(find ${WORKDIR} -maxdepth 1 -name "${DEBIAN_SOURCE}_*.dsc" -print)