Qual é o Guia de Empacotamento Debian mais simples?


150

Eu fui ao wiki do Ubuntu, mas fiquei confuso, havia muitas maneiras. Por favor, me conte um guia fácil para empacotar o Debian.


3
Deseja criar pacotes para seu próprio uso, em um computador específico ou para outros usarem?
— andol

1
Qual idioma é o software que você gostaria de empacotar?
— Umang

4
Eu tenho o mesmo problema. A maioria dos tutoriais e guias começa com "get the upstream tarball". A partir deste ponto, estamos perdidos. Temos uma coisa simples que queremos implantar, não há tarball upstream, não há código fonte. é apenas um arquivo de guerra, alguns scripts e alguns arquivos jar. O que é a bola tar a montante sobre todos, e alguém viu um guia não usar um, que é abrangente (por exemplo, lida com as questões de utilizadores)
— John pouco

2
Eu vou para o que eu postei sobre StackOVerflow.

Se você deseja criar "pacotes virtuais" (agrupar dependências juntos), vale a pena dar uma olhada no equivs-build
— Rolf

Respostas:


103

Este é um bom HOWTO para criar um .debarquivo básico . É adequado para criar .debarquivos para uso pessoal, mas não é rigoroso o suficiente se você quiser que o pacote seja incluído no Debian / Ubuntu - para isso, leia o Guia do Novo Mantenedor da Debian e / ou o Guia de Empacotamento do Ubuntu (que eu acredito que você ' já tentei).

Uma boa ferramenta para verificar a .debconformidade do seu arquivo é lintian(instalável nos repositórios).

Havia duas sessões aqui nas salas de chat Ask Ubuntu.

Noções básicas de empacotamento no Ubuntu (empacotamento: parte 1)

Empacotamento Ubuntu para PPAs da barra de ativação (Empacotamento: Parte 2)


Isso compila bem o que é necessário para começar com o empacotamento, mas no COMO FAZER, perco informações para incluir o ícone do aplicativo no arquivo deb (e não encontrei nada sobre isso em nenhum outro lugar). Alguma dica de como fazer isso?
— precisa saber é

14

Com quais partes você está tendo problemas? Embora complicado, o guia parecia bastante claro quando eu o seguia.

Resumo rápido:

  • Extrair fonte .tar.gz
  • Corre dh_make
  • Editar arquivos debian
  • Execute debuild

3
O que me confunde é: esse processo é o mesmo, independentemente do idioma de origem ou da estrutura de diretórios?
— Seth

9
O ponto crucial é que não temos um .tar.gz. queremos empacotar um aplicativo que escrevemos. Nenhum guia parece cobrir isso, todos eles começam com um "tarball a montante" que não temos.
— John

@JohnLittle esta resposta pode ser útil: askubuntu.com/a/27731/5
— Nathan Osman

1
E as embalagens repetidas a longo prazo? Eu tenho que sempre fazer um processo de embalagem tão longo e complicado?
— Kravemir

Se o usuário não tiver uma chave GPG , debuildfalhará com " erro debsign: gpg ocorreu! Interrompendo .... ".
— AGC


5

A maneira mais fácil de empacotar algo é usar o checkinstall .


4
checkinstall fornece uma maneira rápida de compilar o pacote binário debin (.deb) a partir de um método de instalação de origem. No entanto, ele não fornece um pacote debian adequado (construído a partir de um pacote fonte debian).
— João Pinto

OH cara .. eu tive que usar isso ANTES de compilar .. isso é como horas de compilação.
— Piotr Kula

5

Originalmente publicado no StackOverFlow , este guia é para software pré-compilado ou interpretado:

A maneira correta de construir um pacote deb está usando, dpkg-buildpackagemas às vezes é um pouco complicado. Em vez disso, você pode usar dpkg -b <folder>e ele criará seu pacote Debian.

Estes são os princípios básicos para criar um pacote Debian dpkg -b <folder>com qualquer binário ou qualquer tipo de script que seja executado automaticamente sem a necessidade de compilação manual (Python, Bash, Pearl, Ruby):

  1. Crie os arquivos e pastas para recriar a seguinte estrutura:

    ProgramName-Version/
    ProgramName-Version/DEBIAN
    ProgramName-Version/DEBIAN/control
    ProgramName-Version/usr/
    ProgramName-Version/usr/bin/
    ProgramName-Version/usr/bin/your_script
    

    Os scripts colocados em /usr/bin/são chamados diretamente do terminal, observe que eu não adicionei uma extensão ao script. Você também pode notar que a estrutura do pacote deb será a estrutura do programa, uma vez instalado. Portanto, se você seguir essa lógica se o seu programa tiver um único arquivo, poderá colocá-lo diretamente abaixo ProgramName-Version/usr/bin/your_script, mas se tiver vários arquivos, deverá colocá-los abaixo ProgramName-Version/usr/share/ProgramName/all your filese colocar apenas um arquivo abaixo /usr/bin/que chamará seus scripts de/usr/share/ProgramName/

  2. Altere todas as permissões da pasta para raiz:

     chown root:root -R /path/to/ProgramName-Version  
    
  3. Altere as permissões do script:

     chmod 0755 /path/to/the/script
    
  4. Finalmente, você pode executar: dpkg -b /path/to/the/ProgramName-Versione seu pacote deb será criado! (Você também pode adicionar os scripts post / pre inst e tudo o que quiser, ele funciona como um pacote Debian normal)

Aqui está um exemplo do controlarquivo Você só precisa copiar / colar em um arquivo vazio chamado "control" e colocá-lo na pasta DEBIAN.

Package: ProgramName
Version: VERSION
Architecture: all
Maintainer: YOUR NAME <EMAIL>
Depends: python2.7, etc , etc,
Installed-Size: in_kb
Homepage: http://foo.com
Description: Here you can put a one line description.This is the short Description.
 Here you put the long description, indented by 1 space.

3

Não, o guia de embalagem mais simples e claro do mundo é

Empacotando aplicativos Java para Ubuntu e outros Debian

Alguns dias atrás, para meu primeiro aplicativo, criei o pacote DEB seguindo este tutorial. Muito claro e meu aplicativo foi empacotado com sucesso. Sim, pelo menos é mais simples para mim.

Você pode compará-lo com o Debian Packaging Guide.


3
"Simples" não significa "completo". Existem muitas políticas que um tutorial básico de empacotamento .deb não abordará para diferentes tipos de programas e, portanto, empacotar não é tão fácil quanto apenas um "tutorial simples".
— Thomas Ward

definitivamente simples. Isso começou e eu pude criar meu primeiro pacote debian em questão de minutos. Ainda há muitos detalhes para lidar (mensagens ruins de qualidade de pacote do lintian), mas um excelente ponto de partida.
— Atmelino
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.