applnk i %{_applnkdir}

Adam Gorzkiewicz adgor w isn.pl
Nie, 12 Sty 2003, 02:21:33 CET


Tak sobie wziąłem ostatnio applnk.spec postanowiłem zobaczyć, co sie
stanie, gdy zamiast prefixu /usr/X11R6 dam prefix /opt.
Oczywiście nie zbudowało się. ponieważ w plikach Makefile.am są
definicje typu: Amusementsdir = $(datadir)/applnk/Amusements, pixmapsdir
= $(datadir)/pixmaps itd.
Taka konstrukcja wymaga, aby %{_applnkdir}/%{_pixmapsdir} były zalezne
od prefixu, gdy tym czasem:

$ pwd
/usr/lib/rpm
$ grep -r applnkdir *
athlon-linux/macros:%_applnkdir /usr/X11R6/share/applnk
i386-linux/macros:%_applnkdir   /usr/X11R6/share/applnk
i486-linux/macros:%_applnkdir   /usr/X11R6/share/applnk
i586-linux/macros:%_applnkdir   /usr/X11R6/share/applnk
i686-linux/macros:%_applnkdir   /usr/X11R6/share/applnk
noarch-linux/macros:%_applnkdir /usr/X11R6/share/applnk
$

Tak więc gwoli konsekwencji wypadałoby albo zmienić w makrach definicje
%{_applnkdir}/%{_pixmapsdir} na "prefix-dependend" co nie idzie w parze
z obecnymi tendencjami do uniezależniania tym dwóch katalogów, albo:

1. We wszystkich Makefile.am - s/(datadir)\/applnk/(applnkdir)/
oraz w katalogu pixmaps w Makefile.am -
s/(datadir)\/pixmaps/(pixmapsdir)/

2. W specu dać:

%{__make} install \                                                     
	DESTDIR=$RPM_BUILD_ROOT \                                    
	applnkdir=%{_applnkdir} \                             
	pixmapsdir=%{_pixmapsdir}

Takie rozwiazanie eliminuje potrzebę operowania prefixem (którego
zastosowania akurat wobec tego pakietu nie widzę) oraz mozliwość
dowolnego definiowania %{_applnkdir}/%{_pixmapsdir}

Hurt me plenty now :)

-- 
Adam Gorzkiewicz
adgor w isn.pl



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