From patchwork Fri Sep 4 07:52:48 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aliaksei Karpovich X-Patchwork-Id: 5423 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 04 Sep 2026 09:56:21 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f58.google.com (mail-wm1-f58.google.com [209.85.128.58]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 6847uLUq004644 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 4 Sep 2026 09:56:21 +0200 Received: by mail-wm1-f58.google.com with SMTP id 5b1f17b1804b1-49cd74fc1aasf4076725e9.1 for ; Fri, 04 Sep 2026 00:56:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1788508576; cv=pass; d=google.com; s=arc-20260327; b=Y4AN6OEClNqa2j5i2/NeihpWf4GQCsur+dSITv5VQ+N5RwihOTb93XrBQ3IxUdML4t rA2lC+D1X6jb8UGoYf1LxNo2O5v53C8Oh9pMVOaVjvFGMJzNROGHH+lcUEjXB5MEC8LU ZxPU5jbNNvfDkv9u+8+DLuYikjL0cg3CSa4lYnF+n11YohgcYd7KQQr7qfpTQGuteYTz gmc/hm035zmfnkC4oqwhkjLvnQpxi/sl5LFwPaQvYAtyCxk7Ag/D3sFH5l5uMeRaWSK2 4ejj6SxklZZEhBTjzseoU664hUeissPm8TLaORk8f0oU8TP0jlsdrR8Gj8RRuudS32hl U7eA== 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=1VcGL/R6usAIkK4pd7nGxYokkqW17JE6X3WCSqxBLHA=; fh=L2bvKG9tDnQO/G1hn77TlJ5SV1BBfBF2zi0AaKiyQAc=; b=CwWmYbInxjE4b7PW2m+YVKgmDLovLst2uDfrmq52GJYtJYVdm0ZNfP/qz6FCtRFCQJ nKboKYNP+zM11AaVwbHrGU/kqxcVTzVFqcgp6rS/ii+hsGi2tJBkB8q5zbQCvCfwG2CN 9XjqAyZ0AMkL+hgTPQsecVQ/tZibfRFAldMStdcIY5Pr6y6zUoJReDf0MuiiCzigB/DN qQs9bmCHQ9O8AVabCYqsn06djQz1wOI2sZKGsSEtcGkBM9DNofacRgb5StoMS2K1hxrh Eer7G8ugZrmVJJHbKlrBUuiNeitCsklKRCiGWWviKwxTTsktTFS9kT29L9tvWgVBWF91 fzNA==; 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=1788508576; x=1789113376; 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=1VcGL/R6usAIkK4pd7nGxYokkqW17JE6X3WCSqxBLHA=; b=JilH+S2xYeaYnC/eV2rzV+ajFGRjyiJ0nht+W4LAGsXVRin2SMBTkBa0F2pY1QnBKM Nm1blOqG7Wv7Jlv1Tf4HgEzXfadqWMcksCdzSwmwaIe6wBD1eVdADt13ltSepuXqraU8 LiOh9d9GU8Ucu5MT3TK8Jojar8Wx8oftv+IrD1Pw1sxIN6uewLJIWtUCIYQiTTgPnOK+ MmPrJygdDaous9OAOMEnzHocNjociHxN5wD66tKUyP3d43jC3Jf4qq3PbOETMLXPI1Gq eIRTPDVwV9qxPtBBu1y9yn0kHesbHb/oYaU1a12+J8FS58FJNIJv6cpq7dG33GYkv1X4 +mJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788508576; x=1789113376; 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=1VcGL/R6usAIkK4pd7nGxYokkqW17JE6X3WCSqxBLHA=; b=F6pienCySOKM2sB9mG4EeUSA28f5yoL63J3Y+/WLIOZ08NOtLhfXpaEaTLHm+mrXs3 K9Ln/SsQlksIk131vm63Bdk7lp2fozyQccDHzk+vRoseRaW6IcKbP0ynHOQ8Hp3USUBi 0i3/Bv7db7/1hHX9uXwg7zwXfBJ2VA1bGjBBwZ3m8Nc9wFP1Bzt+mAOMAOeNXu4lJweb UjTyEiDXHk36gEPHByF3CEEEVOlgHDlVh/L4KgrdBuHiPbbMjDMdtAZJSbC8c5VWilKI HwvOnE/HX3TuYBIiGr2UPWgMeplswpwoVXAseTlmhgS3RC/0dpou0Ma8Dx9BVeRYJ2uL dhFw== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AKwUvBxerzeHW/ZAd/ngbFaNaKwlTv0ERnqIiVe4U02yTh+oWQfu0mE6oFOkOar5Akx88VaLfZWVQhE=@isar-build.org X-Gm-Message-State: AFuF++m1qqDJtKa+LxM/464oE28TuC272/plaB67KlZSMOMDb1XA1VKE Y64AJ5wX6Zz3KHo/d9WmY9oXdDuC1lwOLJNrFEmmDp2+KUfHWjxQk0a9 X-Received: by 2002:a05:600c:6212:b0:49c:ed88:a782 with SMTP id 5b1f17b1804b1-49cf81fa7fbmr38946045e9.6.1788508575655; Fri, 04 Sep 2026 00:56:15 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLdfmApVDjH55MpWN9HKTcfqMVDCm3W2M6SW9JN7e9tFkZA==" Received: by 2002:a05:600c:4f0d:b0:49c:f4da:1534 with SMTP id 5b1f17b1804b1-49cf6879450ls8712255e9.1.-pod-prod-04-eu; Fri, 04 Sep 2026 00:56:13 -0700 (PDT) X-Received: by 2002:a05:6000:2505:b0:485:8ad5:f965 with SMTP id ffacd0b85a97d-4858ad5ff97mr2345213f8f.2.1788508573480; Fri, 04 Sep 2026 00:56:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1788508573; cv=none; d=google.com; s=arc-20260327; b=EbsYDS+IacvPURAigNndmCau0iHmedmFmWvKLepC31DBaETnTKYUSR7ICJocC/JOXg A1ujQUPKIslhiWljQ3zlxWCmFdmxxbzlcV1PrYuBkAYwuggoa6c4YQ2+fOo8SrV4NIGS mPFVkTkjmAO+jmy/xV+JTIpquTOVZn53rkS7tteOyurzsqoFqJDLBRPE1um/Fg+t/viV qON5cDjHbFposrMFfHkF7bOGAHBkKj7wtaSQ04c037atn8AV7eqQdsKI26gQ6AJvoNMV Dq3VL4tjg2/J2oXRNJXX3EUysVbfhftz/PpRTP2oThxX+FWgUXU4UaWjjYiGcuy7CkTO X0kw== 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=ktDVAHWQ+i3P8o/c+MKbAEM8KNhoe4y+/bu4Wo8SlQM=; fh=IIbR0JxonYgzdrHDdB9TmZniSh/o1z0HofhfbmLXp8s=; b=WUzp6HEM+MuwF65Aw01FjUkjLm96WzmwtvXumLiCg4iIzDR3uiFINX9Gzjkt3trVH9 6h1gxZLD/xzNLSc6+mF4YDbCJNgfK2X9Ge6fs4SOYjo1sFD2vKWHvcpTx9L3PoBFiFAC hc1JqlkKRSFANVR6CJzsI2YSWR4zZ5MiAOu/M0b45r+eqBGhQwC9I9FOpYDRJ3W1+nJn iubzcRjEKnZZ2ZMk8Dzf0PCXylfVlGBWgBl5x3L0AOp69OKLMvVt25KGULYc+XCRSdiq W30OJEQSrSZS3RJ7Hd4qZlgsP6gC0mP9MtW1EG7E34lIfFR/HP4HLkf0DFcbKRF7YExC 4xvw==; 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 ffacd0b85a97d-485885b717dsi31034f8f.4.2026.09.04.00.56.13 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 04 Sep 2026 00:56:13 -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 6847tRSG004124 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 4 Sep 2026 09:55:55 +0200 From: Aliaksei Karpovich To: isar-users@googlegroups.com Cc: Uladzimir Bely , Aliaksei Karpovich Subject: [v10 06/12] meta: Add cache-deb-src functionality in base-apt mode Date: Fri, 4 Sep 2026 09:52:48 +0200 Message-ID: <20260904075515.25962-7-akarpovich@ilbers.de> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260904075515.25962-1-akarpovich@ilbers.de> References: <20260904075515.25962-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 Fill base-apt repo with source packages. Signed-off-by: Uladzimir Bely Signed-off-by: Aliaksei Karpovich --- meta/classes-recipe/deb-dl-dir.bbclass | 41 ++++++++++++++++++++++++++ meta/classes-recipe/rootfs.bbclass | 7 +++++ 2 files changed, 48 insertions(+) diff --git a/meta/classes-recipe/deb-dl-dir.bbclass b/meta/classes-recipe/deb-dl-dir.bbclass index 60e2fecc..7e9f89b1 100644 --- a/meta/classes-recipe/deb-dl-dir.bbclass +++ b/meta/classes-recipe/deb-dl-dir.bbclass @@ -27,6 +27,47 @@ debsrc_source_version_filter() { | sort -u } +debsrc_fill_base_apt() { + export rootfs="$1" + export rootfs_distro="$2" + mkdir -p "${DEBSRCDIR}"/"${rootfs_distro}" + + ( flock 9 + set -e + printenv | grep -q BB_VERBOSE_LOGS && set -x + + # We need temporary files for our lists of source packages + # trap exit of this sub-shell to remove them (this script may exit abruptly + # since "set -e" is used) + avail=$(mktemp) + wanted=$(mktemp) + trap "rm -f ${avail} ${wanted}" EXIT + + # List all packages known to apt + rootfs_cmd \ + --bind "${DEBSRCDIR}" "/deb-src" \ + --bind "${rootfs}" "${rootfs}" \ + -- \ + apt-cache dumpavail \ + | debsrc_source_version_filter > ${avail} + + # Use apt-ftparchive to scan all .deb files found in the download directory + # and get the pairs that we wish to download + apt-ftparchive --md5=no --sha1=no --sha256=no --sha512=no \ + -a "${DISTRO_ARCH}" packages \ + "${REPO_BASE_DIR}" \ + | debsrc_source_version_filter > ${wanted} + + # We now have two sorted lists: source packages we want and those known to + # apt. We will only consider source packages that may be found in both. + comm -12 ${wanted} ${avail} \ + | while read src version; do + debrepo_add_packages --srcmode "${DEBREPO_TARGET_DIR}" "${src}=${version}" + done + + ) 9>"${DEBSRCDIR}/${rootfs_distro}.lock" +} + debsrc_download() { export rootfs="$1" export rootfs_distro="$2" diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass index d1f24d68..bdca9b42 100644 --- a/meta/classes-recipe/rootfs.bbclass +++ b/meta/classes-recipe/rootfs.bbclass @@ -489,6 +489,13 @@ do_cache_deb_src() { run_privileged tar -xf "${BOOTSTRAP_SRC}" ./var/lib/apt/lists --one-top-level="${ROOTFSDIR}" deb_dl_dir_import ${ROOTFSDIR} ${ROOTFS_BASE_DISTRO}-${BASE_DISTRO_CODENAME} + + debsrc_fill_base_apt ${ROOTFSDIR} ${ROOTFS_BASE_DISTRO}-${BASE_DISTRO_CODENAME} + + rootfs_do_mounts_priv + debrepo_update_apt_source_list "${ROOTFSDIR}" "base-apt" + rootfs_do_umounts_priv + debsrc_download ${ROOTFSDIR} ${ROOTFS_BASE_DISTRO}-${BASE_DISTRO_CODENAME} run_privileged rm -f "${ROOTFSDIR}"/etc/resolv.conf