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)
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.
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.
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.
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):
Crie os arquivos e pastas para recriar a seguinte estrutura:
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/
Altere todas as permissões da pasta para raiz:
chown root:root -R /path/to/ProgramName-Version
Altere as permissões do script:
chmod 0755 /path/to/the/script
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.
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.
"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.
Respostas:
Este é um bom HOWTO para criar um
.deb
arquivo básico . É adequado para criar.deb
arquivos 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
.deb
conformidade 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)
fonte
Com quais partes você está tendo problemas? Embora complicado, o guia parecia bastante claro quando eu o seguia.
Resumo rápido:
.tar.gz
dh_make
fonte
debuild
falhará com " erro debsign: gpg ocorreu! Interrompendo .... ".Você pode até usar
dpkg-deb
para criar pacotes simples.Aqui está um bom tutorial do Ubuntuforums .
fonte
A maneira mais fácil de empacotar algo é usar o checkinstall .
fonte
Originalmente publicado no StackOverFlow , este guia é para software pré-compilado ou interpretado:
A maneira correta de construir um pacote deb está usando,
dpkg-buildpackage
mas às vezes é um pouco complicado. Em vez disso, você pode usardpkg -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):Crie os arquivos e pastas para recriar a seguinte estrutura:
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 abaixoProgramName-Version/usr/bin/your_script
, mas se tiver vários arquivos, deverá colocá-los abaixoProgramName-Version/usr/share/ProgramName/all your files
e colocar apenas um arquivo abaixo/usr/bin/
que chamará seus scripts de/usr/share/ProgramName/
Altere todas as permissões da pasta para raiz:
Altere as permissões do script:
Finalmente, você pode executar:
dpkg -b /path/to/the/ProgramName-Version
e 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
control
arquivo Você só precisa copiar / colar em um arquivo vazio chamado "control" e colocá-lo na pasta DEBIAN.fonte
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.
fonte