makro dla rpmbuild

Przemyslaw Iskra sparky w pld-linux.org
Pon, 13 Paź 2008, 00:07:07 CEST


On Sun, Oct 12, 2008 at 11:17:56PM +0200, Bartłomiej Zimoń wrote:
> Przy pewnym pakiecie natrafilem na problem od pewnej wersji jego zaleznosci nalezy nalozyc late
> 
> Przydaloby mi sie makro ktore moglbym wykorzystac w warunku dla sprawdzenia czy  pakiet 
> ( z BR) jest np. = konkretnej wersji zeby nalozyc wtedy konkretna łate.
> 
> na ten czas opcja :
> if [ "`grep 1_36 /usr/include/boost/version.hpp`" != ""  ]; then echo "ok patchujemy ..."; fi
> 
> ladnie byloby zrobic patch wykorzystujacy preprocesor - tylko czy kazdy dev ma sie znac na C/CPP zeby bylo ok ?
> 
> np. proste makro 
> if [ %pkg_ver(boost-devel) = 1.36.0 ]; then
> 	echo tutaj latamy albo cokolwiek
> fi
> 
> pozwoliloby na zajecie sie czesto innymi sprawami niz programowaniem ;D

takich rzeczy się nie robi. Jeśli chcesz wspierać parę wersji to
pierwszym podejściem jest przygotowanie patcha który będzie uwzględniał
wiele wersji zależności. Twórcy bibliotek zazwyczaj dają jakiś sposób na
kondycjonalne sprawdzenie wersji.

W przypadku kiedy to jest niemożliwe robisz bconda, który wymaga nowszej
wersji i patchuje albo nie. NP:

%bcond_without newboost # build with old boost

...

%if %{with newboost}
BuildRequires:	boost-devel >= 1.36.blabla
%else
BuildRequires:	boost-devel ...
%endif

...

%{?with_newboost:%patch8 -p1}


Takie rozwiązanie zadowala ?

-- 
 ____  Sparky{PI] -- Przemyslaw _  ___  _  _  ........... LANG...Pl..Ca..Es..En
/____) ___  ___  _ _ || Iskra  |  | _ \| |  | : WWW........ppcrcd.pld-linux.org
\____\| -_)'___| ||^'||//\\// <   |  _/| |  | : JID......sparky<at>jabberes.org
(____/||   (_-_|_||  ||\\ ||   |_ |_|  |_| _| : Mail....sparky<at>pld-linux.org


Więcej informacji o liście dyskusyjnej pld-devel-pl