deb-control
Section: dpkg suite (5)
Updated: 1970-01-01
Page Index
NOME
deb-control - formato Debian de ficheiro de controle mestre de pacotes
binários
SINOPSE
DEBIAN/control
DESCRIÇÃO
Each Debian binary package contains a
control file in its
control
member, and its
deb822(5) format is a subset of the master
debian/control file in Debian source packages, see
deb-src-control(5).
This file contains a number of fields. Each field begins with a tag, such
as Package or Version (case insensitive), followed by a colon, and the
body of the field (case sensitive unless stated otherwise). Fields are
delimited only by field tags. In other words, field text may be multiple
lines in length, but the installation tools will generally join lines when
processing the body of the field (except in the case of the Description
field, see below).
CAMPOS
- Package: package-name (necessário)
-
O valor deste campo determina o nome do pacote, e é usado para gerar nomes
de ficheiros pela maioria das ferramentas de instalação.
- Package-Type: deb|udeb|type
-
Este campo define o tipo de pacote. udeb é para pacotes de tamanho
reduzido usados pelo instalador de debian. deb é o valor predefinido, é
assumido se o campo estiver ausente. Mais tipos podem ser adicionados no
futuro.
- Version: string-de-versão (obrigatório)
-
Tipicamente, isto é o número de versão do pacote original seja em que
formato o autor do programa usa. Pode também incluir um número de revisão
Debian (para pacotes não-nativos). O formato exacto e algoritmo de ordenação
estão descritos em deb-version(7).
- Maintainer: fullname-email (recomendado)
-
Deverá estar no formato ``Joe Bloggs <jbloggs@foo.com>'', e é
tipicamente a pessoa que criou o pacote, e não o autor do software que foi
empacotado.
- Description: short-description (recomendado)
-
- long-description
-
O formato da descrição do pacote é um sumário breve e curto an primeira
linha (após o campo Description). As linhas seguintes devem ser usadas
para uma descrição longa e mais detalhada. Cada linha da descrição longa tem
de ser precedida com um espaço, e as linhas em branco na descrição longa têm
de conter um único '.' a seguir ao espaço que precede.
- Section: section
-
Este é um campo geral que dá ao pacote uma categoria baseada no software que
ele instala. Algumas secções comuns são utils, net, mail, text,
x11, etc.
- Priority: priority
-
Define a importância deste pacote relativamente ao sistema como um
todo. Prioridades comuns são required, standard, optional,
extra, etc.
Os campos Section e Priority têm geralmente um conjunto definido de
valores aceites baseados na política específica da distribuição.
- Installed-Size: size
-
O tamanho total aproximado dos ficheiros instalados pelo pacote, em unidades
KiB.
- Protected: yes|no
-
Este campo normalmente não é necessário quando a resposta é yes. Ele
indica um pacote que é necessário para o arranque correcto do sistema. O
dpkg(1) ou qualquer outra ferramenta de instalação não irá permitir que
um pacote Protected seja removido (pelo menos não sem usar uma das opções
de forçar).
- Essential: yes|no
-
Este campo normalmente não é necessário quando a resposta é sim. Ele
indica um pacote que é necessário para a operação correcta do sistema. O
dpkg(1) ou qualquer outra ferramenta de instalação não irá permitir que
um pacote <Essential> seja removido (pelo menos não sem usar uma das opções
de forçar).
- Build-Essential: yes|no
-
Este campo geralmente não é necessário quando a resposta é sim, e é
injectado de modo comum pelo software do arquivo. Denota um pacote que é
requerido quando se compila outros pacotes.
- Architecture: arch|all (recomendado)
-
A arquitectura especifica para que tipo de hardware este pacote foi
compilado. Arquitecturas comuns são amd64, armel, i386, powerpc,
etc. Note que o valor all é destinada a pacotes que são independentes da
arquitectura. Alguns exemplos disto são scripts de shell e Perl, e
documentação.
- Origin: name
-
O nome da distribuição de onde este pacote originou.
- Bugs: url
-
O url do sistema de acompanhamento de bugs deste pacote. O formato
actualmente usado é tipo-bts://endereço-bts, como
debbugs://bugs.debian.org.
- Homepage: url
-
O url da página inicial do projecto do autor.
- Tag: tag-list
-
Lista de etiquetas que descrevem as qualidades do pacote. A descrição e a
lista de etiquetas suportadas pode ser encontrada no pacote debtags.
- Multi-Arch: no|same|foreign|allowed
-
Este campo é usado para indicar como este pacote deve comportar-se em
instalações de multi-arquitectura.
-
- no
-
Este valor é a predefinição quando o campo é omitido, e neste caso adicionar
o campo com um valor no explícito geralmente não é necessário.
- same
-
Este pacote é co-instalável com ele próprio, mas não pode ser usado para
satisfazer a dependência de qualquer pacote de uma arquitectura diferente de
ele próprio.
- foreign
-
Este pacote não é co-instalável com ele próprio, mas deve ser permitido
satisfazer uma dependência non-arch-qualified de um pacote de uma
arquitectura diferente dele próprio (se uma dependência tiver um
arch-qualifier explícito então o valor foreign é ignorado).
- allowed
-
Isto permite a dependências-reversas indicarem no seu campo Depends que
elas aceitam este pacote de outra arquitectura ao qualificar o nome do
pacote com :any, mas de outro modo não tem efeito.
-
- Source: source-name [(source-version)]
-
O nome do pacote fonte de onde este pacote binário veio, se for diferente do
nome do próprio pacote. Se a versão fonte diferir da versão binária, então o
source-name será seguido por um source-version em parênteses. Isto
pode acontecer por exemplo, num envio de não-maintainer apenas-binário, ou
quando se define uma versão binária diferente via «dpkg-gencontrol -v».
- Subarchitecture: value
-
- Kernel-Version: value
-
- Installer-Menu-Item: value
-
Estes campos são usados pelo instalador de debian e geralmente não são
necessários Veja /usr/share/doc/debian-installer/devel/modules.txt do pacote
debian-installer para mais detalhes acerca deles.
- Depends: package-list
-
Lista de pacotes que ao requeridos para este pacotes poder disponibilizar
uma não-trivial quantidade de funcionalidades. O software de manutenção de
pacotes não irá permitir que o pacote seja instalado se os pacotes listados
no seu campo Depends não estiverem instalados (pelo menos não sem sem
serem usadas opções de forçar). Numa instalação, os scripts postinst dos
pacotes listados nos campos Depends são corridos antes daqueles do pacote
que depende deles. Em oposto, numa remoção, o script prerm de um pacote é
corrido antes daqueles dos pacotes listados no seu campo Depends.
- Pre-Depends: package-list
-
Lista de pacotes que têm de ser instalados e configurados antes de este
poder ser instalado. Isto é usado geralmente quando este pacote requer outro
programa para correr o seu script preinst.
- Recommends: package-list
-
Lista pacotes que seriam encontrados juntamente com este em todas as
instalações menos nas forma do normal. O software de manutenção de pacotes
irá avisar o utilizador se ele instalar um pacote sem aqueles listados no
campo Recommends.
- Suggests: package-list
-
Lista pacotes que estão relacionados com este e podem talvez aumentar a sua
utilidade, mas é perfeitamente razoável instalar este pacote sem eles.
A sintaxe dos campos Depends, Pre-Depends, Recommends e Suggests
é uma lista de grupos de pacotes alternativos. Cada grupo é uma lista de
pacotes separados por símbolos de barras verticais (ou "pipe") '|'. Os
grupos são separados por vírgulas, As vírgulas devem ser lidas como ``E'', e
os pipes como ``OU'', com os pipes a vincular com mais firmeza. Cada nome de
pacote é opcionalmente seguido por um qualificador de arquitectura anexado
após dois pontos ':', opcionalmente seguido por uma especificação de
número de versão em parêntesis.
Um nome qualificador de arquitectura pode ser um nome de arquitectura Debian
real (desde dpkg 1.16.5) ou any (desde dpkg 1.16.2). Se omitido, a
predefinição é a arquitectura do pacote binário actual. Um nome de
arquitectura Debian real irá corresponder exactamente à arquitectura para o
nome do pacote. any irá corresponder a qualquer arquitectura para esse
nome de pacote. se o pacote foi marcado como Multi-Arch: allowed.
Um número de versão pode começar com um '>>', nesse caso qualquer
versão posterior irá corresponder, ie pode especificar ou omitir a revisão
de empacotamento Debian (separada por um hífen). Relacionamentos de versão
aceites são '>>' para maior que, '<<' para menor que,
'>=' para maior ou igual a, '<=' para menor ou igual a, e
'=' para igual a.
- Breaks: package-list
-
Lista os pacotes que este quebra, por exemplo ao expor bugs quando os
pacotes nomeados precisam deste. O software de manutenção de pacotes não irá
permitir que pacotes quebrados sejam configurados; geralmente a resolução é
actualizar os pacotes nomeados no campo Breaks.
- Conflicts: package-list
-
Lista os pacotes que entram em conflito com este, por exemplo por conter
ficheiros com os mesmos nomes. O software de manutenção de pacotes não irá
permitir que pacotes em conflito sejam instalados ao mesmo tempo. Dois
pacotes em conflito deverão ambos incluir uma linha Conflicts mencionando
o outro.
- Replaces: package-list
-
Lista os pacotes que este substitui. Isto é usado para permitir que este
pacote sobrescreva os ficheiros de outro pacote e é geralmente usado com o
campo Conflicts para forçar a remoção do outro pacote. caso este tenha os
mesmos ficheiros que o pacote em conflito.
A sintaxe de Breaks, Conflicts e Replaces é uma lista de nomes de
pacotes, separados por vírgulas (e opcionalmente por espaços em branco). Nos
campos Breaks e Conflicts, a vírgula deve ler-se como ``OU''. Um
qualificador opcional de arquitectura pode também ser anexado ao nome do
pacote com a mesma sintaxe de em cima, mas a predefinição é any em vez da
arquitectura de pacote binário. Pode também ser fornecida uma versão
opcional com a mesma sintaxe como em cima para os campos Breaks,
Conflicts e Replaces.
- Enhances: package-list
-
Isto é uma lista de pacotes que este melhora. É semelhante a Suggests mas
na direcção oposta.
- Provides: package-list
-
Isto é uma lista de pacotes virtuais que este fornece. Geralmente sito é
usado no caso de vários pacotes todos fornecerem o mesmo serviço. Por
exemplo, sendmail e exim podem servir como servidor de mail, assim eles
fornecem um pacote comum ("mail-transport-agent") sobre o qual outros
pacotes podem depender. Isto vai permitir ao sendmail ou ao exim servir como
opção válida para satisfazer a dependência. Isto previne que os pacotes que
dependem de um servidor de mail tenham que saber os nomes de pacotes de
todos eles, e usar '|' para separar a lista.
A sintaxe de Provides é uma lista de nomes de pacotes, separados por
vírgulas (e opcionalmente por espaços em branco). Um qualificador opcional
de arquitectura pode também ser anexado ao nome do pacote com a mesma
sintaxe de em cima. Se omitido, a predefinição é a arquitectura do pacote
binário actual. Uma versão exacta (igual a) opcional pode também ser dada
com a mesma sintaxe de em cima (honrado desde dpkg 1.17.11).
- Built-Using: package-list
-
Este campo lista pacotes fonte extra que foram usados durante a compilação
deste pacote binário. Isto é uma indicação para o software de manutenção do
arquivo que estes pacotes fonte extra têm de ser mantidos enquanto este
pacote biblioteca for mantido. Este campo tem de ser uma lista de nomes de
pacotes fonte com relacionamentos de versão estritos '='. Note que é
provável que o software de manutenção do arquivo se recuse a aceitar um
envio que declare uma relação Built-Using que não possa ser satisfeita
dentro do arquivo.
- Built-For-Profiles: profile-list (obsoleto)
-
Este campo era usado para especificar uma lista de perfis de compilação
separados por espaços com que este pacote binário foi compilado com (desde
dpkg 1.17.2 até 1.18.18). A informação antes encontrada neste campo pode
agora ser encontrada no ficheiro .buildinfo, que o suplanta.
- Auto-Built-Package: reason-list
-
Esta campo especifica uma lista de razões separadas por espaços de porquê
este pacote foi auto-gerado. OS pacotes binários marcados com este campo não
irão aparecer no ficheiro de controle fonte mestre debian/control. A
única razão usada actualmente é debug-symbols.
- Build-Ids: elf-build-id-list
-
Este campo especifica uma lista de ids de compilação de ELF separados por
espaços. Estes são identificadores únicos para objetos ELF semanticamente
idênticos, para cada um destes dentro do pacote.
O formato ou o modo de computar cada build-id não é definido pelo desenho.
EXEMPLO
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).
BUGS
O campo
Build-Ids usa um nome um pouco genérico fora do seu contexto
original dentro de um objeto
ELF, o que serve um objectivo muito específico
e formato executável.
VEJA TAMBÉM
deb822(5),
deb-src-control(5),
deb(5),
deb-version(7),
debtags(1),
dpkg(1),
dpkg-deb(1).
TRADUÇÃO
Américo Monteiro
Se encontrar algum erro na tradução deste documento, por favor comunique para
Américo Monteiro <a_monteiro@gmx.com>.