deb-dl-dir.bbclass: grep exact package from dpkg.log file

Message ID 20220509125128.897009-1-Srinuvasan_A@mentor.com
State Superseded, archived
Headers show
Series deb-dl-dir.bbclass: grep exact package from dpkg.log file | expand

Commit Message

Srinuvasan Arjunan May 9, 2022, 4:51 a.m. UTC
From: Srinuvasan A <srinuvasan_a@mentor.com>

When we grep the package status from dpkg.log file it returns the output
with partial matches, this leads to downlaod src packages with unknown version fixed that.

Ex: we try to grep this "libgmp10:amd64 2:6.2.1+dfsg-1" package, but it
returns "libgmp10:amd64 2:6.2.1+dfsg-1+deb11u1" package, hence fixed
this grep pattern processing part.

Signed-off-by: Srinuvasan A <srinuvasan_a@mentor.com>
---
 meta/classes/deb-dl-dir.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jan Kiszka May 9, 2022, 6:14 a.m. UTC | #1
On 09.05.22 14:51, Srinuvasan A wrote:
> From: Srinuvasan A <srinuvasan_a@mentor.com>
> 
> When we grep the package status from dpkg.log file it returns the output
> with partial matches, this leads to downlaod src packages with unknown version fixed that.

That "fixed that" in the sentence above seems grammatically wrong to me.

> 
> Ex: we try to grep this "libgmp10:amd64 2:6.2.1+dfsg-1" package, but it
> returns "libgmp10:amd64 2:6.2.1+dfsg-1+deb11u1" package, hence fixed
> this grep pattern processing part.

That reads a bit clearer, but that "hence fixed this ..." is not needed
in the sentence.

> 
> Signed-off-by: Srinuvasan A <srinuvasan_a@mentor.com>
> ---
>  meta/classes/deb-dl-dir.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/classes/deb-dl-dir.bbclass b/meta/classes/deb-dl-dir.bbclass
> index eace510..4780228 100644
> --- a/meta/classes/deb-dl-dir.bbclass
> +++ b/meta/classes/deb-dl-dir.bbclass
> @@ -12,7 +12,7 @@ is_not_part_of_current_build() {
>      # Since we are parsing all the debs in DEBDIR, we can to some extend
>      # try to eliminate some debs that are not part of the current multiconfig
>      # build using the below method.
> -    local output="$( grep -hs "status installed ${package}:${arch} ${version}$" \

Hmm, there was already the attempt to match on the line end. Maybe that
closing "$" required escaping ("\$")?

> +    local output="$( grep -xhs ".* status installed ${package}:${arch} ${version}" \

But this one seems fine as well to me.

Jan

>              "${IMAGE_ROOTFS}"/var/log/dpkg.log \
>              "${BUILDCHROOT_HOST_DIR}"/var/log/dpkg.log \
>              "${BUILDCHROOT_TARGET_DIR}"/var/log/dpkg.log | head -1 )"

Patch

diff --git a/meta/classes/deb-dl-dir.bbclass b/meta/classes/deb-dl-dir.bbclass
index eace510..4780228 100644
--- a/meta/classes/deb-dl-dir.bbclass
+++ b/meta/classes/deb-dl-dir.bbclass
@@ -12,7 +12,7 @@  is_not_part_of_current_build() {
     # Since we are parsing all the debs in DEBDIR, we can to some extend
     # try to eliminate some debs that are not part of the current multiconfig
     # build using the below method.
-    local output="$( grep -hs "status installed ${package}:${arch} ${version}$" \
+    local output="$( grep -xhs ".* status installed ${package}:${arch} ${version}" \
             "${IMAGE_ROOTFS}"/var/log/dpkg.log \
             "${BUILDCHROOT_HOST_DIR}"/var/log/dpkg.log \
             "${BUILDCHROOT_TARGET_DIR}"/var/log/dpkg.log | head -1 )"