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

Re: Cross compiling rpm packages



Hi,


msnitzer@lnxi.com a écrit:


Ok so you've done the hard part (actually creating the cross compiler
environment); now you just need to accept that rpm can't read your mind
and write your own custom rpmmacros to accomplish what you want:

i.e.:

%{?_with_ee: %{expand: %%define mytarget ee}}
# similarly: %{?_with_ee: %{expand: %%define mytarget mipsEEel-linux}}
...
%build
./configure --host=%{mytarget}

so you'd invoke rpmbuild with something like:
rpmbuild -ba --with ee <foo>.spec

Thanks! But now it creates a cross compiled package called <app-version>.i386.rpm
instead of <app-version>.mipsel.rpm, which is not a good thing :(


Instead I got this to work nicely:

%ifarch mipsel
./configure --prefix=/usr --host=ee
%else
./configure --prefix=/usr
%endif

And doing 'rpm -ta <app>.tar.gz --target mipsel', which is basicly what I want :)
(I have yet to check if this builds ok on the Playstation itself)


But when I tried to install the package I got this:
error: failed dependencies:
rpmlib(PayloadFilesHavePrefix) <= 4.0-1 is needed by advent-5.2.2.5-1
rpmlib(CompressedFileNames) <= 3.0.4-1 is needed by advent-5.2.2.5-1


The version of rpm on the Playstation is 3.0.4, so I don't understand the second line!
And is there a way to make the package compatible with rpm 3.0.4?
I'm using RedHat 7.3 vanilla rpm, 4.0.4.


P.S.
The --with flag does not seem to be documented in the rpmbuild man page...






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