[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ próximo ]
O intuito deste documento é descrever a construção de um pacote Debian para o usuário comum do Debian,aspirante desenvolvedor. Ele utiliza uma linguagem bastante informal e é bem ilustrado com exemplos funcionais. Existe um velho ditado Romano,Longum iter est per preaecepta, breve et efficax per exempla! (É um longo caminho o das regras, mas curto e eficiente se exemplificado!).
Um dos fatores que fazem do Debian uma distribuição diferenciada é o seu sistema de pacotes. Mesmo já existindo uma vasta quantidade de programas já distribuídos no formato Debian, as vezes é necessário instalar programas que não o são. Você deve estar imaginando como criar seus próprios pacotes, e talvez pense que seja uma tarefa um tanto difícil. Bem, se você é realmente um iniciante no Linux, é complicado, mas se você já tivesse alguma experiência você nem estaria lendo esta documentação agora; :-) Você precisa saber algo sobre programação em Unix, mas certamente não precisa ser um especialista.
Uma coisa é certa, entretanto: para criar e manter pacotes Debian você precisa de bastante tempo. Não cometa erros. Para o nosso sistema funcionar corretamente, os mantenedores precisam ser tanto tecnicamente competentes como aplicados.
Este documento irá explicar passo a passo (mesmo os que a princípio alguns pareçam irrelevantes) e irá ajudá-lo a criar um primeiro pacote e ganhar alguma experiência na criação das próximas distribuições desse mesmo pacote ou até mesmo de outros pacotes.
Novas versões deste documento deverão estar sempre disponíveis em http://www.debian.org/doc/maint-guide/
e no pacote `maint-guide-pt-br
'.
Antes de mais nada, você deve estar certo de que tem instalado alguns pacotes adicionais necessários para o desenvolvimento. Note que a lista não contém nenhum pacote marcado 'essential' ou 'required' - supomos que você já tenha tais pacotes instalados.
Esta revisão deste documento foi atualizada para os pacotes no Debian ('sid')
Os seguintes pacotes vêm na instalação padrão do Debian, e você provavelmente já os tem. Mesmo assim, é prudente conferir com`dpkg -s <package>`.
dpkg-dev
- este pacote contém ferramentas necessárias para
desempacotar, construir e enviar arquivos-fonte do Debian. (veja
dpkg-source(1)
)
file
- este prático programa pode determinar o tipo de um arquivo.
(veja file(1)
)
gcc
- O Compilador C GNU, necessário se o seu programa, como
muitos outros, foi escrito em C. (veja gcc(1)
) Este pacote irá
também instalar vários outros pacotes, como binutils
que contém
programas utilizados para compilar e montar arquivos-objeto.(veja `info
binutils` no pacote binutils-doc
) e cpp
, o
preprocessador C. (veja cpp(1)
)
g++
- O Compilador C++ GNU, necessário se o seu programa foi
escrito em C++. (veja g++(1)
)
libc6-dev
- as bibliotecas para o C e arquivos de header que o gcc
precisa criar arquivos-objeto.(veja `info libc` no pacote
glibc-doc
)
make
- normalmente a criação de um programa é feito em várias
etapas, e assim sendo é melhor utilizar este programa para automatizar as
etapas criando um Makefile ao invés de executar os comandos sempre. (veja
`info make`)
patch
- esta ferramenta é muito útil para analisar um arquivo
contendo uma lista de diferenças (criado pelo programa diff) e aplica-la no
arquivo original, produzindo uma versão "patcheada". (veja
patch(1)
)
perl
- Perl é uma das linguagens de scripting interpretadas mais
utilizadas nos sistemas baseados em Unix atuais. (veja perl(1)
)
Você provavelmente vai querer instalar os seguintes pacotes também:
autoconf
e automake
- muitos dos programas atuais
utilizam scripts de configuração e Makefiles preprocessados com ajuda desses
programas. (veja `info autoconf`, `info automake`)
dh-make
and debhelper
- dh-make é necessário para
criar o esqueleto do nosso pacote-exemplo e vai utilizar algumas ferramentas do
debhelper para criação de pacotes. Elas não são essenciais para a criação de
pacotes, mas são fortemente recomendadas para novos
mantenedores. Elas tornam todo o processo muito mais fácil de começar e
controlar, no final das contas. (veja dh_make(1)
,
debhelper(1)
, /usr/share/doc/debhelper/README)
devscripts
- este pacote contém alguns scripts muito úteis que
podem ser de interesse para os mantenedores, mas não são necessários para a
criação de pacotes. (veja /usr/share/doc/devscripts/README.gz)
fakeroot
- este utilitário permite que você emule ser usuário
root, o que é necessário em algumas etapas do processo de criação. (veja
fakeroot(1)
)
gnupg
- uma ferramenta que permite que você assine
digitalmente seus pacotes. Isto é especialmente importante se você quer
distribui-los para outras pessoas, e você certamente o fará quando seu trabalho
for incluído na distribuição Debian. (veja gpg(1)
)
g77
- o compilador Fortran 77 GNU, necessário se o seu programa
foi escrito em Fortran. (see g77(1)
)
gpc
- o compilador Pascal GNU, necessário se o seu programa foi
escrito em Pascal. É bom notar também o pacote fp-compiler
, o
compilador Pascal gratuito, que exerce a mesma função igualmente bem. (veja
gpc(1)
, ppc386(1)
)
xutils
- alguns programas, normalmente os criados para o X11,
também utilizam esses programas para gerar Makefiles de conjuntos de funções de
macro.(see imake(1)
, xmkmf(1)
)
lintian
- este é o testador de pacotes Debian. Ele permite que
você saiba se cometeu alguns dos erros mais comuns, depois de criado o pacote,
e explica os erros encontrados. (veja lintian(1)
,
/usr/share/doc/lintian/lintian.html/index.html)
O seguinte pacote é uma documentação muito importante que você deve ler junto com este documento:
debian-policy
- o Policy contém explanações sobre a estrutura e
conteúdo do repositório Debian, muitas questões sobre arquitetura de sistemas
operacionais, a hierarquia padrão do sistema de arquivos (que diz onde cada
arquivo e diretório deve ficar) etc. Para você, o importante é que ele
descreve os pre-requisitos que cada pacote deve satisfazer para ser incluído na
distribuição. (veja /usr/share/doc/debian-policy/policy.html/index.html)
developers-reference
- para todos os casos não especificamente
sobre detalhes técnicos de empacotamento, como a estrutura do repositório, como
renomear, tornar órfão adotar pacotes, como fazer NMUs, como tratar de bugs,
onde e quando enviar os pacotes, etc. (veja
/usr/share/doc/developers-reference/developers-reference.html/index.html)
As curtas descrições que são dadas acima servem apenas para apresentar-lhe o que cada pacote faz. Antes de continuar, por favor leia cuidadosamente a documentação de cada programa, pelomenos na parte do uso padrão. Pode parecer muita coisa para estudar, mas isto lhe será de enorme valia no final.
Nota: debmake
é um pacote que contém alguns programas similares ao
dh-make, mas seu uso específico não é tratado neste documento,
porque ele é obsoleto. Para mais informações, veja the Debmake manual
Existem dois tipos de pacotes que você pode criar: fonte e binários. Um pacote fonte contém um código-fonte que você possa compilar. Um pacote binário contém somente o programa pronto. Não confunda os termos, como o código-fonte do programa e o pacote-fonte do programa. Por favor leia outros manuais se você precisa de maiores informações sobre essa terminologia.
No Debian, o termo 'mantenedor' é usado para uma pessoa que cria pacotes, 'autor' para a pessoa que criou o programa e 'mantenedor superior' para a pessoa que atualmente mantém o programa fora do Debian. Normalmente o autor e o mantenedor superior são a mesma pessoa - e as vezes até mesmo o mantenedor é a mesma pessoa. Se você criou um programa, e que colocá-lo no Debian, sinta-se a vontade para enviar-nos sua aplicação para se tornar um mantenedor.
Depois que você criou o seu pacote (ou enquanto o faz), você terá de se tornar um mantenedor oficial da Debian para que seu programa seja colocado na proxima distribuição do Debian (se o seu programa é realmente útil, por que não?). Esse processo é tratado na Referência do Desenvolvedor (Developer's Reference). Por favor leia-o.
[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ próximo ]
Guia do Novo Mantenedor Debian
version 1.2, 6 April 2002.joy-mg@debian.org
mahdi@dcc.ufmg.br
priscilla@minaslivre.org