Mailinglist Archive: opensuse-kde (258 mails)

< Previous Next >
Re: [opensuse-kde] kde-obs-generator: how to install files conditionally on the KDE version
  • From: David Jarvie <lists@xxxxxxxxxxxxxxx>
  • Date: Wed, 4 Aug 2010 19:53:04 +0100
  • Message-id: <201008041953.16903.lists@xxxxxxxxxxxxxxx>
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@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-kde+help@xxxxxxxxxxxx

< Previous Next >