public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH 1/1] add apt options to mmdebstrap
@ 2024-11-21 12:55 'Felix Moessbauer' via isar-users
  2024-12-02  9:23 ` Uladzimir Bely
  0 siblings, 1 reply; 2+ messages in thread
From: 'Felix Moessbauer' via isar-users @ 2024-11-21 12:55 UTC (permalink / raw)
  To: isar-users; +Cc: amikan, Felix Moessbauer

In contrast to deboostrap, mmdebstrap supports apt options. By that, we
finally can inject the config needed to have reliable builds against the
debian snapshot mirrors.

Technically we need the options in two different formats, hence use a
function to generate them accordingly.

Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
 .../isar-mmdebstrap/isar-mmdebstrap.inc         | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc
index 1043f2d1..97ee4431 100644
--- a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc
+++ b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc
@@ -24,6 +24,19 @@ MMHOOKS:debian-buster ?= "${DPKG_HOOKS}"
 
 DISTRO_BOOTSTRAP_KEYRING = "${WORKDIR}/distro-keyring.gpg"
 
+def get_apt_opts(d, param):
+    opts = []
+    retries = d.getVar('ISAR_APT_RETRIES') or "3"
+    opts.append(f'Acquire::Retries="{retries}"')
+    max_delay = d.getVar('ISAR_APT_DELAY_MAX')
+    if max_delay:
+        opts.append(f'Acquire::Retries::Delay::Maximum="{max_delay}"')
+    dl_limit = d.getVar('ISAR_APT_DL_LIMIT')
+    if dl_limit:
+        opts.append(f'Acquire::http::Dl-Limit="{dl_limit}"')
+        opts.append(f'Acquire::https::Dl-Limit="{dl_limit}"')
+    return ' '.join([f'{param} {o}' for o in opts])
+
 do_generate_keyrings[cleandirs] = "${WORKDIR}/trusted.gpg.d"
 do_generate_keyrings[dirs] = "${DEBDIR}"
 do_generate_keyrings[vardeps] += "DISTRO_BOOTSTRAP_KEYS THIRD_PARTY_APT_KEYS"
@@ -126,7 +139,8 @@ do_bootstrap() {
                                  -o Dir::State="$1/var/lib/apt" \
                                  -o Dir::Etc="$1/etc/apt" \
                                  -o Dir::Cache="$1/var/cache/apt" \
-                                 -o Apt::Architecture="${BOOTSTRAP_DISTRO_ARCH}"'
+                                 -o Apt::Architecture="${BOOTSTRAP_DISTRO_ARCH}" \
+                                 ${@get_apt_opts(d, '-o')}'
         extra_essential="$extra_essential && $syncout"
         extra_customize="$syncout"
     fi
@@ -173,6 +187,7 @@ do_bootstrap() {
                    --customize-hook='chroot "$1" /usr/bin/apt-get -y clean' \
                    --skip=cleanup/apt \
                    --skip=download/empty \
+                   ${@get_apt_opts(d, '--aptopt')} \
                    ${@get_distro_components_argument(d)} \
                    "${@get_distro_suite(d)}" \
                    "${WORKDIR}/rootfs.tar.zst" \
-- 
2.39.5

-- 
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/20241121125528.1370018-1-felix.moessbauer%40siemens.com.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-12-02  9:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-21 12:55 [PATCH 1/1] add apt options to mmdebstrap 'Felix Moessbauer' via isar-users
2024-12-02  9:23 ` Uladzimir Bely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox