From: Zhihang Wei <wzh@ilbers.de>
To: Felix Moessbauer <felix.moessbauer@siemens.com>,
isar-users@googlegroups.com
Subject: Re: [PATCH v2 1/2] bootstrap: directly deploy via sstate cache
Date: Tue, 28 Jul 2026 17:29:05 +0200 [thread overview]
Message-ID: <35ef69cb-0dd6-45b2-b6e5-0477d4cc185e@ilbers.de> (raw)
In-Reply-To: <20260721150415.845260-1-felix.moessbauer@siemens.com>
Applied to next, thanks.
Zhihang
On 7/21/26 17:04, 'Felix Moessbauer' via isar-users wrote:
> To simplify the sstate handling (including cleanup), we deploy via
> sstate-outputdirs.
>
> Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
> ---
> meta/classes-recipe/bootstrap.bbclass | 5 ---
> .../isar-mmdebstrap/isar-mmdebstrap-host.bb | 2 +-
> .../isar-mmdebstrap/isar-mmdebstrap-target.bb | 2 +-
> .../isar-mmdebstrap/isar-mmdebstrap.inc | 34 ++++---------------
> 4 files changed, 8 insertions(+), 35 deletions(-)
>
> diff --git a/meta/classes-recipe/bootstrap.bbclass b/meta/classes-recipe/bootstrap.bbclass
> index 51cd2517..c1a59fd2 100644
> --- a/meta/classes-recipe/bootstrap.bbclass
> +++ b/meta/classes-recipe/bootstrap.bbclass
> @@ -226,8 +226,3 @@ python do_apt_config_prepare() {
> aggregate_aptsources_list(d, apt_sources_list, apt_sources_out)
> }
> addtask apt_config_prepare before do_bootstrap after do_unpack
> -
> -CLEANFUNCS = "clean_deploy"
> -clean_deploy() {
> - rm -f "${DEPLOY_ISAR_BOOTSTRAP}"
> -}
> diff --git a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-host.bb b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-host.bb
> index 6de9c21a..fa4b76a6 100644
> --- a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-host.bb
> +++ b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-host.bb
> @@ -7,7 +7,7 @@
>
> Description = "Minimal host Debian root file system"
>
> -DEPLOY_ISAR_BOOTSTRAP = "${DEPLOY_DIR_BOOTSTRAP}/${HOST_DISTRO}-host_${DISTRO}-${DISTRO_ARCH}"
> +DEPLOY_ISAR_BOOTSTRAP = "${HOST_DISTRO}-host_${DISTRO}-${DISTRO_ARCH}"
>
> PROVIDES += "bootstrap-host"
>
> diff --git a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-target.bb b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-target.bb
> index a9695d44..9b51ab88 100644
> --- a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-target.bb
> +++ b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-target.bb
> @@ -7,7 +7,7 @@
>
> Description = "Minimal target Debian root file system"
>
> -DEPLOY_ISAR_BOOTSTRAP = "${DEPLOY_DIR_BOOTSTRAP}/${DISTRO}-${DISTRO_ARCH}"
> +DEPLOY_ISAR_BOOTSTRAP = "${DISTRO}-${DISTRO_ARCH}"
> MMOPTS ?= "${DISTRO_MM_OPTS}"
>
> PROVIDES += "bootstrap-target"
> diff --git a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc
> index a2e15627..994da174 100644
> --- a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc
> +++ b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc
> @@ -13,6 +13,7 @@ DISTRO_BOOTSTRAP_BASE_PACKAGES += "locales apt"
> DISTRO_BOOTSTRAP_BASE_PACKAGES:append:https-support = " ca-certificates"
>
> BOOTSTRAP_TMPDIR = "${WORKDIR}/tempdir"
> +DEPLOYDIR = "${WORKDIR}/deploy"
>
> # Fix for /var/lib/apt/available while maybe-jessie-or-older hook do not work
> MM_HOOK_JESSIE = "/usr/share/mmdebstrap/hooks/jessie-or-older"
> @@ -129,7 +130,10 @@ do_bootstrap[vardeps] += " \
> ${DISTRO_VARS_PREFIX}DISTRO_APT_SOURCES \
> bootstrap_cleanup \
> "
> -do_bootstrap[dirs] = "${DEPLOY_DIR_BOOTSTRAP} ${BOOTSTRAP_TMPDIR} ${WORKDIR}/trusted.gpg.d ${WORKDIR}/sources.list.d"
> +do_bootstrap[cleandirs] = "${DEPLOYDIR}"
> +do_bootstrap[sstate-inputdirs] = "${DEPLOYDIR}"
> +do_bootstrap[sstate-outputdirs] = "${DEPLOY_DIR_BOOTSTRAP}"
> +do_bootstrap[dirs] = "${BOOTSTRAP_TMPDIR} ${WORKDIR}/trusted.gpg.d ${WORKDIR}/sources.list.d"
> do_bootstrap[depends] = "base-apt:do_cache isar-apt:do_cache_config"
> do_bootstrap[network] = "${TASK_USE_NETWORK_AND_SUDO}"
>
> @@ -259,10 +263,7 @@ do_bootstrap() {
> ${@get_distro_components_argument(d)} \
> "${@get_distro_suite(d)}" \
> - \
> - "$bootstrap_list" > ${WORKDIR}/rootfs.tar.zst
> -
> - # Finalize bootstrap by setting the link in deploy
> - ln -Tfsr "${WORKDIR}/rootfs.tar.zst" "${DEPLOY_ISAR_BOOTSTRAP}.tar.zst"
> + "$bootstrap_list" > ${DEPLOYDIR}/${DEPLOY_ISAR_BOOTSTRAP}.tar.zst
>
> if [ "${ISAR_USE_CACHED_BASE_REPO}" != "1" ]; then
> deb_dl_dir_export "${WORKDIR}/dl_dir" "${BOOTSTRAP_BASE_DISTRO}-${BASE_DISTRO_CODENAME}"
> @@ -273,31 +274,8 @@ do_bootstrap() {
> addtask bootstrap before do_build after do_generate_keyrings
>
> SSTATETASKS += "do_bootstrap"
> -SSTATECREATEFUNCS += "bootstrap_sstate_prepare"
> -SSTATEPOSTINSTFUNCS += "bootstrap_sstate_finalize"
> -
> -bootstrap_sstate_prepare() {
> - [ "${SSTATE_CURRTASK}" = "bootstrap" ] || return 0
> -
> - # this runs in SSTATE_BUILDDIR, which will be deleted automatically
> - cp -a "${WORKDIR}/rootfs.tar.zst" ./bootstrap.tar.zst
> -}
> -
> -bootstrap_sstate_finalize() {
> - [ "${SSTATE_CURRTASK}" = "bootstrap" ] || return 0
> -
> - # this runs in SSTATE_INSTDIR
> - # we should restore symlinks after using tar
> - if [ -f bootstrap.tar.zst ]; then
> - mv bootstrap.tar.zst "${WORKDIR}/rootfs.tar.zst"
> - ln -Tfsr "${WORKDIR}/rootfs.tar.zst" \
> - "${DEPLOY_ISAR_BOOTSTRAP}.tar.zst"
> - fi
> -}
>
> python do_bootstrap_setscene() {
> sstate_setscene(d)
> }
> -
> addtask do_bootstrap_setscene
> -do_bootstrap_setscene[dirs] = "${DEPLOY_DIR_BOOTSTRAP}"
--
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/35ef69cb-0dd6-45b2-b6e5-0477d4cc185e%40ilbers.de.
prev parent reply other threads:[~2026-07-28 15:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-21 15:04 'Felix Moessbauer' via isar-users
2026-07-21 15:04 ` [PATCH v2 2/2] dpkg: " 'Felix Moessbauer' via isar-users
2026-07-23 10:16 ` 'MOESSBAUER, Felix' via isar-users
2026-07-23 13:36 ` Zhihang Wei
2026-07-28 18:24 ` 'Jan Kiszka' via isar-users
2026-07-29 8:07 ` 'MOESSBAUER, Felix' via isar-users
2026-07-28 15:29 ` Zhihang Wei [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=35ef69cb-0dd6-45b2-b6e5-0477d4cc185e@ilbers.de \
--to=wzh@ilbers.de \
--cc=felix.moessbauer@siemens.com \
--cc=isar-users@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox