From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6790334981638979584 X-Received: by 2002:a1f:9d16:: with SMTP id g22mr10124915vke.22.1581588522553; Thu, 13 Feb 2020 02:08:42 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a9f:3752:: with SMTP id a18ls1211776uae.7.gmail; Thu, 13 Feb 2020 02:08:42 -0800 (PST) X-Google-Smtp-Source: APXvYqw4Ix9kVOoWpH2uU50mD9OvcatAlQ6N7t+NYraY6UVLO2/XWVx3+a6iO07uR9KbAEvoHpLh X-Received: by 2002:ab0:6e6:: with SMTP id g93mr7304097uag.105.1581588522030; Thu, 13 Feb 2020 02:08:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581588522; cv=none; d=google.com; s=arc-20160816; b=DYsR0ugA6F+mttxdSY8ZuBdPOQtZQX1IPOx/0035n6LJildiOXO5B2JDpwqtSDSlDj U5Y3wl/87TtD9qeY7MOt5g46BQ9G9dptcqdzuorpvopKy5fYer/2MSGMUes4yb0Kgc2q zP2jZl2bZxhi/8fP2rFVAh7/ZqwuC+XTdFYmZZ7//m7n5r2atdieeey7nRTi6zOcVNjZ bVVsFCTpF4nGO2XMDdzwlCfFtZfJytNDQl1rFg1t5I0Q7uytDDt68rd4J3uBQVVS3C3k 6eksTdZB0s0Yy0Pv+GSBMnbsE1HXlU1o2zz3HQpj68L66dq4iB4xHR/iDkJXZPrxOpGj gKcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=+rhdEJR+BSFL9AT8J/7Rej6JLpP6qdwPj6Yjgka82w0=; b=I8r6siTF9xcj+Uow3VPQ/FblbLJZThE96ApkNSqB0XSJ4ENpcnvxOazKdOy/AQzk7L JFcbGx8t23V3Cyq3Elw8mXKUOW93LLqWZNSKeh/XW/shd6eO2oaS9e53Z1s3lD/AZZyl UNDH06Ccs4gn8BcPkhOJrEfLfNzLND9xqsLMz8pS3fjUZ5oNI9HHCLIcQiMSOOv80P7m Q9W3AJvQrli8RYEnbKV1vhKh54wHjkbgj/SlEifF6LxhDBcGeFMGzwe4cXSdutUxPWLD 9eV3dHdb4NEiQTaSNQ1aMcCvihpLtDV1wGXbfE6xfZsoNG0RN4K/jIOszTkBOdQNJZK6 CgWg== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=IL5jNakv; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2607:f8b0:4864:20::534 as permitted sender) smtp.mailfrom=vijaikumar.kanagarajan@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from mail-pg1-x534.google.com (mail-pg1-x534.google.com. [2607:f8b0:4864:20::534]) by gmr-mx.google.com with ESMTPS id t76si107634vkb.1.2020.02.13.02.08.42 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 13 Feb 2020 02:08:42 -0800 (PST) Received-SPF: pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2607:f8b0:4864:20::534 as permitted sender) client-ip=2607:f8b0:4864:20::534; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=IL5jNakv; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2607:f8b0:4864:20::534 as permitted sender) smtp.mailfrom=vijaikumar.kanagarajan@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: by mail-pg1-x534.google.com with SMTP id z7so2828623pgk.7 for ; Thu, 13 Feb 2020 02:08:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=+rhdEJR+BSFL9AT8J/7Rej6JLpP6qdwPj6Yjgka82w0=; b=IL5jNakvFkwX6Zt1x2E1nR5fPfEu92NdeSOCWZuUfS6aSFrPdtKmEu8x31ORgJLtTH +37X6qYZFXhE0Vcng0EcrbwZhaKqZDZr6AnlZ+Gs//V8A4vdBSPQvRl4jbkutL1ZpbL5 Y1k/QO1JjX6MdtZmXbV0W8TnTv07NkcIYCuv+sfUzx4UZt5yRAcv11HoVUs5wl9fQD9D pYx6v4ApSkuOCerl2v6cBxX4cHuGEwsMSSjEvAaIvzrswudgAK1F8MFtRDn/oPxmWQQq Jev0DTfPjaxvWRON8cL9o1bRA+QImv8emdX05qXHVaO4zx8jucEz9FttVXlghYjCltTT ogEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=+rhdEJR+BSFL9AT8J/7Rej6JLpP6qdwPj6Yjgka82w0=; b=n5LMXCHIau7BXhG3Czt5u4KxzaQE8bGtUgEERxm4fVGVWn+107h5+jqmx84G0343Np NL3gUsVtzp8LjtB+41dEud+rZgXAqqKViMYRzzhSIFR2k9CU6lZFWAmw9iZn5LniusNM F27PlEn3knp6c4oob/A0+JDLpxIdhiw4zR3YGxpSaLgNsqfOLQ3YAlLUWAdXySPK1xvT GE5sR6vz++OeFu0/3ZiFDTYC7eD1woqb7EhRBL/mCxXrnKnXHEFZJJ/yJj/2AQdvC6lH aeufGqv7hkIhJaPYzsEJ+GSEbkXZlcpbWXZCpK/3HyTEzhjdg5d0oZ6FpRuIxxh901Ul LzfQ== X-Gm-Message-State: APjAAAX73PSuDEkm2dMf7eNtAeMIIgsVvYKGIEvWYWJXPQZ8YmiNgJjv eiTBIdDv5TDode+4/E51fX5Qge9HWQg= X-Received: by 2002:a63:ba05:: with SMTP id k5mr16770702pgf.158.1581588520899; Thu, 13 Feb 2020 02:08:40 -0800 (PST) Return-Path: Received: from oxygen.mgc.mentorg.com (nat-sch.mentorg.com. [139.181.36.34]) by smtp.gmail.com with ESMTPSA id s130sm2529742pfc.62.2020.02.13.02.08.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Feb 2020 02:08:40 -0800 (PST) From: Vijai Kumar K X-Google-Original-From: Vijai Kumar K To: isar-users@googlegroups.com Cc: Vijai Kumar K Subject: [PATCH v2 2/2] meta: cache deb srcs as part of postprocessing Date: Thu, 13 Feb 2020 15:38:20 +0530 Message-Id: <20200213100820.23444-2-Vijaikumar_Kanagarajan@mentor.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200213100820.23444-1-Vijaikumar_Kanagarajan@mentor.com> References: <25b9cca0-3fb3-14c5-f7be-c25d20b74d3e@siemens.com> <20200213100820.23444-1-Vijaikumar_Kanagarajan@mentor.com> X-TUID: 4H2ghec8NpTs Collect the deb sources of the corresponding deb binaries cached in DEBDIR as part of postprocess for those to be later included into the final base-apt by do_cache. Signed-off-by: Vijai Kumar K --- meta/classes/image.bbclass | 2 +- meta/classes/rootfs.bbclass | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index c5fddba..77306ce 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -60,7 +60,7 @@ image_do_mounts() { } ROOTFSDIR = "${IMAGE_ROOTFS}" -ROOTFS_FEATURES += "copy-package-cache clean-package-cache generate-manifest" +ROOTFS_FEATURES += "copy-package-cache clean-package-cache generate-manifest cache-deb-src" ROOTFS_PACKAGES += "${IMAGE_PREINSTALL} ${IMAGE_INSTALL}" ROOTFS_MANIFEST_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}" diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index c3af7c1..bef5149 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -201,6 +201,34 @@ rootfs_generate_manifest () { ${ROOTFS_MANIFEST_DEPLOY_DIR}/"${PF}".manifest } +ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'cache-deb-src', 'cache_deb_src', '', d)}" +cache_deb_src() { + if [ "${ISAR_USE_CACHED_BASE_REPO}" = "1" ]; then + return 0 + fi + sudo -s <<'EOSUDO' + sudo cp -L /etc/resolv.conf '${ROOTFSDIR}/etc' + mkdir -p '${ROOTFSDIR}/deb-src' + mountpoint -q '${ROOTFSDIR}/deb-src' || \ + mount --bind '${DEBSRCDIR}' '${ROOTFSDIR}/deb-src' +EOSUDO + sudo -E chroot ${ROOTFSDIR} /usr/bin/apt-get update + find "${DEBDIR}"/"${DISTRO}" -name '*\.deb' | while read package; do + local pkg="$( dpkg-deb --show --showformat '${Package}' "${package}" )" + local dirname="$( dpkg-deb --show --showformat '${Source}' "${package}" )" + if [ -z "${dirname}" ];then + dirname="$pkg" + fi + sudo -E chroot --userspec=$( id -u ):$( id -g ) ${ROOTFSDIR} \ + sh -c 'mkdir -p "/deb-src/${1}/${2}" && cd "/deb-src/${1}/${2}" && apt-get -y source --download-only "$3"' download-src "${DISTRO}" "${dirname}" "${pkg}" + done + sudo -s <<'EOSUDO' + mountpoint -q '${ROOTFSDIR}/deb-src' && \ + umount -l ${ROOTFSDIR}/deb-src + sudo rm -rf '${ROOTFSDIR}/etc/resolv.conf' +EOSUDO +} + do_rootfs_postprocess[vardeps] = "${ROOTFS_POSTPROCESS_COMMAND}" python do_rootfs_postprocess() { # Take care that its correctly mounted: -- 2.17.1