From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7237382541983875072 X-Received: by 2002:a17:902:d2cb:b0:1ae:8fa:cd4c with SMTP id n11-20020a170902d2cb00b001ae08facd4cmr5500347plc.7.1685084437485; Fri, 26 May 2023 00:00:37 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:903:32cc:b0:1ad:d7a0:1d80 with SMTP id i12-20020a17090332cc00b001add7a01d80ls1981195plr.0.-pod-prod-07-us; Fri, 26 May 2023 00:00:36 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4IiBz3bsNDc1KOG9py/5R5+CUhAIXTwDf9tURSLmcU6DWiFlH/ySdVGtwBrjEcgACH0gV4 X-Received: by 2002:a05:6a20:3d0e:b0:101:2160:ff8f with SMTP id y14-20020a056a203d0e00b001012160ff8fmr1185746pzi.11.1685084436450; Fri, 26 May 2023 00:00:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685084436; cv=none; d=google.com; s=arc-20160816; b=G4ZPymPu1appLegYUrWLp9p6TR3k9/PSFBXnicG3qXFlD4PLGKiY66xfkTnKGtd2t/ yRKpcfzJwvlDkqJc/PmphILI4nXP24JHC8E/Ctvm2Ypwc9euxUOODI9QjuZXzA9ks0J2 9U8Gexs/CNg7ovokSXX2pYXmOf2CiqwIJdlnaYCIsHOkD+iw0T3qNCux9Usf3Tqynd+X oXg2bGcOLkdptlLjFPTeZGhmqG9r566u7diifsvc75kGWi1VFAqRutwYzY1C6vVOzQYr b/YBDBmuw5ifiBfR9mZywKjwFyl8V0T0a2ppW3nOrGSWUB01KRSDMFC8202p34poKUBa 0uXg== 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=j6nq0sfrjvwH/slo9fAvomeI09KVXkUzgZec3JMu5h0=; b=PZiJchuQ8pepEWOOczxqI5+RbSB3vbOxBl4ff6t+pEoFrYYYO4luEtahWba76og7Y0 sijH0PubWucbKtJqg+9kS2JA1p7XCe86KOAv1Dr4s7iB6uu/pKs3zejFtL3S6UCvS61/ rFaRFQRm3JUQHWkRSkdKXfltUskFcVywxHBc5D9lyskdUMS5ysjpFwpWvBW0ISN7OW7i goveUi6ofyqakuIfPqvara93EKgBn2rNYFNdHKwlOLjREr6bHtkDGe62JYx/Yx8ys7kP ZfelOPHfnIgs3l4/J9iPzx+z4hs0Lx6vESuwRXKKFWef/cvGc+M6KrySQGVQ1s4jsIBO HR7g== 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 e10-20020a170903240a00b001ae20d30d75si54777plo.6.2023.05.26.00.00.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 26 May 2023 00:00:36 -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 baighyz.m.ilbers.de (host-80-81-17-52.static.customer.m-online.net [80.81.17.52]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 34Q70R3d013306 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 26 May 2023 09:00:31 +0200 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH v5 09/12] meta: Add cache-deb-src functionality in base-apt mode Date: Fri, 26 May 2023 09:00:24 +0200 Message-Id: <20230526070027.16890-10-ubely@ilbers.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20230526070027.16890-1-ubely@ilbers.de> References: <20230526070027.16890-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: PZ+vDkDkk3Pf Fill base-apt repo with source packages. Signed-off-by: Uladzimir Bely --- meta/classes/deb-dl-dir.bbclass | 17 +++++++++++++++++ meta/classes/rootfs.bbclass | 4 ++++ 2 files changed, 21 insertions(+) diff --git a/meta/classes/deb-dl-dir.bbclass b/meta/classes/deb-dl-dir.bbclass index f0ab9714..a7a8dcf7 100644 --- a/meta/classes/deb-dl-dir.bbclass +++ b/meta/classes/deb-dl-dir.bbclass @@ -43,6 +43,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 47f07129..0ada4721 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -230,8 +230,12 @@ 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 if [ -e "${ROOTFSDIR}"/etc/resolv.conf.isar ] || [ -h "${ROOTFSDIR}"/etc/resolv.conf.isar ]; then -- 2.20.1