1. Primeiramente, crie uma pasta que será a sua "área de trabalho". Isto é necessário, pois haverá uma hora em que você terá que compactar todo o conteúdo da pasta.
2. Crie uma sub-pasta chamada "install" (sem as aspas)
3. Nesta pasta, crie um arquivo chamado "slack-desc" (sem as aspas), que deve conter um texto com o seguinte formato:
Este é um modelo que é usado na maioria dos pacotes, você não precisa usá-lo, na verdade você pode colocar qualquer coisa, mas deve seguir três regras:
- Cada linha não pode ter mais de 80 caracteres de largura;
- Não pode ter mais de 11 linhas;
- Deve estar no formato UTF-8.
4. Caso seu programa precise executar instruções externas para funcionar corretamente, como criar links ou setar permissões, você pode criar um shell script chamado "doinst.sh" dentro da pasta "install", que pode conter os comandos que você quiser, podendo até usar o dialog para executar algumas configurações, já que o script é executado após todos os arquivos serem copiados para os seus respectivos lugares.
5. Caso o seu programa dependa de outros pacotes, você pode colocar um arquivo com o nome "slack-required" no diretório "install" que contenha algo como:
<nome do pacote de que depende> >= <versão>
Onde este >= diz que a versão do <pacote> deve ser maior ou igual a <versão>. Pode ser também < ou >. Apesar de não fazer tanta diferença,
já que o instalador não verifica isso.
6. ATENÇÃO: ESTA PARTE É OBRIGATÓRIA. Crie na raiz da pasta onde você está construindo o pacote uma estrutura com pastas e sub-pastas igual a do
Linux, mas coloque apenas as pastas que receberão conteúdo. Por exemplo, se você tiver um arquivo chamado teletubbies.conf :-), que deve ficar em /etc/default e um teletubbies-bin :-D, que deverá ficar em /usr/bin, você deverá criar a seguinte estrutura:
/etc
/default
teletubbies.conf
/usr
/bin
teletubbies-bin
7. Para finalizar o pacote, volte um nível acima da pasta onde você estava trabalhando e dê o comando:
tar -cvfz <nome da pasta de trabalho> <nome do pacote>.tgz
Sendo que <nome do pacote> pode seguir o padrão:
<nome do programa>-<versão>-<arquitetura>-<release>
Onde:
- <nome do programa> nome do seu programa
- <versão> a versão no padrão xx.xx.xx
- <arquitetura> a arquitetura para qual o pacote foi feito. Pode ser i386, i486, i586, i686, ppc. Por exemplo: Se os binários estiverem compilados para a arquitetura 386 ou compatível, coloque i386. Caso seja algo que não precise de compilação especial para uma determinada arquitetura, como a maioria dos scripts, usa-se noarch (abreviatura de "no architeture", "sem arquitetura" em português).
- <release> o número da revisão (a revisão é feita para consertar pequenas coisas, como links quebrados, erros de digitação, etc, que não são o suficiente para que se precise fazer toda uma nova versão).