From patchwork Mon Jul 27 11:26:22 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aliaksei Karpovich X-Patchwork-Id: 5290 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 27 Jul 2026 13:29:14 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f63.google.com (mail-wm1-f63.google.com [209.85.128.63]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 66RBTEn0001043 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 27 Jul 2026 13:29:14 +0200 Received: by mail-wm1-f63.google.com with SMTP id 5b1f17b1804b1-496bbcf7d1esf7698415e9.0 for ; Mon, 27 Jul 2026 04:29:14 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1785151747; cv=pass; d=google.com; s=arc-20260327; b=QbjxAkAlMVuYSYmYbLWi6uQjzaHitXOR4jVYe0dDrK7vBnc/2Nha0uEzZn/0wKqj4b o1+9qDdfbfqOZhw0Un+qG/IMGPvYHOiyzZnkdjtIGt/zyu21YKDKQt38pq8Fgk7u4vel 6JrretxOv9my6KEK+VE3+xtW53dyrrNb4ME4bYOJziEAHO+N8nekejEzT6/f7ip2BtLE aq1chwLxgUyHGo+wvfOndrkXUhwbd6o4UWy5rSJ1V6hOJUaAm0Q9r5nLpXwvghvoWIXQ cEA/oKxKith5kg7Qd3kBRn7yAppTEx3xNCdSI06xyiMv8bBqnmCK1d8KxCrjohd2PKj/ 0QdQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=EX1HAbpIXQetPYBbcZRg0bTp/+QBdQfhhiCp/RGJ/e8=; fh=z7adC1NpotXE4Y8VjTmrAWCTh7lFhmubJZib+7jtZLg=; b=GagTIYDmR4QaayPyOjgbpLcRqGVI1NqtOBHVLD2zPLjeQczqLoROsuwmWbgKwVQUD7 K+/ykvqOnxJWNXc7RzrwGC+BLZWz7qeOO5oLkLq/nrnX+5LRmu4zn/M50gM7cHgeJUFY incqm6FZr5VXwlH4GNkYB0lVv6Sljgil/eGH1QfcwMW49djWV3UZCC9B78ZGLEcOfW5c rFIkFxe++uRvsrV0mqT4+UU2kOFC7+AE4Pi2Chq+lLpEwcKPu/5w8O9fdf3oKtjqSpl/ AF8LXuwbSrHXPuznqrcoPg8n0pRRUudmLLqBa+QGQLvbTU0vLU4UTJyMzNfNsXBm4L5b KDrA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of akarpovich@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=akarpovich@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1785151747; x=1785756547; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:content-type :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:sender :from:to:cc:subject:date:message-id:reply-to:content-type; bh=EX1HAbpIXQetPYBbcZRg0bTp/+QBdQfhhiCp/RGJ/e8=; b=XNJSs6kWbkbOOZ5Ieiq9LDZt99+8nCkZDYmjd3VoH/WFDdd9AsWUN7oZLB1zIA8t+D TrI6NuojBcqkaGx4TGlN4/NPDwyxKRRKT9id6xhKvYPaDBTIb43hfMFFYvnhG6l2Xq2q WcY2IekLsyFmZ6KJE7jRErHigEsGX9yO8J+ESNT2QoNlTEiHGxi8b0m+I9eJ3SwS15jX zqfNHWhBMWxxQIwgFjQd7uU6OFQmdCU9HzOHsKPkTR1AYtztt2b+KJcqxVVCo63Xtpzw M5e/L3fN+f5I6Y25hX30Bt9MFOVprgUP5PEmrE7eaok6V381207xpvVZXDzrFiKiPsqn 0mmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785151747; x=1785756547; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :content-type:x-original-authentication-results:x-original-sender :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=EX1HAbpIXQetPYBbcZRg0bTp/+QBdQfhhiCp/RGJ/e8=; b=UMQuM7/XBtU0vu9Tep6KoYF/LvmqSsROdMjlZaVZiT+CwoECdr1C9K4F0V/U02Tbe8 mPlI2EErFMgW3bLbs5P2Y3tMe/ZcBfJbDHuWTrAtggDBW23iSka3YRsHzVNooeQMwmUr n7g0XKQ3ehsF686tHB7cVQWoCu+WgnwWV7ciH7I16N3BwW6wvstlkkAETYpPFJ8yjopr Ucl1t7PamQA0noQH3tcdc+VexJNqUTOl7oWwp+aAZaXSegD48tF83yBZRXzcc15tH5T+ Glh7gGkv4kfNO8Vnl05pg2JnA5qd8ubR8KEd1nXfVr3PKm5NYpzjFda8PxmqfSIvM4Bj BGTA== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AHgh+RqPdY838iCWqXWfwZDIflFLSjESJ9TNzCSDMn6ydDoNdfZVrLHgejw4L8OtGplx2FbmaiW5zHw=@isar-build.org X-Gm-Message-State: AOJu0YwLIRnzTKODdQCJhpke0rf9jmTalizD2wkOF+b9f1k1Tg7VgdUC FWd36FUibxjnwuxtobRTiIeHKGbEBlEUGfjdYhPhlRGOmBlWGbj+2Sja X-Received: by 2002:a05:600c:4704:b0:495:4572:21af with SMTP id 5b1f17b1804b1-496b56be516mr103907925e9.9.1785151747336; Mon, 27 Jul 2026 04:29:07 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Aa7YSPReaai0HfOOVvOoFJNaCjQ6PChNGf+7RulUJsJu0pqL5w==" Received: by 2002:a05:600c:1548:b0:490:acbd:6a76 with SMTP id 5b1f17b1804b1-49572c02f8cls54179435e9.1.-pod-prod-07-eu; Mon, 27 Jul 2026 04:29:03 -0700 (PDT) X-Received: by 2002:a05:600d:8445:10b0:493:f5bf:4da4 with SMTP id 5b1f17b1804b1-496b56fa4ddmr72950925e9.28.1785151743428; Mon, 27 Jul 2026 04:29:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1785151743; cv=none; d=google.com; s=arc-20260327; b=I/80qIYduoGoVK1H9BlSAu4y+b6NBgOCDtbFt8Yamlw1srnUfDEG223+lDXHOaOT7n G0ddNGMWbjQVlH+sJwhIZA+Cf4hGWnnBuYpk2U6qhAMwXyEXydbF6DHBzfsrv85e4Vnm 3HJZ1meL8a4J3/PLJmXCSItLoIFZCF/BJvN3L9Pw0/tt2fKq7eOWFNXc99cYveOwt0xn ZKPPuuva3juTnxonSEDaVgWQhMJDx5H7cifJcDuFi9t6fLe9ROPhHp4VvX2AWbU55dAc hquPm1FUcF+Yvq9ux/OnK3L5rNW3JxSto4EJAobWDzebE87D4Ifmse1jy/yn/Nvw6OOj cNYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=KiV86S7q8xhWAlh3klFdbd88oktx00ROy2r7D4t4QOA=; fh=IIbR0JxonYgzdrHDdB9TmZniSh/o1z0HofhfbmLXp8s=; b=kkgmJdY8WnfJbqc4j6gW9IX5/bJQMb6VUQIjU285WlSLO+35WINsvAcZvKPyWjhrt1 paTOGHFkqbgJcvokQJnbEvi0lvEmAmqXofWT7KDZhhS9ZZi9gtm7msMEwjwqxSqwoE8C 3R9YJSoefj6aNd/Yfe/MHuneqTHDfrSxxmMhsVWviGpgLSAn5Ci0MDBJFMgVOKbAzo54 J1l43C2askc62Xbo4rqhEl/omL9LGU699kxXlSZotwDLLJLzpHsQ6FUvWIPcKcuCPVeT wNwZOmxJXE9NkbAUYObXSiQKlxLhBH3RGId0pLUB2qv5SAYR664OVQURPcug4P2JwvbR oxLA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of akarpovich@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=akarpovich@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-496c39ee775si22635e9.2.2026.07.27.04.29.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jul 2026 04:29:03 -0700 (PDT) Received-SPF: pass (google.com: domain of akarpovich@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from akarpovich-Victus-by-HP-Laptop-16-e0xxx.promwad.corp (62.122.174.6.serverel.net [62.122.174.6] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 66RBSjdU000930 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 27 Jul 2026 13:29:02 +0200 From: Aliaksei Karpovich To: isar-users@googlegroups.com Cc: Uladzimir Bely , Aliaksei Karpovich Subject: [v8 04/14] meta: Use cached base-apt repo to bootstrap Date: Mon, 27 Jul 2026 13:26:22 +0200 Message-ID: <20260727112812.2255297-5-akarpovich@ilbers.de> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260727112812.2255297-1-akarpovich@ilbers.de> References: <20260727112812.2255297-1-akarpovich@ilbers.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-Original-Sender: akarpovich@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of akarpovich@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=akarpovich@ilbers.de Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Uladzimir Bely This patch makes local base-apt repo to be created before bootstrap task. So, bootstrap is then done from it. The required packages are downloaded via python-apt and reprepro creates debian-like repository from .deb files. For debian targets host keyring is used while ubuntu/raspbian targets use keys specified by DISTRO_BOOTSTRAP_KEYS variable. The goal is have workable base-apt repo before first build completed. Signed-off-by: Uladzimir Bely Signed-off-by: Aliaksei Karpovich --- meta/classes-recipe/bootstrap.bbclass | 44 +++++++++++++++++++ .../isar-mmdebstrap/isar-mmdebstrap-host.bb | 2 + .../isar-mmdebstrap/isar-mmdebstrap.inc | 2 + 3 files changed, 48 insertions(+) diff --git a/meta/classes-recipe/bootstrap.bbclass b/meta/classes-recipe/bootstrap.bbclass index f853a932..21948742 100644 --- a/meta/classes-recipe/bootstrap.bbclass +++ b/meta/classes-recipe/bootstrap.bbclass @@ -16,6 +16,7 @@ BOOTSTRAP_FOR_HOST ?= "0" APTPREFS = "${WORKDIR}/apt-preferences" APTSRCS = "${WORKDIR}/apt-sources" +APTSRCS_INIT = "${WORKDIR}/apt-sources-init" DISTRO_BOOTSTRAP_KEYFILES = "" THIRD_PARTY_APT_KEYFILES = "" DISTRO_BOOTSTRAP_KEYS ?= "" @@ -223,8 +224,51 @@ python do_apt_config_prepare() { aggregate_files(d, apt_preferences_list, apt_preferences_out) apt_sources_out = d.getVar("APTSRCS") + apt_sources_init_out = d.getVar("APTSRCS_INIT") apt_sources_list = get_aptsources_list(d) + aggregate_files(d, apt_sources_list, apt_sources_init_out) aggregate_aptsources_list(d, apt_sources_list, apt_sources_out) } addtask apt_config_prepare before do_bootstrap after do_unpack + +inherit debrepo + +debrepo_bootstrap_prepare() { + [ "${ISAR_PREFETCH_BASE_APT}" != "1" ] && return + [ "${ISAR_USE_CACHED_BASE_REPO}" = "1" ] && return + + debrepo_args="" + if [ "${BASE_DISTRO}" != "debian" ]; then + if [ "${BASE_DISTRO}" != "raspbian" ] && [ "${BASE_DISTRO}" != "raspios" ] || [ "${BOOTSTRAP_FOR_HOST}" = "0" ]; then + debrepo_args="$debrepo_args --keydir=${WORKDIR}" + fi + else + if [ "${BASE_DISTRO_CODENAME}" = "sid" ]; then + debrepo_args="$debrepo_args --keydir=${WORKDIR}" + fi + fi + if [ "${ISAR_ENABLE_COMPAT_ARCH}" = "1" ]; then + debrepo_args="$debrepo_args --compatarch=${COMPAT_DISTRO_ARCH}" + fi + + if [ "${BOOTSTRAP_FOR_HOST}" = "1" ]; then + debrepo_args="$debrepo_args --crossarch=${DISTRO_ARCH}" + fi + + if [ -n "${GNUPGHOME}" ]; then + export GNUPGHOME="${GNUPGHOME}" + fi + + ${SCRIPTSDIR}/debrepo --init \ + --workdir="${DEBREPO_WORKDIR}" \ + --aptsrcsfile="${APTSRCS_INIT}" \ + --repodir="${REPO_BASE_DIR}" \ + --repodbdir="${REPO_BASE_DB_DIR}" \ + --mirror="${@get_distro_source(d)}" \ + --arch="${BOOTSTRAP_DISTRO_ARCH}" \ + --distro="${BOOTSTRAP_BASE_DISTRO}" \ + --codename="${BASE_DISTRO_CODENAME}" \ + ${debrepo_args} \ + ${DISTRO_BOOTSTRAP_BASE_PACKAGES} +} diff --git a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-host.bb b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-host.bb index fa4b76a6..52563d33 100644 --- a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-host.bb +++ b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-host.bb @@ -17,3 +17,5 @@ require isar-mmdebstrap.inc HOST_DISTRO_BOOTSTRAP_KEYS ?= "" DISTRO_BOOTSTRAP_KEYS = "${HOST_DISTRO_BOOTSTRAP_KEYS}" + +DEBREPO_WORKDIR = "${DEBREPO_HOST_DIR}" diff --git a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc index 6f2e47ac..8220d15e 100644 --- a/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc +++ b/meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc @@ -147,6 +147,8 @@ do_bootstrap() { fi fi bootstrap_args="--verbose --variant=minbase --include=${@','.join(d.getVar('DISTRO_BOOTSTRAP_BASE_PACKAGES').split())}" + debrepo_bootstrap_prepare + if [ -f "${DISTRO_BOOTSTRAP_KEYRING}" ]; then bootstrap_args="$bootstrap_args --keyring=${DISTRO_BOOTSTRAP_KEYRING}" cp "${DISTRO_BOOTSTRAP_KEYRING}" "${WORKDIR}/trusted.gpg.d/"