On Wednesday 04 August 2010 17:34:51 you wrote:
On Wednesday 04 August 2010 18:05:11 David Jarvie wrote:
On Mon, August 2, 2010 12:30 pm, Lubos Lunak wrote:
On Sunday 01 of August 2010, David Jarvie wrote:
There are some files which need to be installed for systems which provide KDE 4.2, but not for KDE 4.3 or later. I've tried a couple of methods in the .spec file to specify this, but the build failed each time. How can I specify this condition?
There doesn't seem to be a pre-made check for this, but you can do e.g.
%files ... ... %if %(rpm -q --qf "%{VERSION}" kdelibs4 | awk -F . '{ printf "%d%02d%02d",$1, $2,$3 }') >= 040200 ... %endif ...
This doesn't work after all. Putting it into the %files section results in a parse error in the spec file (it complains that it can't parse "%(..." ). So instead I tried
do something like this in %install section:
cat > somefile << EOF /usr/bin/binary %if %(`echo rpm -q --qf "%{VERSION}" kdelibs4 ....`) == "blahfasel" /lib/lib ... %endif EOF
and then %files -f somefile
I have not tested it in detail, but I think you get they idea how to deal with it.
Thanks. Your solution works except that for the Mandriva build to work, I had to change it to echo /lib/libfile.so >>somefile instead of "cat > somefile << EOF".
if [ %(rpm -q --qf "%{VERSION}" kdelibs4 | awk -F . '{ printf "%d%02d%02d",$1,$2,$3 }') -ge 040200 ]; then ... fi
This parses successfully, but at the end of the build each whitespace delimited token in the 'if' statement is assumed to be a file name, resulting in errors such as
File must begin with "/": $(rpm
So I'm back to square one - I can't find a syntax that enables files to be included conditionally in the %files section.
-- David Jarvie. KAlarm author and maintainer. http://www.astrojar.org.uk/kalarm -- To unsubscribe, e-mail: opensuse-kde+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kde+help@opensuse.org