Message ID | 20250513070208.1226836-1-felix.moessbauer@siemens.com |
---|---|
State | Under Review |
Headers | show |
Series | [1/1] apt: allow package downgrades in sbuild chroots | expand |
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.moessbauer@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}"
On Tue, 2025-05-13 at 13:40 +0200, Jan Kiszka wrote: > 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.moessbauer@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. 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}" >
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.515037-1-amikan@ilbers.de/ 2. https://lists.isar-build.org/isar-users/215cc575-fa4f-45e6-8511-eff4254a4383@ilbers.de/T/#t With kind regards, Baurzhan
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ı: > 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/ > <https://lists.isar-build.org/isar-users/20250221154843.515037-1-amikan@ilbers.de/> > 2. > https://lists.isar-build.org/isar-users/215cc575-fa4f-45e6...@ilbers.de/T/#t > <https://lists.isar-build.org/isar-users/215cc575-fa4f-45e6-8511-eff4254a4383@ilbers.de/T/#t> > > With kind regards, > Baurzhan >
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
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}"
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.moessbauer@siemens.com> --- meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc | 3 +++ 1 file changed, 3 insertions(+)