Sekcja %prep
W sekcji %prep źródła programu są przygotowywane do kompilacji. Cała sekcja, podobnie jak %build, %install, pre(un) i %post(un) jest po prostu skryptem shell'a. Żeby uprościć najczęściej wykonywane operacje w tej sekcji istnieją dwa makra:
%setup
Makro %setup służy do rozpakowania źródeł i przejścia do ich głównego katalogu. Może mieć następujące parametry:
-a N
Parametr -a jest potrzebny kiedy musimy rozpakować większą ilość plików ze źródłami. Jako wartość tego parametru podajemy numer źródła.
-c
???
-n nazwa
Po rozpakowaniu źródeł RPM usiłuje przejść do katalogu %{name}-%{version} zakładając, że tak się nazywa główny katalog rozpakowanych źródeł. Niektóre programy jednak po rozpakowaniu mają inną nazwę i należy o tym poinformować RPMa podając jako wartość parametru -n faktyczną nazwę tego katalogu. Na przykład główny katalog ze źródłami programu fetchpop nazywa się %{name}%{version} (bez myślnika), dlatego w pliku fetchpop.spec możemy znaleźć:
%setup -n %{name}%{version}
-q
Parametr -q (od ang. quiet) powoduje, że w trakcie rozpakowywania źródeł przy budowaniu pakietu na ekranie nie pojawiają się komunikaty o rozpakowywanych plikach. Pakiety dla PLD powinny stosować parametr -q.
%patchN -pX
Makro %patch ułatwia nakładanie łatek na źródła. Ma następujące parametry:
N
Przy wywołaniu makra należy zamiast N wstaiwć numer łatki (lub nic, jeżeli pierwszej łatce NIE nadaliśmy numeru 0). Jeżeli w preambule zadeklarowaliśmy istnienie dwóch łatek:
Patch0: %{name}-make.patch
Patch1: %{name}-secure.patch
to, aby je zaaplikować należy w sekcji %prep wpisać następujące liniji:
%patch0 -p1
%patch1 -p1
-pX
Parametr -p spełnia taką samą rolę jak w standardowym poleceniu UNIXowym patch - 'man patch' :->.

Dalej | Cofnij | Do góry | Spis treści