Originalmente publicado em StackOverFlow , este guia destina-se a software pré-compilado ou interpretado:
O jeito certo de criar um pacote deb está usando dpkg-buildpackage
, mas à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 com dpkg -b <folder>
com qualquer binário ou com qualquer tipo de script que seja executado automaticamente sem precisar de compilação manual (Python, Bash, Pearl, Ruby):
-
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. Além disso, você 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 em ProgramName-Version/usr/bin/your_script
, mas se tiver vários arquivos, coloque-os em ProgramName-Version/usr/share/ProgramName/all your files
e coloque apenas um arquivo em /usr/bin/
chame seus scripts em /usr/share/ProgramName/
-
Altere todas as permissões de 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-Version
e seu pacote deb será criado! (Você também pode adicionar os scripts post / pre inst e tudo o que quiser, funciona como um pacote Debian normal)
Aqui está um exemplo do arquivo control
. 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.