Hallo, Am Mon, 13 Oct 2014, Daniel Spannbauer schrieb:
ich muss beim Kernel-Bau die KErnel-Version ermitteln und je nach Version etwas mit IF und ELSE im Spec rumspringen.
Finde gerade irgendwie den Ansatz nicht... Versuch habe ich es mit: %define kernel_vers %(uname -r |gawk -F"-" '{ print $1 }')
Dann mit
if %{%{kernel_vers} >= 3.8.0 kjklsdfjkl kasdfjlk endif
Aber rpm mosert mir wegen "bad %if condition" rum.
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'). BTW1: ich mag awk :) 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). HTH, -dnh --
You say our final product doesn't have bugs worth tracking? No. Your final products are in general known for their bugginess. This could be a marketing decision to assure your jobs. ;-)) -- > Stephan Kulow and Eberhard Mönkeberg in opensuse-factory -- 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