Preambuła
Preambuła służy do określenia podstawowych właściwości pakietu jak nazwa,
wersja czy programy wymagane do instalacji.
W preambule mogą (gwiazdka oznacza, że muszą) występować
następujące pola:
- Summary *
- Pole Summary zawiera krótki opis programu po angielsku. W kolejnych
liniach można ten opis tłumaczyć na inne języki używając jako argumentu
dwuliterowego skrótu języka. Pakiety dla PLD powinny mieć conajmniej
dwa pola Summary:
Summary: Short description
Summary(pl): Krótki opis
- Name *
- Pole Name określa nazwę programu.
- Version *
- Pole Version określa wersję programu.
- Release *
- Pole Release określa rewizję pakietu. Jeżeli wprowadzisz
jakieś istotne zmiany do SPECa powinieneś zwiększyć wartość tego pola o
1. Pierwsza wersja pakietu powinna mieć rewizję 1 (nie 0).
- Group *
- Pole Group określa do jakiej grupy należy program. Pole to jest
wykorzystywane główie przez graficzne front-end'y do RPMa (np. glint)
do układania pakietów w kategoriach tematycznych. Podobnie jak pole
Summary tak i Group może mieć jako argument dwuliterowy skrót
języka. Pakiety dla PLD powinny mieć dwa pola Group:
Group: Some/Group
Group(pl): Jakaś/Grupa
Listę istniejących grup możesz znaleźć w dokumentacji RPMa.
- Copyright *
- Pole Copyright określa na jakiej licencji jest dostępny dany
program. Najczęściej jest to:
Copyright: GPL
- Vendor
- ???
Pakiety dla PLD powinny mieć następującą wartość pola Vendor:
Vendor: PLD
Domyślną wartość tego pola można ustalić w pliku
rpmrc.
- Packager
- Pole Packager zawiera dane osoby, która stworzyła pakiet. Jeżeli
pakujesz program powinieneś umieścić tu swoje imię, nazwisko i adres e-mail.
Pakiety dla PLD powinny mieć następującą wartość pola Packager:
Packager: ???
Domyślną wartość tego pola można ustalić w pliku
rpmrc.
- Distribution
- Pole Distribution określa dystrybucję, do której należy dany
pakiet. Pakiety dla PLD powinny mieć następującą wartość pola
Distribution:
Distribution: PLD
Domyślną wartość tego pola można ustalić w pliku
rpmrc.
- Serial
- ???
- URL
- Pole URL powinno zawierać adres strony domowej programu.
- Source *
- Pole Source określa nazwę pliku ze źródłami programu. W miarę
możliwości należy nazwę pliku podać wraz z pełną ścieżką do głównego serwera
FTP programu. Pól Source może być kilka:
Source0: ftp://ftp.serwer.com/pub/katalog/%{name}-%{version}.tar.gz
Source1: %{name}.wmconfig
Pakiety dla PLD powinny używać Source jeżeli źródło jest jedno
i Source0 jeżeli źródeł jest więcej, ale jest to uwarunkowane
wyłącznie względami estetycznymi.
- Patch
- Pole Patch określa nazwę pliku z poprawkami do programu. Często
po ściągnięciu źródeł okazuje się, że nie chcą się one skompilować, albo
wymagają uprawnień root'a do instalacji. W takich wypadkach powinniśmy
poprawić źródła programu i stworzyć odpowiednią łatkę (patch). Kiedy już
to zrobimy musimy podać nazwę tej łatki w polu Patch:
Patch: %{name}-make.patch
Pakiety dla PLD powinny używać Patch jeżeli jest jedna łatka
i Patch0 jeżeli jest ich więcej, ale jest to uwarunkowane wyłącznie
względami estetycznymi.
- Icon
- Pole Icon określa nazwę pliku z ikoną programu. Pole to jest
wykorzystywane głównie przez front-end'y do RPMa (np. glint) do
umieszczania ikonek obok nazw programów.
- BuildPrereq (rpm >= 2.90)
- W polu BuildPrereq należy wymienić pakiety, które są niezbędne do
poprawnej kompilacji pakietu. Zazwyczaj są to pakiety zawierające biblioteki
lub pliki nagłówkowe (*-devel). Np. w vim.spec możemy zobaczyć:
BuildPrereq: ncurses-static
BuildPrereq: lesstif-devel
BuildPrereq: gtk+-devel
BuildPrereq: glib-devel
BuildPrereq: gpm-devel
- Prereq
- Pole Prereq ma znaczenie przy instalacji większej ilości
pakietów jednocześnie. Pakiety zawierające coś w tym polu są przesuwane na
początek kolejki i instalowane na początku.
- Requires
- Pole Requires zawiera nazwy pakietów, które są wymagane do
instalacji danego pakietu. Nie trzeba tu umieszczać nazw podstawowych
bibliotek jak np. glibc, gdyż to RPM zrobi automatycznie (wykonując
polecenie 'ldd' dla każdego pliku binarnego w pakiecie). W polu tym
można też określić w jakiej wersji pakiet ten jest wymagany. Na przykład
pakiet util-linux wymaga pakietu pam w wersji 0.66 lub wyższej:
Requires: pam >= 0.66
Używać można następującycj znaków arytmetycznych dla określenia wymaganej
wersji: =, >, <, >=, <=.
W PLD począwszy od rpm-2.5.6-5 zmieniony jest nieco skrypt find-requires,
którym RPM automatycznie wyszukuje zależności, co powoduje,
że wpisów do pola Requires należy dokonywać wyłącznie w sytuacjach,
gdy wymagana jest konkretna wersja pakietu.
- Provides
- Pole Provides określa jakie usługi udostępnia pakiet. Na
przykład pakiety sendmail i zmailer udostępniają demona smtp:
Provides: smtpdaemon
Dzięki temu niezależnie od tego, który z nich jest zainstalowany to pakiety
wymagające demona smtp (np. mutt) będą mogły być instalowane.
- Autoreqprov
- Pole Autoreqprov pozwala zablokować opcję automatycznego
wyszukiwania wymagań (Requires) i udostępnianych przez pakiet usług (Provides):
Autoreqprov: no
- BuildArch
- Pole BuildArch pozwala określić dla jakiej architektury pakiet
ma być robiony. Najczęściej używa się go, żeby zaznaczyć, że dany pakiet
jest niezależny od platformy (np. dokumentacja):
BuildArch: noarch
- BuildRoot
- Pole BuildRoot pozwala określić katalog roboczy przy budowaniu
pakietu. Dzięki temu prawie wszystkie pakiety można budować z konta
zwykłego użytkownika. Pakiety dla PLD powinny mieć następującą
wartość pola BuildRoot:
BuildRoot: /tmp/buildroot-%{name}-%{version}
- ExclusiveArch
- Pole ExclusiveArch pozwala określić na jakich architekturach
pakiet może być budowany.
- ExclusiveOS
- Pole ExclusiveOS pozwala określić na jakich systemach
operacyjnych pakiet może być budowany (RPM istnieje także dla innych
systemów niż Linux).
- ExcludeArch
- Pole ExcludeArch pozwala określić na jakich architekturach
pakiet NIE może być budowany.
- ExcludeOS
- Pole ExcludeOS pozwala określić na jakich systemach operacyjnych
pakiet NIE może być budowany.
- %description
Makro %description jest specyficzną częścią preambuły. Służy do
umieszczenia dłuższego opisu pakietu. Jak każde makro rozpoczyna się od
znaku procenta ('%'). W odróżnieniu od pozostałych części preambuły
%description może zajmować więcej niż jedną linię. Parametrem tego
makra może być -l, a wartością tego parametru -- dwuliterowy skrót
języka. Pakiety dla PLD powinny mieć conajmniej dwa makra
%description:
%description
Longer package description.
%description -l pl
Dłuższy opis pakietu.
Dalej |
Cofnij |
Do góry |
Spis treści