* [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
* Re: [PATCH 1/1] add apt options to mmdebstrap
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
0 siblings, 0 replies; 2+ messages in thread
From: Uladzimir Bely @ 2024-12-02 9:23 UTC (permalink / raw)
To: Felix Moessbauer, isar-users
On Thu, 2024-11-21 at 13:55 +0100, 'Felix Moessbauer' via isar-users
wrote:
> 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
>
Applied to next, thanks.
--
Best regards,
Uladzimir.
--
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/b42411e90eaa228d484b04818d43271498a32ed0.camel%40ilbers.de.
^ 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