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
- Pole jest używane do określenia sposobu, w jaki
pakiet będzie się zachowywał w instalacjach
wieloarchitekturowych. Wartość same (ta sama) oznacza,
że można zainstalować wiele kopii pakietu, ale nie
mogą one posłużyć do spełnienia
zależności innej architektury, niż architektura pakietu.
Wartość foreign (obca) określa, że nie
można zainstalować kilku kopii pakietu, ale pakiet może
spełnić zależności pakietu z innej architektury,
niż jego własna. Wartość allowed (dozwolona)
oznacza, że odwrócone zależności mogą
wskazać w swoim polu Depends (wymaga), czy akceptują pakiet z
obcej architektury, a jeśli nie, to nie ma ona znaczenia.
- 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