From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6790334981638979584 X-Received: by 2002:a2e:6f19:: with SMTP id k25mr1332932ljc.84.1581668371623; Fri, 14 Feb 2020 00:19:31 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:6809:: with SMTP id c9ls275857lja.1.gmail; Fri, 14 Feb 2020 00:19:30 -0800 (PST) X-Google-Smtp-Source: APXvYqxWtSYYrcktWdqKMnckr7IbrZ1kBGvKCHIq+rPqzp3yW9eVcZXNnoN82SJPkiTXJll6nny6 X-Received: by 2002:a05:651c:86:: with SMTP id 6mr1357316ljq.193.1581668370842; Fri, 14 Feb 2020 00:19:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581668370; cv=none; d=google.com; s=arc-20160816; b=hJes7Ravswqz2bfRFTYrvv9nhwPe7VSZQLIhk6/P/eUA7z9F4aIdfrgsx8kGi1XuwH M3m9F68oW+GOCCkIlGQMvxBcdJYDZcIExnYUknqFq6ZP90YDY2TzcQWkaVVJkNWKRF0D sQrgPc2VaAOHiWPL4uqcPja2FCM4MgslWkmqMSJSPKR3oTaofY5en1b/8eQMj1pwQIsU HcajVMWoNUIMAlBTr3AweIT5WJxOOmeil9RRrebuccJJzssXuO+Vt55dRWixhYKeISpo hpEItmJxJ4ceTznJPbL7o5uaC0nxS9QY09zypx2jWDXzotIZqhfxA+fKVaTUPUlDlrJQ DCGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:cc:to:subject; bh=mxdpvJD9K+tijjW6SB5DixNGaBwhUl6cVppWHPGLQNQ=; b=jCBImd0bFCMfY48GYUBI7u88SdtvKWE9ua1gL+5EMjF0tEhQ5bpZ0sbCnuQ1wAsgAf re5Yd2DWczsevzQeuln5N9cBnMiydJe3kgqyTBDnMncBj8fGaqckPHwwOW52Se0/Junj 5rPK/K0wj1A+mIBOuRV7ZVqv0Kmw1tRb5T0kDcf04WwObuCCJBQY/pqhKotjKVduP9Si qBgkVKdT5X/RGXM/HtXVs9E9A9B+jlPdaFQpB+FQejXzbRyzCL0T5EZna9yfZcR38mKV Uw8korhyDNxKt1XrksPe9AkVt83T270k1VdfaAHDLddocPrfRuwymuoZ70RKyOB4+g1W 1n4A== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from thoth.sbs.de (thoth.sbs.de. [192.35.17.2]) by gmr-mx.google.com with ESMTPS id p12si242596lji.1.2020.02.14.00.19.30 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Feb 2020 00:19:30 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.2 as permitted sender) client-ip=192.35.17.2; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by thoth.sbs.de (8.15.2/8.15.2) with ESMTPS id 01E8JTR3007254 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Feb 2020 09:19:29 +0100 Received: from [139.22.120.88] ([139.22.120.88]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 01E8JOA4003636; Fri, 14 Feb 2020 09:19:25 +0100 Subject: Re: [PATCH v3 2/2] meta: cache deb srcs as part of postprocessing To: Vijai Kumar K , isar-users@googlegroups.com Cc: Vijai Kumar K References: <20200213100820.23444-2-Vijaikumar_Kanagarajan@mentor.com> <20200214054801.11870-1-Vijaikumar_Kanagarajan@mentor.com> <20200214054801.11870-2-Vijaikumar_Kanagarajan@mentor.com> From: Jan Kiszka Message-ID: <6bb30f45-fc18-f86e-487f-281bb37d589d@siemens.com> Date: Fri, 14 Feb 2020 09:19:24 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <20200214054801.11870-2-Vijaikumar_Kanagarajan@mentor.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: wuYnstIxNDOr On 14.02.20 06:48, Vijai Kumar K wrote: > 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. > So, inclusion into base-apt will come in a later patch? IOW: It's not yet clear to me if this patch alone is already useful. Thanks, Jan > 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: > -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux