From: vijai kumar <vijaikumar.kanagarajan@gmail.com>
To: isar-users <isar-users@googlegroups.com>
Subject: Re: [PATCH v5 05/13] deb-dl-dir: Download files only belonging to the current image
Date: Wed, 22 Apr 2020 03:20:48 -0700 (PDT) [thread overview]
Message-ID: <9e5b92cb-127a-4ccb-903f-403b41401482@googlegroups.com> (raw)
In-Reply-To: <20200422092516.37031839@md1za8fc.ad001.siemens.net>
[-- Attachment #1.1: Type: text/plain, Size: 3398 bytes --]
On Wednesday, April 22, 2020 at 12:55:19 PM UTC+5:30, Henning Schild wrote:
>
> On Fri, 17 Apr 2020 15:00:32 +0530
> Vijai Kumar K <vijaikumar...@gmail.com <javascript:>> wrote:
>
> > Avoid downloading deb-srcs for debs cached from other image builds.
> > One way to ensure that is to see if the package is present in the dpkg
> > status file.
>
> Not sure i understand what it is doing/avoiding. Maybe you can go into
> more detail with an example.
>
We are looping over the entries in DEBDIR/deb, It would contain packages
from
all former builds. To make sure we take only those are used in the image,
we check
the status file. While handling this I had a thought why not to use the
status file as the
source directly, but P7 in this series changed that. Not all is available
in status file,
only those which are installed. There might be chances that something is
removed later
on like the localepurge in meta/classes/image-locales-extension.bbclass.
Those does not
get captured in the status file or the manifest and hence the dpkg log
check in P7.
> > Signed-off-by: Vijai Kumar K <Vijaikumar_...@mentor.com <javascript:>>
> > ---
> > meta/classes/deb-dl-dir.bbclass | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/meta/classes/deb-dl-dir.bbclass
> > b/meta/classes/deb-dl-dir.bbclass index 9399741..b3f4842 100644
> > --- a/meta/classes/deb-dl-dir.bbclass
> > +++ b/meta/classes/deb-dl-dir.bbclass
> > @@ -5,6 +5,15 @@
> >
> > inherit repository
> >
> > +check_in_rootfs() {
>
> I am confused by the logic again. And maybe the name. We already have
> repo_contains_package which suggests a "boolean" answer, should this
> one be "rootfs_contains_package"? Or maybe "has_package_installed"
>
I have to admit, on seeing this back, it is a bit confusing, I will fix
these naming.
>
> > + local package="$( dpkg-deb --show --showformat '${Package}'
> > "${1}" )"
> > + local output="$( grep -hs "^Package: ${package}" \
> > + "${IMAGE_ROOTFS}"/var/lib/dpkg/status \
> > + "${BUILDCHROOT_HOST_DIR}"/var/lib/dpkg/status \
> > + "${BUILDCHROOT_TARGET_DIR}"/var/lib/dpkg/status )"
>
> I think you should chroot in and ask "dpkg -i", doing this kind of
> guessing on the outside is error-prone.
>
> > + [ -z "${output}" ] && return 1 || return 0
>
> Again confused, in shell boolean "0" means true and anything else means
> false.
>
Sorry. Confusing indeed. I will use the below. Thanks.
>
> return [ -n "${output}" ]
>
> > +}
> > +
> > debsrc_download() {
> > export rootfs="$1"
> > export rootfs_distro="$2"
> > @@ -18,6 +27,7 @@ debsrc_download() {
> > mount --bind "${DEBSRCDIR}" "${rootfs}/deb-src"
> > EOSUDO
> > find "${rootfs}/var/cache/apt/archives/" -maxdepth 1 -type f
> > -iname '*\.deb' | while read package; do
> > + check_in_rootfs "${package}" || continue
>
> This reads like you skip the download when you found package to _not_
> be "in_rootfs".
>
Sorry that it is confusing. I will fix these to be more clear in the next
series.
>
> Henning
>
> > 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.
>
>
[-- Attachment #1.2: Type: text/html, Size: 5311 bytes --]
next prev parent reply other threads:[~2020-04-22 10:20 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-17 9:30 [PATCH v5 00/13] Deb-src caching implementation Vijai Kumar K
2020-04-17 9:30 ` [PATCH v5 01/13] rootfs: Make rootfs finalize a separate task Vijai Kumar K
2020-04-17 9:30 ` [PATCH v5 02/13] deb-dl-dir: Cache host distro debs separately Vijai Kumar K
2020-04-22 6:52 ` Henning Schild
2020-04-17 9:30 ` [PATCH v5 03/13] meta: cache deb srcs as part of postprocessing Vijai Kumar K
2020-04-22 7:06 ` Henning Schild
2020-04-22 9:57 ` vijai kumar
2020-04-29 6:19 ` Henning Schild
2020-05-04 8:42 ` vijai kumar
2020-05-08 5:44 ` vijai kumar
2020-06-11 11:44 ` vijai kumar
2020-09-03 11:43 ` vijaikumar....@gmail.com
2020-09-03 18:58 ` Henning Schild
2020-09-04 5:12 ` vijaikumar....@gmail.com
2020-04-22 7:28 ` Henning Schild
2020-04-22 10:35 ` vijai kumar
2020-04-17 9:30 ` [PATCH v5 04/13] deb-dl-dir: Make debsrc_download faster Vijai Kumar K
2020-04-22 7:15 ` Henning Schild
2020-04-22 10:11 ` vijai kumar
2020-04-29 7:05 ` Henning Schild
2020-04-17 9:30 ` [PATCH v5 05/13] deb-dl-dir: Download files only belonging to the current image Vijai Kumar K
2020-04-22 7:25 ` Henning Schild
2020-04-22 10:20 ` vijai kumar [this message]
2020-04-17 9:30 ` [PATCH v5 06/13] deb-dl-dir: Factor out the mounting part Vijai Kumar K
2020-04-17 9:30 ` [PATCH v5 07/13] deb-dl-dir: Fix skipping of removed files Vijai Kumar K
2020-04-17 9:30 ` [PATCH v5 08/13] repository: Add a sanity test to check missing sources Vijai Kumar K
2020-04-17 9:30 ` [PATCH v5 09/13] base-apt: Introduce BASE_REPO_FEATURES Vijai Kumar K
2020-04-17 9:30 ` [PATCH v5 10/13] repository: Fix failures due to missing section Vijai Kumar K
2020-04-17 9:30 ` [PATCH v5 11/13] scripts/ci_build.sh: Enable deb-src caching Vijai Kumar K
2020-04-17 9:30 ` [PATCH v5 12/13] rootfs: Fix possible overwrite of existing resolv.conf Vijai Kumar K
2020-04-17 9:30 ` [PATCH v5 13/13] rootfs: Handle failures when postprocess is rerun Vijai Kumar K
2020-04-17 14:21 ` [PATCH v5 00/13] Deb-src caching implementation vijai kumar
2020-04-22 7:41 ` Henning Schild
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9e5b92cb-127a-4ccb-903f-403b41401482@googlegroups.com \
--to=vijaikumar.kanagarajan@gmail.com \
--cc=isar-users@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox