From patchwork Thu Aug 20 13:29:21 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aliaksei Karpovich X-Patchwork-Id: 5392 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 20 Aug 2026 15:42:06 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-wr1-f60.google.com (mail-wr1-f60.google.com [209.85.221.60]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 67KDg67w013767 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 20 Aug 2026 15:42:06 +0200 Received: by mail-wr1-f60.google.com with SMTP id ffacd0b85a97d-47fd4ee0ac0sf1890692f8f.2 for ; Thu, 20 Aug 2026 06:42:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1787233321; cv=pass; d=google.com; s=arc-20260327; b=Tq6x0QpG6pzSfE1sQ1Z0eF6r9tA9bB94h5FEecDhbqBUNH8egMVZ+aL+H/TiljXB0T kNZ1nPZeqoUMnZB8mpPtcTA3uQ0Saa662VLZ8GJ901teq5oFPwPTX4p2SaLEXgddPBUa KTP9U82CfS31hyLJz21YtR7fxgSU/UYY0a9chnZRSWpuGT0TilPRLUz+DeFJbpuHw9HX VOW+GYwv3XhvcAiCMlmMOcfJNMxsoDhmc1XtQcOvZ+aoqvEmUvqp5ENpO0sStIW3hsqu xTJvzWJZKYB39Z2sGFgHYP72Qh0Wl/GJ4i+AC6b1usIOFA/QL+s6+hsvSmyHJJ9odsXV xdLg== 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=WcGwt7Ss+IzYOmc3MEGQYk0COfAWwdHq3osdelLl51s=; fh=Re0Dcn+zGv6csvnzz2zTSEi71mld73PeWDoAj6CyWAE=; b=TEuX9u5hfaTz45AHRZGvFiXqHtHKYTTYt6bY27J9wTxh48UN6lQfgIgeEWbccvp4j/ 5IvhjsQpj4MI5uiZH8Vp8LqACpedHgW6D0NFsNFgsMEX0MBhWm3TIl33KRqPIw4/G20L S06PyyEicWOi7WIiyDF2kWeS8VOacMuhYdI49r3qoSgRmpZ4xFtum2zFmsWIWHcmTCV7 vm65SGvNFfTml3cGlp6iYh/LDByi5E9ST3a+McohIZovPzBLGId6XAIcQeKe/upQ7KV6 YVh4oBJaRM6+YVONrBootKBYDIsfx1nsnAZ/tWJWbS4hGgCOs6kU3osB69CJ63fj+EyC O3uQ==; 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=1787233321; x=1787838121; 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=WcGwt7Ss+IzYOmc3MEGQYk0COfAWwdHq3osdelLl51s=; b=Q+Ntr43Jj3D/nKlnocWvB1xANvGoVSba+jC4QaEn9kbmJxnuxqS5DGp93bCpsLVV2B iDtBy5pnYklVKZKqqSMfg6tReG4rDF3kFcDguWokqA8MI31EilWSf1SJM2DWGHehGndn UeKRezENH71rHPFzQgDnlD9SAwC8bFiqA+0Pnldu78XA6mfY7u5t8o5TXNd8f1CJPd7h yti+1MyGV4sTNbKvGi6aRFWQrmGPuEYXapT9xDJRE+v6HxGrplwCJVQsuXRlG6IE56M+ AzYn6slJTvetWbaJGW3QjPRg/MQFH8clKwObmc8H211wnBeOIBm1x2CUbCCKBgPuXU4k xMOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787233321; x=1787838121; 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=WcGwt7Ss+IzYOmc3MEGQYk0COfAWwdHq3osdelLl51s=; b=GGz+6njSewOhooQWlFVt9nsH5oOJMRyBZsOe5CRnHZAvWN78HSvxdjzFdqBdnl2rJ5 O4Elbuw0uRj6TUWkkYK/Lz1V0Nh7UUC9YajYY2MflRh2UZ7aFq4J4DLDSAm+6Ph/v3qG dTz9N12kay9H6xf5KmqowFkS+IxkK0O1GUgRHQUCc4ALIuzxlLe/JMYNHu3qc/UeV3Ef e3cSD/MhQSrp/Ilyst6zYNW7Yp/0E1M2w9YLM90QCN0H2j53SIr2W8ooSEOk4gC8XIxC wkLCURs75RnEOTd4V5f4iu23Mcxt/osn7ogY9SgP9/fM8+Zlh73OGVeiI5csMr/G7nkS chnw== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AHgh+Rqt7utJjWO/LtUZivBkY36c4kH/XWb9BU1Ae+CFw4wcaFe9nlNRAK2nJP/oh/dp8SpxT2/XgGA=@isar-build.org X-Gm-Message-State: AFuF++l0ud+EqD9S9t1orv5iRbYC0oWYn90UDMLQ/V+e+8cTVW6OHb2c tBMJx/JQdZx83NKfS6lPxG4GLEQzWyNz+GEwdpvIDez6fNxmEtPuDhx5 X-Received: by 2002:a05:6000:4b0a:b0:481:5f3c:39d4 with SMTP id ffacd0b85a97d-482b1e84439mr24565715f8f.1.1787233321059; Thu, 20 Aug 2026 06:42:01 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLdcPNWHCtGrFdRPGWSZBhY603ZOJzAEalqNsuNx/eoNe6A==" Received: by 2002:a5d:6f1e:0:b0:47f:4e3f:9fd7 with SMTP id ffacd0b85a97d-482b78d1677ls934398f8f.2.-pod-prod-05-eu; Thu, 20 Aug 2026 06:41:59 -0700 (PDT) X-Received: by 2002:a05:6000:41f6:b0:47d:eedb:ee62 with SMTP id ffacd0b85a97d-482b1fd3b69mr25632836f8f.14.1787233318906; Thu, 20 Aug 2026 06:41:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1787233318; cv=none; d=google.com; s=arc-20260327; b=l1bWYPMbBJr14pXy3eg+b5Ti3UkxSR+4QYENb1j51kmU16Zh6kiEeOvrJVsiIopelG zmvDrZiSKU0T6EV8n7O2WA0vNwEQjuOhP+y54Zd/EiCVqFu5iSA1s42q+hHAlV8YGaFg spgack+5iLZeNGN+lZO7nAI9gI6Y+0nc/AaJa0beJSbwQOTFgSxNp6DdMB9exTfJ5jFm wt+v+HZZqhZ0gWyLNMcOvCncMXjhjxwJHuRWzp5SXuK/1vtGh0hFbtM5P/vbKvl4YDaV N2T6TGdZrfNi24gBsEKeBrl4pZTx0/EOPHlE4pir6U+jjKpACliWIMW6j1Ttse2iorJe 9XyQ== 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=j9YOWKE9LLmAPwcgTutrlgJkf4GQPfF4iOpyfEuRX5b0xPtBH8Kcalwh/Z4Qfvv8dQ 6II/oQ20xuF5UV9Kda3XjLdtTbCtc1A/R2069zA6kLXui83nDWzKGwSJ5xMXdRITJt34 FDDRf54BSTqt3Df+z7fvoxJaUlhDQZr7Diu6LZQurZcU3oDEr62vcqE6uVsvqxhGRNxf D8DWZAxB5WOxeixZ5Mnt0BPwBnu8GAL0JyqkTlAVTAp8d2ka9tGhj1/n0i+624U9Gxix dPJl8Teca6N+3pmK2mmfb2tYL5R2NOfwAiD4C0UBRRSu/vvfROZGEm1zj0Cu2nXW2cMJ fB9A==; 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-482b10faf54si107404f8f.0.2026.08.20.06.41.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 20 Aug 2026 06:41:58 -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 67KDf8lT013513 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 20 Aug 2026 15:41:56 +0200 From: Aliaksei Karpovich To: isar-users@googlegroups.com Cc: Uladzimir Bely , Aliaksei Karpovich Subject: [v9 06/13] meta: Add cache-deb-src functionality in base-apt mode Date: Thu, 20 Aug 2026 15:29:21 +0200 Message-ID: <20260820133934.383231-7-akarpovich@ilbers.de> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260820133934.383231-1-akarpovich@ilbers.de> References: <20260820133934.383231-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