From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6790334981638979584 X-Received: by 2002:aa7:9a0b:: with SMTP id w11mr1752035pfj.4.1581659294043; Thu, 13 Feb 2020 21:48:14 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:aa7:9891:: with SMTP id r17ls854755pfl.5.gmail; Thu, 13 Feb 2020 21:48:13 -0800 (PST) X-Google-Smtp-Source: APXvYqwnLP6vC6QML5AVN6L0ybgPB6AKfMPTg1KveRL/vDqUMFBayIVwJJfr9e86LA38DdaiZqOZ X-Received: by 2002:a62:1615:: with SMTP id 21mr1726901pfw.84.1581659293379; Thu, 13 Feb 2020 21:48:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581659293; cv=none; d=google.com; s=arc-20160816; b=ILU3nBGH1eatmBiKcOA7eu6Xwu+L592DTkU4sFhW9qlu5xcM1TsK/GKLM0NMdc68z7 E1TcY9ApUgLgB58p9ucZzGmj1BUdfZ30hCSJU5O8glKrEo/JPtTG7UtkML184SBzFrQo QyYmVwliLcTIT7EQdiyxfqmAWJPQ+Jo7v39FHKcflsJJ/Vt4XCaacmZM1lT5HKrABGtV oDXfhrMT8fDsZzGRqntpgXD6QPGNhPWtPc3RKIM1QcnLh/lG+UNo2n7liqXszbvdahri 5KPyKollEbUENYmBKw4+4u2IuzbOi1k2ZO3JSgfxZa+UVAkMgQaBzSpQyjYOYbGTY2ao s7lw== 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=3xa6mVQAYR4YcyVvUWbJe3ug0d/ziup/QC993J4hpPU=; b=Zcnm8vdDQInvFovavMopQwjeV7bAfOyGzn3hEKa1RPEgJGHpjA/X42TxTiiZO7Tkn4 Nd7w/DxXIqZhi5vWi4Vvw60poNsmo8vzQZMp88Ek6hm/cYFo08czVOriEvhdliHbLiAH +InF6WLlN2gDK5zX2ifUbuAuE/6+d+Y4xV1H/vik78C5pogy7D1UeomHbOoL3UH1F5VE 8QilBSvZMn6PaU4ujZjUtjFU5inFh3vyB6Gsi5WtICJqy3y0JzCYmpiWVsDeh7K7bZrU zdS/sLbsCsE+A84cNq18njMr3aujptuAVaEwrzMXl5Knc1NYuUw87yhW0Owr9FXew10D nmDA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=jrHu2HOw; 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 x78si173632pgx.5.2020.02.13.21.48.13 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 13 Feb 2020 21:48:13 -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=jrHu2HOw; 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 v23so979165pgk.2 for ; Thu, 13 Feb 2020 21:48:13 -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=3xa6mVQAYR4YcyVvUWbJe3ug0d/ziup/QC993J4hpPU=; b=jrHu2HOwF6881mi72gJA8skZ549qXw5wVxqvG2+PZ7rRQnkffJhrfhMgUWJ7quc2S9 sfOL1sRt2VJWajxr7gta/nUS7gjU7+fc+a8jNPHlAd+JiFzI+Plumrzt5CgYb/MHXCIU a1FEiHe0Cy93NcyZx0kP+dFCREEwsMDvCWe1x/+yStvyM0q6NLpimmWi1/3hk6BEvXo7 6zb5vsvnIqAz9yyidG9M3flNZ76zCB7aCJcoO95TnUxnUhEu9Oto1WAu49XTQxnKaiGr YsuT1iBnzJePX6D9sUv1JjPjE0gR4CcvXh4QlSpg4axOE1HHfX6rmN+gpMcsEwvqpDvz qeyg== 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=3xa6mVQAYR4YcyVvUWbJe3ug0d/ziup/QC993J4hpPU=; b=M17PdwpFKjIS4cOpdoMmS8Z1YwEQzXfzBjgsS6Yvu9C3bdjsaz14JAniSFK40n59JK DcwOyURU/O9GmeG/JLTQP1VWq9k119VrLF74hFCFR37AU3IxFsBTs1nmqxc7lQRnYqLo /ORQstFGRnqeH76SX4drGWHstGMVIwFqimNNDsa5oq48+pnc8VPpyAt8CdIl7MmC7tn2 n5m6TCCSeDvyjehBvePI5HQKI0W99RzA8KjXLEY97V07BV1DpKnXG53KUbbCS3+XAs5B w3hJXLlMKbzwwTS1xG26NEr9Uo4skw0l4hpnHyZuZsX3PvWxq6CZBh6ehPYBriuPnEWQ 1fcA== X-Gm-Message-State: APjAAAWM/12SFQY7EBt98kZ64bFTGyAcBFc3tU5v4p3ca7NuoMVYpAed X3NHegHCqdLiRLpAl28lrfcYLXjVxuRCRw== X-Received: by 2002:a63:7207:: with SMTP id n7mr1658221pgc.253.1581659292644; Thu, 13 Feb 2020 21:48:12 -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 a17sm4957657pfo.146.2020.02.13.21.48.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Feb 2020 21:48:12 -0800 (PST) From: Vijai Kumar K X-Google-Original-From: Vijai Kumar K To: isar-users@googlegroups.com Cc: Vijai Kumar K Subject: [PATCH v3 2/2] meta: cache deb srcs as part of postprocessing Date: Fri, 14 Feb 2020 11:18:01 +0530 Message-Id: <20200214054801.11870-2-Vijaikumar_Kanagarajan@mentor.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200214054801.11870-1-Vijaikumar_Kanagarajan@mentor.com> References: <20200213100820.23444-2-Vijaikumar_Kanagarajan@mentor.com> <20200214054801.11870-1-Vijaikumar_Kanagarajan@mentor.com> X-TUID: CjXVRw1r7gok 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 | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 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..971a299 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -201,6 +201,35 @@ 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 "${DEBSRCDIR}"/"${DISTRO}" + 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