Solche Fragen gehoeren eher nach -packaging ...
%define kernel_vers %(uname -r |gawk -F"-" '{ print $1 }')
Soweit, so richtig ... ABER: bei
%if ..\n %endif
kann RPM offenbar keine Versionsvergleiche wie bei Require/Provides etc. Deswegen ist wohl auch %{suse_version} z.B. 1310 und nicht 13.1.
Abhilfe (Variable mit Absicht umbenamst):
==== %define kern_ver %(uname -r | gawk -F"-" '{ split($1, a, "."); for(v in a) { printf("%03i", a[v]); }; }') [..]
%if 0%{?kern_ver} >= 003008000 echo HURRA %else echo BONK %endif ====
(könnte man auch 2-stellig aufziehen, also '%02i' und '>= 030800').
Danke, ist schon mal ein Ansatz. Haste da mal ein rpmbuild -E '0%{?kern_ver} xxx.spec laufen lassen? mit ?kern_vers kriege ich doch nur den Returncode, oder? also "0"... Bei mir ists jedenfalls so, rpmbuild retuniert mir da ne "0".
BTW1: ich mag awk :)
Bei uns werden ganze Mail-Configs damit gestrickt oder der LDAP gefüttert :)
BTW2: auf die Schnelle seh ich grad nix in /etc/rpm/* oder /usr/lib/rpm/* was zu dem Problem passen würde, ich lege dir also einen "Enhancement-Bug" dazu nahe (daß ein Makro zur Kernel-Version analog zu "%{suse_version}" etc. definiert wird).
Ich brauchs einmal, andere scheinen keine Probleme mit sowas zu haben. Glaub für eine Person wäre ein Enhancement-Request etwas viel... Danke Gruß Daniel -- Daniel Spannbauer Systemadministration marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4-6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org