Criando um pacote de origem
Minha recomendação é criar um pacote fonte. Instalar o build-essential , debhelper , dh-make . Altere para o diretório em que os arquivos que você deseja instalar são (o nome do diretório deve estar no formato $PACKAGE-$VERSION
, por exemplo, myapp-4.2-1
para sua primeira tentativa de empacotamento do Myapp V4.2) e execute dh_make --createorig
. Responda às perguntas. O Debhelper criará a infraestrutura básica necessária para construir um pacote, gerando arquivos em um subdiretório chamado debian
, ambos alguns arquivos e modelos obrigatórios para arquivos opcionais. Você pode precisar modificar alguns desses arquivos:
- Edite
debian/rules
para criar o que precisa ser construído e instalado os arquivos no lugar certo. Se você só precisa copiar alguns arquivos e não compilar, basta editar o arquivodebian/install
para especificar quais arquivos precisam ser instalados onde. - Editar
debian/copyright
para adicionar informações de licença sobre o seu pacote e informações sobre onde obter a versão mais recente (se relevante). - Editar
debian/changelog
para remover a referência a um ITP (isso só é relevante se você estiver trabalhando para o projeto Debian). Renomeiedebian/postinst.ex
paradebian/postinst
e adicione sua pós-instalação comandos lá. Se você atualizar seu pacote mais tarde, executedebchange -i
para adicionar uma entrada de changelog ou editar o arquivo no Emacs (com dpkg-dev- el instalado).
Execute dpkg-buildpackage -rfakeroot -us -uc
para criar o pacote .deb
(remova -us -uc
se desejar assinar o pacote com sua chave PGP).
Criando um pacote binário diretamente
Se você decidir criar um pacote binário diretamente sem criá-lo a partir de um pacote fonte, o que não é realmente mais fácil porque não há tantas ferramentas para facilitar o processo, você precisará de alguma familiaridade básica com o formato deb pacotes. É descrito no Manual de Políticas Debian , em particular ch. 3 (formato dos pacotes binários) , ch. 5 (arquivos de controle) , ch. 6 (scripts de instalação) e apêndice B (manipulação de pacotes binários) .
Você garante que o pacote instale os arquivos esperados /usr/share/doc/copyright
(contendo a licença do conteúdo do pacote, bem como onde encontrar a versão mais recente do pacote) e /usr/share/doc/changelog.Debian.gz
(contendo o log de alterações do pacote deb ). Você não precisa disso se só usar o pacote internamente, mas é melhor tê-los.
No Debian e derivados
Se você tiver as ferramentas do Debian disponíveis, use dpkg-deb
para construir o pacote. No diretório que contém os dados a serem instalados, adicione um diretório chamado DEBIAN
no nível superior, contendo os arquivos de controle e os scripts do mantenedor.
$ ls mypackage-42
DEBIAN etc usr var
$ dpkg-deb -b mypackage-42
O caminho mais difícil
Se você não tiver as ferramentas do Debian, construa um arquivo dos arquivos que você deseja empacotar chamado data.tar.gz
, um arquivo separado dos arquivos de controle chamado control.tar.gz
(sem subdiretórios) e um arquivo de texto chamado debian-binary
e contendo o texto 2.0
.
cd mypackage-42
tar czf ../data.tar.gz [a-z]*
cd DEBIAN
tar czf ../../control.tar.gz *
cd ../..
echo 2.0 > debian-binary
ar r mypackage-42.deb debian-binary control.tar.gz data.tar.gz
Você precisa de pelo menos um arquivo de controle com os campos Package
, Maintainer
, Priority
, Architecture
, Installed-Size
, Version
e qualquer declaração de dependência necessária.
O script a ser executado após a instalação é chamado de postinst
. Certifique-se de torná-lo executável. Vai ao lado de control
.
Convertendo um pacote binário de um formato diferente
Se você já tem um pacote binário de outra distribuição, você pode usar o estrangeiro para convertê-lo.