From: "'Felix Moessbauer' via isar-users" <isar-users@googlegroups.com>
To: isar-users@googlegroups.com
Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com,
Felix Moessbauer <felix.moessbauer@siemens.com>
Subject: [PATCH v4 13/17] dpkg-source: implement multiarch support for unshare backend
Date: Mon, 1 Jun 2026 13:35:00 +0200 [thread overview]
Message-ID: <20260601113505.2898877-14-felix.moessbauer@siemens.com> (raw)
In-Reply-To: <20260601113505.2898877-1-felix.moessbauer@siemens.com>
The fetching of a common source package needs to happen in the
chroot. Previously we only had an implementation for the schroot
backend, but we also need one for unshare, which is added here.
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
meta/classes-recipe/dpkg-source.bbclass | 38 ++++++++++++++++++++++---
1 file changed, 34 insertions(+), 4 deletions(-)
diff --git a/meta/classes-recipe/dpkg-source.bbclass b/meta/classes-recipe/dpkg-source.bbclass
index 629796d6..a1848473 100644
--- a/meta/classes-recipe/dpkg-source.bbclass
+++ b/meta/classes-recipe/dpkg-source.bbclass
@@ -52,10 +52,7 @@ do_dpkg_build[depends] += "${BPN}:do_deploy_source"
SCHROOT_MOUNTS = "${WORKDIR}:/work ${REPO_ISAR_DIR}/${DISTRO}:/isar-apt"
-do_fetch_common_source[depends] += "${SCHROOT_DEP} ${BPN}:do_deploy_source"
-do_fetch_common_source[lockfiles] = "${REPO_ISAR_DIR}/isar.lock"
-do_fetch_common_source[network] = "${TASK_USE_SUDO}"
-do_fetch_common_source() {
+fetch_common_source_schroot() {
schroot_create_configs
insert_mounts
@@ -83,6 +80,39 @@ do_fetch_common_source() {
remove_mounts
schroot_delete_configs
}
+
+UNSHARE_DPKG_SOURCE_CHROOT = "${WORKDIR}/dpkg-source-chroot"
+fetch_common_source_unshare() {
+ run_privileged_heredoc <<'EOF'
+ set -e
+ mkdir -p ${UNSHARE_DPKG_SOURCE_CHROOT}
+ tar -xf "${SBUILD_CHROOT}" -C ${UNSHARE_DPKG_SOURCE_CHROOT}
+
+ ${@insert_isar_mounts(d, d.getVar('UNSHARE_DPKG_SOURCE_CHROOT'), d.getVar('SCHROOT_MOUNTS'))}
+ chroot ${UNSHARE_DPKG_SOURCE_CHROOT} /bin/bash -s <<'EOAPT'
+ set -e
+ apt-get update \
+ -o Dir::Etc::SourceList="sources.list.d/isar-apt.list" \
+ -o Dir::Etc::SourceParts="-" \
+ -o APT::Get::List-Cleanup="0"
+
+ cd /work
+ apt-get -y --download-only --only-source \
+ -o Debug::NoLocking=1 -o Acquire::Source-Symlinks="false" \
+ source ${DEBIAN_SOURCE}
+EOAPT
+EOF
+
+ # run cleanup in separate session to ensure nothing is mounted
+ run_privileged rm -rf ${UNSHARE_DPKG_SOURCE_CHROOT}
+}
+
+do_fetch_common_source[depends] += "${SCHROOT_DEP} ${BPN}:do_deploy_source"
+do_fetch_common_source[lockfiles] = "${REPO_ISAR_DIR}/isar.lock"
+do_fetch_common_source[network] = "${TASK_USE_SUDO}"
+do_fetch_common_source() {
+ fetch_common_source_${ISAR_CHROOT_MODE}
+}
addtask fetch_common_source
do_dpkg_build[depends] += "${@'${PN}:do_dpkg_source' if '${PN}' == '${BPN}' else '${PN}:do_fetch_common_source'}"
--
2.53.0
--
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/20260601113505.2898877-14-felix.moessbauer%40siemens.com.
next prev parent reply other threads:[~2026-06-01 11:35 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-01 11:34 [PATCH v4 00/17] add support to build isar unprivileged 'Felix Moessbauer' via isar-users
2026-06-01 11:34 ` [PATCH v4 01/17] refactor bootstrap: store rootfs tar with user permissions 'Felix Moessbauer' via isar-users
2026-06-01 11:34 ` [PATCH v4 02/17] deb-dl-dir: export without root privileges 'Felix Moessbauer' via isar-users
2026-06-01 11:34 ` [PATCH v4 03/17] download debs without locking 'Felix Moessbauer' via isar-users
2026-06-01 11:34 ` [PATCH v4 04/17] introduce wrappers for privileged execution 'Felix Moessbauer' via isar-users
2026-06-01 11:34 ` [PATCH v4 05/17] bootstrap: move cleanup trap to function 'Felix Moessbauer' via isar-users
2026-06-01 11:34 ` [PATCH v4 06/17] rootfs: rework sstate caching of rootfs artifact 'Felix Moessbauer' via isar-users
2026-06-01 11:34 ` [PATCH v4 07/17] rootfs_generate_initramfs: rework deployment to avoid chowning 'Felix Moessbauer' via isar-users
2026-06-01 11:34 ` [PATCH v4 08/17] use bitbake function to generate mounting scripts 'Felix Moessbauer' via isar-users
2026-06-01 11:34 ` [PATCH v4 09/17] apt-fetcher: prepare for chroot specific fetching 'Felix Moessbauer' via isar-users
2026-06-01 11:34 ` [PATCH v4 10/17] add support for fully rootless builds 'Felix Moessbauer' via isar-users
2026-06-01 11:34 ` [PATCH v4 11/17] add helper script to clean artifacts in build dir 'Felix Moessbauer' via isar-users
2026-06-01 11:34 ` [PATCH v4 12/17] apt-fetcher: implement support for unshare backend 'Felix Moessbauer' via isar-users
2026-06-01 11:35 ` 'Felix Moessbauer' via isar-users [this message]
2026-06-01 11:35 ` [PATCH v4 14/17] use copy of sbom-chroot for sbom creation 'Felix Moessbauer' via isar-users
2026-06-01 11:35 ` [PATCH v4 15/17] add support for devshell on unshare backend 'Felix Moessbauer' via isar-users
2026-06-01 11:35 ` [PATCH v4 16/17] testsuite: add parameter to run tests in rootless mode 'Felix Moessbauer' via isar-users
2026-06-01 11:35 ` [PATCH v4 17/17] run-tests: add support for isar-rootless mode 'Felix Moessbauer' via isar-users
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=20260601113505.2898877-14-felix.moessbauer@siemens.com \
--to=isar-users@googlegroups.com \
--cc=felix.moessbauer@siemens.com \
--cc=jan.kiszka@siemens.com \
--cc=quirin.gylstorff@siemens.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