Message ID | 20250221154843.515037-7-amikan@ilbers.de |
---|---|
State | New |
Headers | show |
Series | Fix essentials rebuild and cover with CI | expand |
On 21.02.25 16:48, Anton Mikanovich wrote: > After moving to manual isar-apt update during package build in 0e846829 > there is no need in obtaining isar-apt package list during sbuild > rootfs prepare. Moreover, it can results in out of sync between the > data in /var/lib/apt/lists and local isar-apt copy of the recipe. > In case of rebuilding the package already included into sbuild chroot > this sync lost can raise 'File not found' issues with updated debs. Why is the sync we do inside sbuild not curing this de-synchronization? > Remove isar-apt update during sbuild chroot prepare and do it later > for every package separately based on local isar-apt copy. What about building a custom schroot that should have a self-built, isar-apt-originated package included? Won't that fail now? Practically, users could just pull such packages whenever they build something in that custom schroot, but having to handle self-built packages differently than those coming from external repos is at least not intuitive. Jan
diff --git a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc index 6478d3a6..f5d1f1dd 100644 --- a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc +++ b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc @@ -1,7 +1,10 @@ # Common part for build chroot filesystem. # # This software is a part of ISAR. -# Copyright (C) 2015-2021 ilbers GmbH +# Copyright (C) 2015-2025 ilbers GmbH +# Copyright (C) 2023-2025 Siemens AG +# +# SPDX-License-Identifier: MIT LICENSE = "gpl-2.0" LIC_FILES_CHKSUM = "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe" @@ -56,6 +59,9 @@ SBUILD_CHROOT_DIR = "${WORKDIR}/rootfs" ROOTFSDIR = "${SBUILD_CHROOT_DIR}" ROOTFS_PACKAGES = "${SBUILD_CHROOT_PREINSTALL}" +# We need isar-apt configured but not updated yet +rootfs_install_pkgs_download[isar-apt-lock] = "" +ROOTFS_INSTALL_COMMAND:remove = "rootfs_install_pkgs_update" ROOTFS_POSTPROCESS_COMMAND:remove = "rootfs_cleanup_isar_apt" # Do not cleanup base-apt
After moving to manual isar-apt update during package build in 0e846829 there is no need in obtaining isar-apt package list during sbuild rootfs prepare. Moreover, it can results in out of sync between the data in /var/lib/apt/lists and local isar-apt copy of the recipe. In case of rebuilding the package already included into sbuild chroot this sync lost can raise 'File not found' issues with updated debs. Remove isar-apt update during sbuild chroot prepare and do it later for every package separately based on local isar-apt copy. Signed-off-by: Anton Mikanovich <amikan@ilbers.de> --- meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)