[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#265620: diverts dh_strip with version that is not up-to-date, and is in violation of my copyright

Hash: SHA1


I'm the person who committed the diversion to dpkg-cros CVS, and I'm really 
sorry of what has happened.

The problem was:
- - many packages use 'dh_strip', that is hardcoded to call 'strip';
- - on many systems, 'strip' binary that is in path by default used to 
corrupt non-native binaries (AFAIK this is fixed in recent binutils, but 
still strip program can't strip binaries for architectures it doesn't 
- - situation that is (was?) there for ages is that toolchain/debhelper 
maintainers ask embedded developers to use binutils-multiarch, and 
embedded developers don't like this idea for different reasons.

So my idea was to implement some wrapper that will force dh_strip to use 
correct strip binary, and to divert dh_strip with this wrapper. At that 
time, I wrote a posting to -devel asking about diversion, as policy says. 
I have not found in policy any instructions about CCing to anybody; 
probably I could guess I should, but I didn't. A good lesson for me ...

Anyway, there was not much interest in my posting on -devel, so I thought 
people don't care. And it looked naturally - after all, dpkg-cross is a 
tool for embedded developers; most people don't need it. So I decided that 
it's ok to divert.

However, I have not implemented the wrapper fast enough (we all work on 
Debian when we have time to, don't we?), and Raphael came with his 
solution. I didn't like it (mostly because copying a script from other 
package sooner or later causes 'out-of-sync' problems), but I thought it's 
better that nothing, so I committed it.

Anyway, the current solution is far from being perfect from technical point 
of view. For example, dh_strip is not the only way package build scripts 
use to call strip (strip may be called manually, or via 'install -s', or 
in some other way). So we should ensure that 'strip' in path will always 
handle the binaries it is called for. I propose solution (in the situation 
that many people don't like binutils-multiarch) to write a script that 
will detect correct strip program to run and then run it (probably using 
different strip programs for different args), call this script 'strip' and 
ensure that it is in PATH before /usr/bin. I'm going to implement this as 
soon as I have time to, and remove the diversion in question. To avoid 
other diversions, I'll put the script somewhere 
under /usr/share/dpkg-cross/, and make dpkg-buildpackage wrapper to add 
the script location to the beginning of PATH.

I hope this solution will satisfy everybody envolved.

Version: GnuPG v1.2.4 (GNU/Linux)


Reply to: