[PATCH 1/1] apt: allow package downgrades in sbuild chroots

47 views
Skip to first unread message

Felix Moessbauer

unread,
May 13, 2025, 3:02:28 AM5/13/25
to isar-...@googlegroups.com, Felix Moessbauer
The sbuild chroots carry many packages needed for the build environment.
This sometimes requires packages from bootstrapping to be downgraded so
that the dependencies can be resolved.

An example is the liblzma5 which currently (1st of May 2025) needs to be
downgraded on Debian bookworm.

Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
---
meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc | 3 +++
1 file changed, 3 insertions(+)

diff --git a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
index 6478d3a6..05424f54 100644
--- a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
+++ b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
@@ -61,6 +61,9 @@ ROOTFS_POSTPROCESS_COMMAND:remove = "rootfs_cleanup_isar_apt"
# Do not cleanup base-apt
ROOTFS_POSTPROCESS_COMMAND:remove = "rootfs_cleanup_base_apt"

+# Allow downgrades of packages from bootstrap
+ROOTFS_APT_ARGS += "--allow-downgrades"
+
DEPLOY_SCHROOT = "${@d.getVar('SCHROOT_' + d.getVar('SBUILD_VARIANT').upper() + '_DIR')}${SBUILD_SCHROOT_SUFFIX}"

do_sbuildchroot_deploy[dirs] = "${DEPLOY_DIR}/schroot-${SBUILD_VARIANT}"
--
2.49.0

Jan Kiszka

unread,
May 13, 2025, 7:40:54 AM5/13/25
to Felix Moessbauer, isar-...@googlegroups.com
On 13.05.25 09:02, 'Felix Moessbauer' via isar-users wrote:
> The sbuild chroots carry many packages needed for the build environment.
> This sometimes requires packages from bootstrapping to be downgraded so
> that the dependencies can be resolved.
>
> An example is the liblzma5 which currently (1st of May 2025) needs to be
> downgraded on Debian bookworm.
>
> Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
> ---
> meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
> index 6478d3a6..05424f54 100644
> --- a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
> +++ b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
> @@ -61,6 +61,9 @@ ROOTFS_POSTPROCESS_COMMAND:remove = "rootfs_cleanup_isar_apt"
> # Do not cleanup base-apt
> ROOTFS_POSTPROCESS_COMMAND:remove = "rootfs_cleanup_base_apt"
>
> +# Allow downgrades of packages from bootstrap
> +ROOTFS_APT_ARGS += "--allow-downgrades"
> +

We already have partial downgrade permission for isar-apt and even for
the devshell. We should check if those are then still relevant.

But we also need to check again about other, maybe less desirable side
effects of this change...

Jan

> DEPLOY_SCHROOT = "${@d.getVar('SCHROOT_' + d.getVar('SBUILD_VARIANT').upper() + '_DIR')}${SBUILD_SCHROOT_SUFFIX}"
>
> do_sbuildchroot_deploy[dirs] = "${DEPLOY_DIR}/schroot-${SBUILD_VARIANT}"


--
Siemens AG, Foundational Technologies
Linux Expert Center

MOESSBAUER, Felix

unread,
May 13, 2025, 9:11:36 AM5/13/25
to isar-...@googlegroups.com, Kiszka, Jan
I also thought about globally applying the downgrade permission to the
rootfs class, but I also was unsure about the side-effects.

Nontheless, I prefer to have this fix merged rather sooner than later,
as Debian bookworm builds ~ after 1st of may are broken. It looks like
some package in the sbuild chroot list depends on an older version of
liblzma5 which is already installed during bootstrap.

Felix

>
> But we also need to check again about other, maybe less desirable
> side
> effects of this change...
>
> Jan
>
> >  DEPLOY_SCHROOT = "${@d.getVar('SCHROOT_' +
> > d.getVar('SBUILD_VARIANT').upper() +
> > '_DIR')}${SBUILD_SCHROOT_SUFFIX}"
> >  
> >  do_sbuildchroot_deploy[dirs] = "${DEPLOY_DIR}/schroot-
> > ${SBUILD_VARIANT}"
>

--
Siemens AG
Linux Expert Center
Friedrich-Ludwig-Bauer-Str. 3
85748 Garching, Germany

Baurzhan Ismagulov

unread,
May 14, 2025, 9:44:40 AM5/14/25
to isar-...@googlegroups.com, Felix Moessbauer
On 2025-05-13 09:02, 'Felix Moessbauer' via isar-users wrote:
> The sbuild chroots carry many packages needed for the build environment.
> This sometimes requires packages from bootstrapping to be downgraded so
> that the dependencies can be resolved.
>
> An example is the liblzma5 which currently (1st of May 2025) needs to be
> downgraded on Debian bookworm.

I think this touches a tricky topic and we should check whether this intersects
with e.g. [1], [2]. A testcase would definitely help. Also, at least the known
cases should be considered (upgrade / downgrade, non-essential / essential,
maybe non-compat / compat).

1. https://lists.isar-build.org/isar-users/20250221154843....@ilbers.de/
2. https://lists.isar-build.org/isar-users/215cc575-fa4f-45e6...@ilbers.de/T/#t

With kind regards,
Baurzhan

Cihan Mete Bahadır

unread,
Jun 4, 2025, 11:14:45 AM6/4/25
to isar-users
Also had the issue while downgrading :

The following packages will be DOWNGRADED:
  libsystemd0 libudev1
0 upgraded, 266 newly installed, 2 downgraded, 0 to remove and 0 not upgraded.
E: Packages were downgraded and -y was used without --allow-downgrades.

Best regards,
Mete

14 Mayıs 2025 Çarşamba tarihinde saat 16:44:40 UTC+3 itibarıyla Baurzhan Ismagulov şunları yazdı:

Baurzhan Ismagulov

unread,
Jun 5, 2025, 9:00:46 AM6/5/25
to isar-...@googlegroups.com
On 2025-06-04 06:58, Cihan Mete Bahadır wrote:
> 14 Mayıs 2025 Çarşamba tarihinde saat 16:44:40 UTC+3 itibarıyla Baurzhan
> Ismagulov şunları yazdı:
> > I think this touches a tricky topic and we should check whether this
> > intersects
> > with e.g. [1], [2]. A testcase would definitely help. Also, at least the
> > known
> > cases should be considered (upgrade / downgrade, non-essential / essential,
> > maybe non-compat / compat).
> Also had the issue while downgrading :
>
> The following packages will be DOWNGRADED:
> libsystemd0 libudev1
> 0 upgraded, 266 newly installed, 2 downgraded, 0 to remove and 0 not
> upgraded.
> E: Packages were downgraded and -y was used without --allow-downgrades.

Thanks Mete for the update. To be clear, I'm not challenging that the issue
exists. Tricky topics need testcases for the code to stay modifiable. We'll
check this.

With kind regards,
Baurzhan
Reply all
Reply to author
Forward
0 new messages