Patchwork package.bbclass: skip already-stripped QA test if asked for

login
register
mail settings
Submitter Khem Raj
Date Sept. 6, 2013, 8:35 a.m.
Message ID <1378456523-16123-1-git-send-email-raj.khem@gmail.com>
Download mbox | patch
Permalink /patch/57541/
State New
Headers show

Comments

Khem Raj - Sept. 6, 2013, 8:35 a.m.
Some packages like grub have already stripped binaries e.g.

ERROR: QA Issue: File '/boot/grub/kernel.img' from grub was already
stripped, this will prevent future debugging!
ERROR: QA run found fatal errors. Please consider fixing them.

We would like to have a possibility to skip it using something like

INSANE_SKIP_${PN} = "already-stripped"

This adds the logic to do so

it acts at PN level and not at package level. so something like

INSANE_SKIP_${PN}-misc = "already-stripped" wont work.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/package.bbclass | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
Chris Larson - Sept. 6, 2013, 2:14 p.m.
On Fri, Sep 6, 2013 at 1:35 AM, Khem Raj <raj.khem@gmail.com> wrote:

> Some packages like grub have already stripped binaries e.g.
>
> ERROR: QA Issue: File '/boot/grub/kernel.img' from grub was already
> stripped, this will prevent future debugging!
> ERROR: QA run found fatal errors. Please consider fixing them.
>
> We would like to have a possibility to skip it using something like
>
> INSANE_SKIP_${PN} = "already-stripped"
>
> This adds the logic to do so
>
> it acts at PN level and not at package level. so something like
>
> INSANE_SKIP_${PN}-misc = "already-stripped" wont work.
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  meta/classes/package.bbclass | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
> index 50490bc..96e649a 100644
> --- a/meta/classes/package.bbclass
> +++ b/meta/classes/package.bbclass
> @@ -811,8 +811,11 @@ python split_and_strip_files () {
>                      elf_file = isELF(file)
>                      if elf_file & 1:
>                          if elf_file & 2:
> -                            msg = "File '%s' from %s was already
> stripped, this will prevent future debugging!" % (file[len(dvar):], pn)
> -                            package_qa_handle_error("already-stripped",
> msg, d)
> +                            if 'already-stripped' in
> (d.getVar('INSANE_SKIP_' + pn, True) or "").split():
> +                                bb.note("Package %s skipping
> already-stripped QA test" % (pn))
>

This seems like it must be inside a loop over each file, yet the message
here is about the package, not the file, so I expect the task log may show
a ton of duplicate messages, eh? :)
Khem Raj - Sept. 6, 2013, 4:59 p.m.
On Sep 6, 2013, at 7:14 AM, Chris Larson <clarson@kergoth.com> wrote:

> 
> On Fri, Sep 6, 2013 at 1:35 AM, Khem Raj <raj.khem@gmail.com> wrote:
> Some packages like grub have already stripped binaries e.g.
> 
> ERROR: QA Issue: File '/boot/grub/kernel.img' from grub was already
> stripped, this will prevent future debugging!
> ERROR: QA run found fatal errors. Please consider fixing them.
> 
> We would like to have a possibility to skip it using something like
> 
> INSANE_SKIP_${PN} = "already-stripped"
> 
> This adds the logic to do so
> 
> it acts at PN level and not at package level. so something like
> 
> INSANE_SKIP_${PN}-misc = "already-stripped" wont work.
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  meta/classes/package.bbclass | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
> index 50490bc..96e649a 100644
> --- a/meta/classes/package.bbclass
> +++ b/meta/classes/package.bbclass
> @@ -811,8 +811,11 @@ python split_and_strip_files () {
>                      elf_file = isELF(file)
>                      if elf_file & 1:
>                          if elf_file & 2:
> -                            msg = "File '%s' from %s was already stripped, this will prevent future debugging!" % (file[len(dvar):], pn)
> -                            package_qa_handle_error("already-stripped", msg, d)
> +                            if 'already-stripped' in (d.getVar('INSANE_SKIP_' + pn, True) or "").split():
> +                                bb.note("Package %s skipping already-stripped QA test" % (pn))
> 
> This seems like it must be inside a loop over each file, yet the message here is about the package, not the file, so I expect the task log may show a ton of duplicate messages, eh? :)

Thanks yes. I will send a V2

> -- 
> Christopher Larson

Patch

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 50490bc..96e649a 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -811,8 +811,11 @@  python split_and_strip_files () {
                     elf_file = isELF(file)
                     if elf_file & 1:
                         if elf_file & 2:
-                            msg = "File '%s' from %s was already stripped, this will prevent future debugging!" % (file[len(dvar):], pn)
-                            package_qa_handle_error("already-stripped", msg, d)
+                            if 'already-stripped' in (d.getVar('INSANE_SKIP_' + pn, True) or "").split():
+                                bb.note("Package %s skipping already-stripped QA test" % (pn))
+                            else:
+                                msg = "File '%s' from %s was already stripped, this will prevent future debugging!" % (file[len(dvar):], pn)
+                                package_qa_handle_error("already-stripped", msg, d)
                             continue
                         # Check if it's a hard link to something else
                         if s.st_nlink > 1: