From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6790334981638979584 X-Received: by 2002:a17:902:59c1:: with SMTP id d1mr1312920plj.215.1586246361377; Tue, 07 Apr 2020 00:59:21 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:aa7:98de:: with SMTP id e30ls1531157pfm.0.gmail; Tue, 07 Apr 2020 00:59:20 -0700 (PDT) X-Google-Smtp-Source: APiQypJCJhD5moA3z+uCsFRt+XPBzXnmECy7M4GsuUpGBlVeHwCstidLa+NoArY8+Hekz9Xqlorj X-Received: by 2002:a65:68c7:: with SMTP id k7mr564430pgt.248.1586246360810; Tue, 07 Apr 2020 00:59:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586246360; cv=none; d=google.com; s=arc-20160816; b=WS2CPDzm8FVuKI3G198JmQlDfl9pnrXIDehh3IeFX6Sz9RLcZe2skoBS9oNERfrKuM TJux2MAO/zkO8dcDMm7O3lKz+bR5m9VgwgwqSYv/nRVmIr9nXtGJme4x2bvJWJNT92wK ra0uS+K/GThx8KeED1k8aQOv36Ua2DDZVdT0wXrcjHpgRIyLb3Z3LXCzCAyTxt58/v9e nr8Kr2b9uXsp2gSnHrnctglavIFocUj3rJq0qVl5nLhkwxgmrvH2tzoYsFxrClIL43xF jjMdpkTbLWMywQVyNkGjaa+usDeL9lxeEgdBFMoLTlac6GtDWQxQuFbuNd3ORedSb4e/ Ovlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=rIUTTeJcV8LXbK1UnrR9M5PVXDyhjRRFQ2rgpkLW5NA=; b=v6KF6pqDmyXc3yjVSowbcI31U9MSjjt7nZlBpsfbl3/o1m/5I9dApfiI6HOKkvgf/5 WXaBaQ1vwyUhVxwPk0dgy7LUjbADMC8qb+26Wxyu6VIAMuXNbnmJhK903GwZiVoEoidb 3Sq27sNkItVUKlYHSeWoJRQOhmlSI9hHXyd/YhtrERMykYUgF+H84T0615j5Pcoy9cIA mAq2K18AoRwEan5qlhRKHzI19B5gF2xhJhXsBX4Axk+O7ojoa8Fm25z5UkCwd2Iuw3CY vMTrTmgfxgvaYcXbgf4+dP3jlAKZA0xeisodo3PjbD0Oh+RmqzGCupqQGaF6IwRiyYl/ 0n4g== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=QQhipzgv; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2607:f8b0:4864:20::743 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-qk1-x743.google.com (mail-qk1-x743.google.com. [2607:f8b0:4864:20::743]) by gmr-mx.google.com with ESMTPS id c12si174240pgh.1.2020.04.07.00.59.20 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 Apr 2020 00:59:20 -0700 (PDT) Received-SPF: pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2607:f8b0:4864:20::743 as permitted sender) client-ip=2607:f8b0:4864:20::743; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=QQhipzgv; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2607:f8b0:4864:20::743 as permitted sender) smtp.mailfrom=vijaikumar.kanagarajan@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: by mail-qk1-x743.google.com with SMTP id 130so757571qke.4 for ; Tue, 07 Apr 2020 00:59:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=rIUTTeJcV8LXbK1UnrR9M5PVXDyhjRRFQ2rgpkLW5NA=; b=QQhipzgvaKjkEVNb08XQAxlF3dafyoDI8dhbMPGVGhWYHsx/glpS8eYpzPlvR/TgwM ITfz1Ja7KfK3niq1mfmTL+sMVMGKWHRuf+NkaPi3MHsz0YI6L5YT9eJ+69x7K0xCD/RY hAItqOlSg9qH7eF0qvcyk7d9QxSmqRwSV+ueCzDFxC34+ERHFwVFIks9JnhXdWdYjQDe ct/yF0CcSdfH8Upl0B2u4flnTzsp58AKxFWz+hqoFvDAMTpA1hM6Zik3GZsBT8IlH4A9 M35bbJ7zp0/OYVyzVwDw3l+XX9BlsbO5Q5nUuWai095gaCLkrUFVXKPJiX+9Nuesrchn mx1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rIUTTeJcV8LXbK1UnrR9M5PVXDyhjRRFQ2rgpkLW5NA=; b=hm8l9YLLfOiwEHSRhzTKuFlVZbRxQuqqM06pHsAAqkvRqdvsY7lM9ycSKmM6JLyC4x 7jffJLBkyDJOvWyzgGw5s0s9gKnwUEE8NJjANUY6We1bKjqthxmY+jDj/MZ02NaBPjT+ Tw2ndHXQ39jeNreA4tD+hcbP1KD8/D9A16XcEHCn71e1eZZecNv4lKf/qQluvsFs9DEt cXQbnKU8uiRvZjznMXf8SZBoca4SZdLw0PsRzMYV6riABm5K+9FipP9VjzY0rEDO6xJs m+stD+ZVNlwFAOLL0wgLwOsppz3kwqFSaPIlRPc3WYvwMomNGMAXJTorHyv08yrI1c5x qz3A== X-Gm-Message-State: AGi0Puau7aYF8qo8Rf6EzyiwfwI6gDn0+bLbKnuvpZQbYQaCBEz9POeK qtNLCt8dQL+tqdrB6rVUzDXZYFMGXndoNIhLKGj7WYMW X-Received: by 2002:a37:9b8a:: with SMTP id d132mr961372qke.286.1586246359800; Tue, 07 Apr 2020 00:59:19 -0700 (PDT) MIME-Version: 1.0 References: <20200403130551.2158-1-Vijaikumar_Kanagarajan@mentor.com> <20200403130551.2158-2-Vijaikumar_Kanagarajan@mentor.com> <95fef6ff-5434-fd54-3b7f-9a656a725297@siemens.com> In-Reply-To: From: vijai kumar Date: Tue, 7 Apr 2020 13:29:08 +0530 Message-ID: Subject: Re: [PATCH v4 2/2] meta: cache deb srcs as part of postprocessing To: Jan Kiszka Cc: isar-users , Vijai Kumar K Content-Type: text/plain; charset="UTF-8" X-TUID: pSLm6tr71Qbj On Tue, Apr 7, 2020 at 12:34 PM Jan Kiszka wrote: > > On 07.04.20 08:58, vijai kumar wrote: > > On Tue, Apr 7, 2020 at 12:14 PM Jan Kiszka wrote: > >> > >> On 03.04.20 15:05, 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. > >>> > >>> Signed-off-by: Vijai Kumar K > >>> --- > >>> meta/classes/image.bbclass | 2 +- > >>> meta/classes/rootfs.bbclass | 46 +++++++++++++++++++++++++++++++++++++ > >>> 2 files changed, 47 insertions(+), 1 deletion(-) > >>> > >>> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass > >>> index 9fa58f8..1c7a527 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 8bb003d..7bfdfc9 100644 > >>> --- a/meta/classes/rootfs.bbclass > >>> +++ b/meta/classes/rootfs.bbclass > >>> @@ -201,6 +201,52 @@ 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 > >>> + > >>> + mkdir -p "${DEBSRCDIR}"/"${DISTRO}" > >>> + > >>> + sudo -s <<'EOSUDO' > >>> + 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 src="$( dpkg-deb --show --showformat '${Source}' "${package}" )" > >>> + # If the binary package version and source package version are different, then the > >>> + # source package version will be present inside "()" of the Source field. > >>> + local version="$( echo "$src" | cut -sd "(" -f2 | cut -sd ")" -f1 )" > >>> + if [ -z ${version} ]; then > >>> + version="$( dpkg-deb --show --showformat '${Version}' "${package}" )" > >>> + fi > >>> + # Now strip any version information that might be available. > >>> + src="$( echo "$src" | cut -d' ' -f1 )" > >>> + # If there is no source field, then the source package has the same name as the > >>> + # binary package. > >>> + if [ -z "${src}" ];then > >>> + src="$( dpkg-deb --show --showformat '${Package}' "${package}" )" > >>> + 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 --download-only --only-source source "$2"="$3"' \ > >>> + download-src "${DISTRO}" "${src}" "${version}" > >> > >> How did you construct this apt-get command? I'm trying to match it > >> against the man page of apt-get but there is no reference to "download-src". > > > > download-src is just the script name. > > The shell script call is in below format to pass the args. > > > > sh -c ''