Re: Bug#265620: diverts dh_strip with version that is not up-to-date, and is in violation of my copyright
-----BEGIN PGP SIGNED MESSAGE-----
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.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
-----END PGP SIGNATURE-----