On Wed, 2007-06-06 at 09:36 +0100, Andy Green wrote:
Andy Green wrote:
>> But .. could it be that you are not having redhat-rpm-config installed?
>> At least on FC6 it screws up --target, produces invalid *debuginfo*.rpm
>> for foreign object formats and many other details.
>
> No it's installed, but --target works... well it works as far as setting
> %{_target_cpu} goes which is pretty much all I ask of it. Note you seem
> to need to give an arch-dist-os triplet like this
Just to be a bit clearer, I have a single ~/.rpmmacros with everything
that cares about the arch using %{_target_cpu} ...
%packager Andy Green <andy(a)warmcat.com>
%vendor Octotux (
http://octotux.org)
%_signature gpg
%_gpg_name Octotux Packaging
%_gpg_path ~/.gnupg
%_topdir /projects/octotux/packages/rpm
%crosspath /opt/%{_target_cpu}/bin
%develfilesystem %{_topdir}/devel-filesystem-%{_target_cpu}
%__strip %crosspath/%{_target_cpu}-linux-strip
%__objdump %crosspath/%{_target_cpu}-linux-objdump
%__patch /usr/bin/patch -f
OK, this explains one half: You are switching
off many of the implicitly
presets.
%_use_internal_dependency_generator 0
And this is the other
half: You are disabling a lot of the hard-coded magic.
I guess the debuginfo problem you saw was because you did not
override
%__strip,
Not quite. It's because a toolchain package contains both host and
target binaries and the redhat-* scripts don't distinguish between host
and target binaries, but blindly run "one strip" on all binaries they
find. This doesn't building rpms to abort, as long as target and host
binary formats are sufficiently compatible. Instead it causes
*debuginfo*.rpms to contain both host and target sources.
If host and target object format differ, rpmbuild bombs out.
AFAIS, you are building pure target binary packages.
defnitely debuginfo rpms are generated and work fine on arm
with gdb.
Not unlikely, but you should check your buildlogs for error/warning
messages and your resulting rpms for correctness.
Ralf