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@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 internetowej projektu macierzystego.
- Tag: lista-znaczników
- Lista znaczników opisujących cechy pakietu. Opis i
listę obsługiwanych znaczników można
znaleźć w pakiecie debtags.
- Multi-Arch:
same|foreign|allowed|no
- This field is used to indicate how this package should behave on a
multi-arch installations. The value same means that the package is
co-installable with itself, but it must not be used to satisfy the
dependency of any package of a different architecture from itself. The
value foreign means that the package is not co-installable with
itself, but should be allowed to satisfy the dependency of a package of a
different arch from itself. The value allowed allows
reverse-dependencies to indicate in their Depends field that they accept a
package from a foreign architecture, but has no effect otherwise. The
value no is the default when the field is omitted, in which case
adding the field with an explicit no value is generally not
needed.
- 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.
- Subarchitecture: wartość
- Kernel-Version: wartość
Installer-Menu-Item: wartość Pola te
są używane przez debian-installer (instalator Debiana) i
zwykle nie są potrzebne. Plik
/usr/share/doc/debian-installer/devel/modules.txt z pakietu
debian-installer zawiera więcej informacji.
- 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.
Pola
Breaks,
Conflicts,
Replaces i
Provides
zawierają listę nazw pakietów, rozdzieloną od
siebie przecinkami (i opcjonalnie białymi znakami). W polach
Breaks i
Conflicts przecinek oznacza "LUB".
Opcjonalnie w polach
Breaks,
Conflicts i
Replaces
można podać numery wersji pakietów,
używając składni opisanej wyżej.
- Built-Using: lista-pakietów
- Pola zawierają dodatkowe pakiety źródłowe,
które zostały użyte podczas budowania danego pakietu
źródłowego. Jest to wskazówka do
oprogramowania zarządzającego archiwum, że
muszą one zostać zachowane, gdy dany pakiet jest
zarządzany. Pole musi być listą pakietów
źródłowych z wyraźnymi (=) wskazaniami wersji.
Proszę zauważyć, że oprogramowanie
zarządzające archiwum może odmówić
zaakceptowania pakietu, który deklaruje zależności
Built-Using, które nie mogą zostać
spełnione wewnątrz archiwum.
PRZYKŁAD¶
# Komentarz
Package: grep
Essential: yes
Priority: required
Section: base
Maintainer: Wichert Akkerman <wakkerma@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@debian.org>, 1999
Bartosz Feński <fenio@debian.org>, 2004-2005
Robert Luberda <robert@debian.org>, 2006-2008
Wiktor Wandachowicz <siryes@gmail.com>, 2008
Michał Kułach <michal.kulach@gmail.com>, 2012