From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7346118313451192320 X-Received: by 2002:a05:6512:29e:b0:513:d1db:eda3 with SMTP id j30-20020a056512029e00b00513d1dbeda3mr358260lfp.33.1710401457735; Thu, 14 Mar 2024 00:30:57 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:ac2:489a:0:b0:513:caa6:6fe2 with SMTP id x26-20020ac2489a000000b00513caa66fe2ls224279lfc.1.-pod-prod-01-eu; Thu, 14 Mar 2024 00:30:55 -0700 (PDT) X-Google-Smtp-Source: AGHT+IELJONwHps+i0K/9YI05SXvNS/ZTTVMiubJ8z3m3jGS4UhQoZ7gxT5DWftfmpr7D53CSZTH X-Received: by 2002:ac2:5b92:0:b0:513:2a84:c45c with SMTP id o18-20020ac25b92000000b005132a84c45cmr540522lfn.28.1710401455183; Thu, 14 Mar 2024 00:30:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1710401455; cv=none; d=google.com; s=arc-20160816; b=05/S6Z5QcCDwULpshcYKeaWCbOS3074TFktkCIOawUZkTd9H5crfamlZfS2cDz/+ty vKSwY2MxFKvM7hLwRtGPZgTtVumgTYQvWoc6oXMiimp3N7zKE7qVmUQ3S04M4kbM2WU0 ZCXe3oZYlQqOOApsPz0GaUW5CpcqWcU3D93XucehkXwFjtYP2jTeXL48BjqsIg3u/qdL 60UBGcwGaCsJ0+bkOw+QWbCR0+C8moUWwp0rIs/d5k0Q0P3B1wUHqA9Iobh/PwEu/6dq hTVIu4TlzwhiZrHNwimaj88mo0GyfXV/jpcu5+lAogCHwhTwTsUnNd5PNQja3Gh4gnXn Z9cA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from; bh=yYychC9Njwku80EDzk/5wi/Z0p9Sky7lipyhrqj2+NA=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=zTR9OqI10p+Y/OYdHg9Q9MrC6Npe9HKp5bM0rSuLWwTgP7G3wQheDbyBGMcIJgARiY 1Go0E2Z82JlcGga2v6M5rh0SPARbG64IqOyg4vTD7ujeMmTPbcF5bLUanb033zcYTwEp 1VukOKE0W/zSR3Qp9gIcCyMZyJRKKTwgwIRMePGL+oQvwJ9Grrfv8yvV+shuAsam+gDi 1jS80J4FsBvwAEUvQK9pzFC41PjBptwp0MqxP8aMe8t9ZMUYYiGyoNb7d0+FZe3AFd0A +2E5w/+mU0L+AH39INjdi7F6/WSP65LViulhQm2gRNYmSkE0KHl3QwWGkgNvPk6IzuZT XxVQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id q1-20020ac24a61000000b00513c1ff7958si55570lfp.1.2024.03.14.00.30.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 14 Mar 2024 00:30:55 -0700 (PDT) Received-SPF: pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Received: from hp15.localdomain (mm-209-185-213-37.mogilev.dynamic.pppoe.byfly.by [37.213.185.209]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 42E7UoA2021482 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 14 Mar 2024 08:30:54 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH v6 07/11] meta: Add cache-deb-src functionality in base-apt mode Date: Thu, 14 Mar 2024 10:27:24 +0300 Message-ID: <20240314073047.29465-8-ubely@ilbers.de> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240314073047.29465-1-ubely@ilbers.de> References: <20240314073047.29465-1-ubely@ilbers.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED 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-TUID: BPw5Auw/0esv Fill base-apt repo with source packages. Signed-off-by: Uladzimir Bely --- meta/classes/deb-dl-dir.bbclass | 17 +++++++++++++++++ meta/classes/rootfs.bbclass | 3 +++ 2 files changed, 20 insertions(+) diff --git a/meta/classes/deb-dl-dir.bbclass b/meta/classes/deb-dl-dir.bbclass index d36b7190..2bb05b31 100644 --- a/meta/classes/deb-dl-dir.bbclass +++ b/meta/classes/deb-dl-dir.bbclass @@ -41,6 +41,23 @@ debsrc_undo_mounts() { EOSUDO } +debsrc_fill_base_apt() { + export rootfs="$1" + + local srcpkgs="" + for package in $(find "${REPO_BASE_DIR}" -maxdepth 6 -type f -iname '*\.deb'); do + is_not_part_of_current_build "${package}" && continue + local src="$( dpkg-deb --show --showformat '${source:Package}' "${package}" )" + local version="$( dpkg-deb --show --showformat '${source:Version}' "${package}" )" + local dscname="$(echo ${src}_${version} | sed -e 's/_[0-9]\+:/_/')" + local dscfile=$(find "${DEBSRCDIR}"/"${rootfs_distro}" -name "${dscname}.dsc") + [ -n "$dscfile" ] && continue + + srcpkgs="${srcpkgs} ${src}=${version}" + done + debrepo_add_packages --srcmode "${DEBREPO_TARGET_DIR}" "${srcpkgs}" +} + debsrc_download() { export rootfs="$1" export rootfs_distro="$2" diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index 13e06ae1..ad4e728a 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -235,6 +235,9 @@ cache_deb_src() { sudo cp -Trpn --reflink=auto "${BOOTSTRAP_SRC}/var/lib/apt/lists/" "${ROOTFSDIR}/var/lib/apt/lists/" deb_dl_dir_import ${ROOTFSDIR} ${ROOTFS_BASE_DISTRO}-${BASE_DISTRO_CODENAME} + + debsrc_fill_base_apt ${ROOTFSDIR} + debrepo_update_apt_source_list "${ROOTFSDIR}" "base-apt" debsrc_download ${ROOTFSDIR} ${ROOTFS_BASE_DISTRO}-${BASE_DISTRO_CODENAME} sudo rm -f "${ROOTFSDIR}"/etc/resolv.conf -- 2.43.0