Skip to contentSkip to conversation

New: Add an option to put all compiled executables that show up on target/ in staging/ as well

Buildroot bugzilla at busybox.net 1 participant 3 messages Oct 8, 2017 – Apr 13, 2020

lore
Share & tools
lore
#0 lore raw

https://bugs.busybox.net/show_bug.cgi?id=10386

Bug ID: 10386
Summary: Add an option to put all compiled executables that
show up on target/ in staging/ as well
Product: buildroot
Version: 2017.08
Hardware: All
OS: Linux
Status: NEW
Severity: enhancement
Priority: P5
Component: Other
Assignee: unassigned at buildroot.uclibc.org
Reporter: ciro.santilli at gmail.com
CC: buildroot at uclibc.org
Target Milestone: ---

Why this would be cool: you can then easily find the non-stripped executables to debug them with gdbserver, as they are in the same relative path as in the target.

Without that, you need to do a find inside build/

This is already done for shared libraries, where it is required for compilation, and that is already great as it allows me to set sysroot ${buildroot_out_dir}/staging

This is an example of the type of setup I'm using:
https://github.com/cirosantilli/linux-kernel-module-cheat/tree/b89ba9b799480e4eb1975f0a704409efb7d667d1#gdbserver

Maybe we could hardlink them or something to reduce disk usage if that is a concern.

I know that this is already doable on a per package basis, possiby by modifying the .mk of packages, e.g. as pciutils has for lspci:

        define PCIUTILS_INSTALL_STAGING_CMDS
            $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) $(PCIUTILS_MAKE_OPTS) \
                PREFIX=$(STAGING_DIR)/usr SBINDIR=$(STAGING_DIR)/usr/bin \
                install install-lib install-pcilib
        endef
Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.
#1 lore raw

[Buildroot] [Bug 10386] Add an option to put all compiled executables that show up on target/ in staging/ as well

https://bugs.busybox.net/show_bug.cgi?id=10386

Carlos Santos <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEW                         |ASSIGNED
           Assignee|unassigned at buildroot.uclibc |unixmania at gmail.com
                   |.org                        |

--- Comment #1 from Carlos Santos <[email protected]> ---
This bug has been dormant for a long time. It look like a feature request rather
than a bug but anyway it sounds valid. The proposed solution, however is hard to
implement.

Since Buildroot 2018.05 the root filesystem image is generated from a copy of TARGER_DIR, so we can move the strpping from target-finalize to the fakeroot script. This way we strip binaries only in the intermediary copy.

I will submit a patch with this change for review.

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.
#2 lore raw

[Buildroot] [Bug 10386] Add an option to put all compiled executables that show up on target/ in staging/ as well

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=10386

Carlos Santos <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

         Resolution|---                         |WONTFIX
             Status|ASSIGNED                    |RESOLVED

--- Comment #2 from Carlos Santos <[email protected]> --- As discussed in patchwork[1]

The idea would be to ensure that all packages install in staging/, always. Then, identify packages that have different commands for target/ and staging/ and make them identical. Finally, remove the target install commands, and genreate it as a copy of staging at the beginning of the target-finalize step.

https://patchwork.ozlabs.org/project/buildroot/patch/20191001013654.22298-2-unixmania at gmail.com/

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.