[OE-core] [PATCH] package.py: New EXTRA_STRIPFLAGS variable
Andreas Oberritter
obi at opendreambox.org
Mon Oct 24 12:16:10 UTC 2016
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 at siemens.com>
> Signed-off-by: Michael Blättler <michael.blaettler at 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)
>
More information about the Openembedded-core
mailing list