[opensuse-buildservice] How to disable stripping of binaries

Hello, I need to tell OBS to not strip the binaries shipped with the "docker" package I maintain. The "docker" package contains two binaries: "docker" and "dockerinit", which are both written in Go. The "dockerinit" package is built first, then its checksum is given to the build process compiling the "docker" binary. Hence the checksum of the unstripped "dockerinit" binary is hard coded into the "docker" binary. At runtime the "docker" binary invokes the "dockerinit" binary, but before doing that it ensures the checksum of "dockerinit" matches with the hard coded value. OBS strips all the binaries at the end of the build, causing the above check to fail. I temporarily resolved the problem by patching docker's build system and making it strip the "dockerinit" binary right before building the "docker" binary. Unfortunately upstream told me that stripping Go programs is a bad choice. I added the following lines into the %install section: export NO_BRP_STRIP_DEBUG=true export NO_DEBUGINFO_STRIP_DEBUG=true but nothing changed. The checksum of the "dockerinit" binary is still somehow changed (I double checked that by inserting a md5sum call at the end of the build process). Is there something I'm missing? Cheers Flavio -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org

On Wednesday 2014-01-15 09:42, Flavio Castelli wrote:
Hello, I need to tell OBS to not strip the binaries shipped with the "docker" package I maintain.
Check out devel:tools/coccinelle, it has a similar weirdo requirement to retain debuginfo in all cases. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org

On 15/01/14 10:25, Jan Engelhardt wrote:
Check out devel:tools/coccinelle, it has a similar weirdo requirement to retain debuginfo in all cases.
Thanks for the tip, unfortunately it does not help. I forgot to mention the 'dockerinit' binary is installed inside of /usr/lib64 (not my choice man, that's still upstream); could this flag it as a library to OBS and hence force it to be still stripped? Cheers Flavio -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org

On Wed, Jan 15, 2014 at 10:48:11AM +0100, Flavio Castelli wrote:
On 15/01/14 10:25, Jan Engelhardt wrote:
Check out devel:tools/coccinelle, it has a similar weirdo requirement to retain debuginfo in all cases.
Thanks for the tip, unfortunately it does not help.
I forgot to mention the 'dockerinit' binary is installed inside of /usr/lib64 (not my choice man, that's still upstream); could this flag it as a library to OBS and hence force it to be still stripped?
Why is there btw a checksum comparison? Ciao, Marcus -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org

On 15/01/14 11:43, Marcus Meissner wrote:
Why is there btw a checksum comparison?
I think upstream does that to ensure the `docker` binary is uses the right version of the `dockerinit` tool. I think they want to protect themselves from situations like `docker` binary v0.7.1 ends up using `dockerinit` binary v0.6 which has been accidentally left around by a previous installation. Flavio -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (3)
-
Flavio Castelli
-
Jan Engelhardt
-
Marcus Meissner