All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] package.py: New EXTRA_STRIPFLAGS variable
@ 2016-10-24  8:23 Michael Blättler
  2016-10-24 12:16 ` Andreas Oberritter
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Blättler @ 2016-10-24  8:23 UTC (permalink / raw)
  To: openembedded-core

The EXTRA_STRIPFLAGS variable can be used to pass additional parameters to the strip command.
This can be used to remove additional sections or to keep symbols.
The removal of additional sections can be useful to enable reproducible builds.
Sections which contain paths or md5sums of the debug binaries (like gnu_debuglink)
can be eliminated with this flag.

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Michael Blättler <michael.blaettler@siemens.com>
---
 meta/classes/package.bbclass |  5 +++--
 meta/lib/oe/package.py       | 13 ++++++-------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index a6f0a7a..cd93643 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1055,14 +1055,15 @@ python split_and_strip_files () {
     # Now lets go back over things and strip them
     #
     if (d.getVar('INHIBIT_PACKAGE_STRIP', True) != '1'):
+        extraflags = d.getVar('EXTRA_STRIP', False)
         strip = d.getVar("STRIP", True)
         sfiles = []
         for file in elffiles:
             elf_file = int(elffiles[file])
             #bb.note("Strip %s" % file)
-            sfiles.append((file, elf_file, strip))
+            sfiles.append((file, elf_file, strip, extraflags))
         for f in kernmods:
-            sfiles.append((f, 16, strip))
+            sfiles.append((f, 16, strip, extraflags))
 
         oe.utils.multiprocess_exec(sfiles, oe.package.runstrip)
 
diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py
index 02642f2..757044a 100644
--- a/meta/lib/oe/package.py
+++ b/meta/lib/oe/package.py
@@ -10,7 +10,7 @@ def runstrip(arg):
 
     import stat, subprocess
 
-    (file, elftype, strip) = arg
+    (file, elftype, strip, extraflags) = arg
 
     newmode = None
     if not os.access(file, os.W_OK) or os.access(file, os.R_OK):
@@ -18,17 +18,16 @@ def runstrip(arg):
         newmode = origmode | stat.S_IWRITE | stat.S_IREAD
         os.chmod(file, newmode)
 
-    extraflags = ""
-
-    # kernel module    
+    extraflags += ' '
+    # kernel module
     if elftype & 16:
-        extraflags = "--strip-debug --remove-section=.comment --remove-section=.note --preserve-dates"
+        extraflags += "--strip-debug --remove-section=.comment --remove-section=.note --preserve-dates"
     # .so and shared library
     elif ".so" in file and elftype & 8:
-        extraflags = "--remove-section=.comment --remove-section=.note --strip-unneeded"
+        extraflags += "--remove-section=.comment --remove-section=.note --strip-unneeded"
     # shared or executable:
     elif elftype & 8 or elftype & 4:
-        extraflags = "--remove-section=.comment --remove-section=.note"
+        extraflags += "--remove-section=.comment --remove-section=.note"
 
     stripcmd = "'%s' %s '%s'" % (strip, extraflags, file)
     bb.debug(1, "runstrip: %s" % stripcmd)
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] package.py: New EXTRA_STRIPFLAGS variable
  2016-10-24  8:23 [PATCH] package.py: New EXTRA_STRIPFLAGS variable Michael Blättler
@ 2016-10-24 12:16 ` Andreas Oberritter
  0 siblings, 0 replies; 2+ messages in thread
From: Andreas Oberritter @ 2016-10-24 12:16 UTC (permalink / raw)
  To: Michael Blättler; +Cc: openembedded-core

Hi Michael,

On 24.10.2016 10:23, Michael Blättler wrote:
> The EXTRA_STRIPFLAGS variable can be used to pass additional parameters to the strip command.
      ^
both description and subject don't match the actual variable name.

Best regards,
Andreas

> This can be used to remove additional sections or to keep symbols.
> The removal of additional sections can be useful to enable reproducible builds.
> Sections which contain paths or md5sums of the debug binaries (like gnu_debuglink)
> can be eliminated with this flag.
> 
> Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
> Signed-off-by: Michael Blättler <michael.blaettler@siemens.com>
> ---
>  meta/classes/package.bbclass |  5 +++--
>  meta/lib/oe/package.py       | 13 ++++++-------
>  2 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
> index a6f0a7a..cd93643 100644
> --- a/meta/classes/package.bbclass
> +++ b/meta/classes/package.bbclass
> @@ -1055,14 +1055,15 @@ python split_and_strip_files () {
>      # Now lets go back over things and strip them
>      #
>      if (d.getVar('INHIBIT_PACKAGE_STRIP', True) != '1'):
> +        extraflags = d.getVar('EXTRA_STRIP', False)
>          strip = d.getVar("STRIP", True)
>          sfiles = []
>          for file in elffiles:
>              elf_file = int(elffiles[file])
>              #bb.note("Strip %s" % file)
> -            sfiles.append((file, elf_file, strip))
> +            sfiles.append((file, elf_file, strip, extraflags))
>          for f in kernmods:
> -            sfiles.append((f, 16, strip))
> +            sfiles.append((f, 16, strip, extraflags))
>  
>          oe.utils.multiprocess_exec(sfiles, oe.package.runstrip)
>  
> diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py
> index 02642f2..757044a 100644
> --- a/meta/lib/oe/package.py
> +++ b/meta/lib/oe/package.py
> @@ -10,7 +10,7 @@ def runstrip(arg):
>  
>      import stat, subprocess
>  
> -    (file, elftype, strip) = arg
> +    (file, elftype, strip, extraflags) = arg
>  
>      newmode = None
>      if not os.access(file, os.W_OK) or os.access(file, os.R_OK):
> @@ -18,17 +18,16 @@ def runstrip(arg):
>          newmode = origmode | stat.S_IWRITE | stat.S_IREAD
>          os.chmod(file, newmode)
>  
> -    extraflags = ""
> -
> -    # kernel module    
> +    extraflags += ' '
> +    # kernel module
>      if elftype & 16:
> -        extraflags = "--strip-debug --remove-section=.comment --remove-section=.note --preserve-dates"
> +        extraflags += "--strip-debug --remove-section=.comment --remove-section=.note --preserve-dates"
>      # .so and shared library
>      elif ".so" in file and elftype & 8:
> -        extraflags = "--remove-section=.comment --remove-section=.note --strip-unneeded"
> +        extraflags += "--remove-section=.comment --remove-section=.note --strip-unneeded"
>      # shared or executable:
>      elif elftype & 8 or elftype & 4:
> -        extraflags = "--remove-section=.comment --remove-section=.note"
> +        extraflags += "--remove-section=.comment --remove-section=.note"
>  
>      stripcmd = "'%s' %s '%s'" % (strip, extraflags, file)
>      bb.debug(1, "runstrip: %s" % stripcmd)
> 



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-10-24 12:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-24  8:23 [PATCH] package.py: New EXTRA_STRIPFLAGS variable Michael Blättler
2016-10-24 12:16 ` Andreas Oberritter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.