NAZWA
deb−control − format głównego pliku pakietu Debiana
SKŁADNIA
control
OPIS
Każdy pakiet Debiana zawiera główny plik "control", składający się z pewnej liczby pól lub linii komentarza, czyli linii zaczynających się znakiem "#". Każde pole zaczyna się od identyfikatora, takiego jak Package lub Version (wielkość liter nie ma znaczenia), po którym następują dwukropek oraz wartość pola. Pola są rozdzielane od siebie identyfikatorami pól. Innymi słowy, tekst pola może się składać z wielu linii, jednakże narzędzia instalacyjne połączą te linie podczas przetwarzania wartości pola (z wyjątkiem pola Description, patrz niżej).
POLA WYMAGANE
Package: <nazwa pakietu>
Wartość tego pola określa nazwę pakietu i przez większość narzędzi instalacyjnych jest używana do generowania nazw plików.
Version: <oznaczenie wersji>
Zazwyczaj jest to oryginalna wersja pakietu w takiej postaci, jakiej używa autor pakietu. Może także zwierać wersję zmian pakietu Debiana (dla pakietów nienatywnych). Dokładny format i algorytm sortowania są opisane w deb−version(5).
Maintainer: <pełna−nazwa e−mail>
Powinna być w formacie "Jan Nowak <jnowak [AT] foo.com>" i zazwyczaj oznacza osobę, która utworzyła pakiet (a nie osobę, która jest autorem programu).
Description: <krótki opis>
<długi opis>
Format opisu pakietu jest następujący: pierwsza
linia (zaraz po polu "Description") zawiera
krótkie podsumowanie. Kolejne linie powinny
zawierać dłuższy, bardziej
szczegółowy opis. Każda linia długiego
opisu musi być poprzedzona znakiem spacji, a linie,
które mają być puste, powinny zawierać
pojedynczą kropkę (".") poprzedzoną
znakiem spacji.
POLA NIEWYMAGANE
Section: <sekcja>
Jest to ogólne pole zawierające kategorię pakietu bazowaną na oprogramowaniu, które zawiera. Niektóre częściej występujące sekcje to: "utils", "net", "mail", "text", "x11" itp.
Priority: <priorytet>
Ustawia ważność pakietu w stosunku do całego systemu. Najczęściej używane priorytety to: "required" (wymagany), "standard" (standardowy) , "optional" (opcjonalny), "extra" (dodatkowy) itp.
W Debianie pola
Section i Pririty mają ściśle
zdefiniowany zbiór akceptowalnych wartości
opisany w Zasadach polityki Debiana. Listę tych
wartości można znaleźć w najnowszej
wersji pakietu debian−policy.
Essential: <yes|no>
To pole jest użyteczne tylko, gdy jego wartością jest "yes". Oznacza ono, że pakiet jest niezbędny do poprawnego działania systemu. Ani dpkg, ani żadne inne narzędzie instalacyjne nie pozwolą usunąć pakietu oznaczonego jako Essential (chyba, że użyje się specjalnej opcji wymuszającej usunięcie takiego pakietu).
Architecture: <architektura|all>
Architektura określa, dla jakiego typu maszyn pakiet został skompilowany. Zwyczajowe architektury to "i386", "m68k", "sparc", "alpha", "powerpc" itp. Uwaga: opcja all oznacza, że pakiet jest niezależny od architektury − na przykład zawiera tylko skrypty powłoki lub Perla albo dokumentację.
Origin: <nazwa>
Nazwa dystrybucji, z której pochodzi pakiet.
Bugs: <url>
URL systemu zgłaszania błędów dla tego pakietu. Obecnie używanym formatem jest is <typ_bts>://<adres_bts>, na przykład: debbugs://bugs.debian.org.
Homepage: <url>
URL do strony domowej projektu.
Tag: <lista znaczników>
Lista znaczników opisujących cechy pakietu. Opis i listę obsługiwanych znaczników można znaleźć w pakiecie debtags.
Source: <nazwa źródła>
Nazwa pakietu źródłowego, na podstawie którego został utworzony dany pakiet binarny, jeżeli jest różna od nazwy tego pakietu binarnego.
Depends: <lista pakietów>
Lista pakietów potrzebnych temu pakietowi, aby mógł dostarczyć znaczącą część swojej funkcjonalności. Narzędzia do zarządzania pakietami nie pozwolą na zainstalowanie pakietu (o ile nie użyje się opcji typu −−force), zanim nie zostaną zainstalowane wszystkie pakiety wymienione w polu Depends. Podczas instalacji skrypty poinstalacyjne pakietów wymienionych w polu Depends: są uruchamiane przed skryptami pakietów, które od nich zależą. Podczas usuwania, skrypty przedusuwające pakietu są uruchamiane przed skryptami pakietów wymienionych w polu Depends:.
Pre−Depends: <lista pakietów>
Lista pakietów, które muszą być zainstalowane oraz skonfigurowane zanim ten pakiet będzie mógł być zainstalowany. Zazwyczaj jest używane w przypadku gdy pakiet wymaga innego pakietu do uruchomienia swoich skryptów preinstalacyjnych.
Recommends: <lista pakietów>
Lista pakietów, które powinny się znaleźć razem we wszystkich instalacjach poza tymi bardzo niestandardowymi. Narzędzia do zarządzania pakietami ostrzegą użytkownika, podczas instalacji pakietu bez instalowania pakietów wymienionych w polu Recommends.
Suggests: <lista pakietów>
Lista pakietów powiązanych z tym pakietem, które mogą zwiększyć jego użyteczność, ale bez których pakiet może się obejść.
Wartością pól Depends, Pre−Depends, Recommends i Suggests jest lista grup alternatywnych pakietów. Każda grupa jest listą pakietów oddzielonych symbolami pionowej kreski ("|"). Grupy oddzielone są od siebie przecinkami. Przecinki mają znaczenie "I" (koniunkcja), a kreski − "LUB" (alternatywa), przy czym priorytet koniunkcji jest wyższy. Po każdej nawie pakietu może opcjonalnie występować numer wersji podany w nawiasach.
Numer wersji
może zaczynać się od ">>", co
oznacza, że każda późniejsza wersja
pakietu będzie odpowiednia; można także
podawać lub pomijać wersję zmian Debiana (po
znaku myślnika). Akceptowalne relacje są
następujące: ">>" −
większy niż, "<<" − mniejszy
niż, ">=" − większy lub
równy, "<=" − mniejszy lub
równy oraz "=" − równy.
Breaks: <lista pakietów>
Lista pakietów psutych przez dany pakiet, na przykład przez ujawnianie się błędów, kiedy dany pakiet zależy od tego. Narzędzia do zarządzania pakietami nie pozwolą na skonfigurowanie takich zepsutych pakietów; rozwiązaniem tego problemu jest aktualizacja pakietu wymienionego w polu Breaks.
Conflicts: <lista pakietów>
Lista pakietów, które są w konflikcie z danym pakietem, na przykład zawierają plik o tej samej nazwie, Narzędzia do zarządzania pakietami nie pozwolą na zainstalowanie pakietów będących w konflikcie w tym samym czasie. Każdy z pakietów będących w konflikcie powinien zawierać pole Conflicts wskazujące na drugi pakiet.
Replaces: <lista pakietów>
Lista pakietów, które są zastępowane przez dany pakiet. Pozwala to na to, aby pakiet mógł nadpisać pliki znajdujące się w innym pakiecie i zazwyczaj jest używane równocześnie z polem Conflicts, żeby wymusić usunięcie innego pakietu, jeżeli zawiera on pliki o takich samych nazwach.
Provides: <lista pakietów>
Jest to lista pakietów wirtualnych dostarczanych przez ten pakiet. Zazwyczaj jest to używane w przypadku, gdy kilka pakietów dostarcza tej samej usługi. Na przykład sendmail i exim są serwerami poczty, dlatego dostarczają wspólnego pakietu ("mail−transport−agent"), od którego inne pakiety mogą zależeć. Pozwala to zarówno sendmailowi, jak i eximowi spełnić tę zależność. Ponadto w ten sposób pakiety, które zależą od serwera poczty, nie muszą znać nazw wszystkich pakietów dostarczających tej usługi ani używać "|" do rozdzielenia listy takich pakietów.
The syntax of Breaks, Conflicts, Replaces and Provides is a list of package names, separated by commas (and optional whitespace). In the Breaks and Conflicts fields, the comma should be read as ’OR’. An optional version can also be given with the same syntax as above for the Breaks, Conflicts and Replaces fields.
PRZYKŁAD
# Komentarz
Package: grep
Essential: yes
Priority: required
Section: base
Maintainer: Wichert Akkerman <wakkerma [AT] debian.org>
Architecture: sparc
Version: 2.4−1
Pre−Depends: libc6 (>= 2.0.105)
Provides: rgrep
Conflicts: rgrep
Description: GNU grep, egrep and fgrep.
The GNU family of grep utilities may be the "fastest
grep in the west".
GNU grep is based on a fast lazy−state deterministic
matcher (about
twice as fast as stock Unix egrep) hybridized with a
Boyer−Moore−Gosper
search for a fixed string that eliminates impossible text
from being
considered by the full regexp matcher without necessarily
having to
look at every character. The result is typically many times
faster
than Unix grep or egrep. (Regular expressions containing
backreferencing
will run more slowly, however).
ZOBACZ TAKŻE
deb(5), deb−version(5), debtags(1), dpkg(1), dpkg−deb(1).
TŁUMACZE
Piotr
Roszatycki <dexter [AT] debian.org>, 1999
Bartosz Feński <fenio [AT] debian.org>, 2004-2005
Robert Luberda <robert [AT] debian.org>, 2006-2008
Wiktor Wandachowicz <siryes [AT] gmail.com>, 2008