
O código-fonte não é aberto ou gratuito, portanto a compilação na instalação não é uma opção. Até agora, vi desenvolvedores que:
- forneça um arquivo tar.gz e cabe ao usuário descompactar em local adequado.
- forneça um .tar.gz com um script install.sh para executar um instalador básico, possivelmente até solicitando ao usuário opções de instalação.
- fornecem arquivos RPM e/ou deb, permitindo que o usuário continue usando as ferramentas nativas de gerenciamento de pacotes com as quais está familiarizado para instalar/atualizar/desinstalar.
Gostaria de oferecer suporte ao maior número de distribuições Linux, tornar a vida dos usuários o mais fácil possível e ainda manter o mínimo possível de infraestrutura de construção/empacotamento/instalador.
Procurando recomendações sobre como empacotar meu software.
Responder1
Vejo duas maneiras de ver isso.
Uma delas é atingir os Linux mais populares, fornecendo pacotes nativos para cada um, entregando pacotes em ordem de popularidade. Alguns anos atrás, isso significava primeiro fornecer RPMs para Linux do tipo Red Hat e, depois, conforme o tempo permitisse, reconstruir o RPM de origem para cada Linux baseado em RPM menos popular. É por isso que, digamos, o RPM do Mandriva costuma ser um pouco mais antigo que o Red Hat ou o SuSE RPM. Com o Ubuntu sendo tão popular nos últimos anos, você pode querer começar com .deb e adicionar RPM mais tarde.
A outra é tentar atingirtodosLinux de uma vez, que é o que aqueles que fornecem tarballs binários estão tentando. Eu realmente não gosto dessa opção, como administrador de sistema e usuário final. Esses tarballs espalham arquivos por todo o sistema em que você os descompacta, e não há opção posterior para sutilezas como desinstalação, verificação de pacotes, atualizações inteligentes, etc.
Você pode tentar uma abordagem mista: pacotes nativos para os Linux mais populares, além de tarballs binários para Linux excêntricos e administradores de sistemas da velha escola que não gostam de gerenciadores de pacotes por qualquer motivo.
Responder2
Minha preferência é sempre por um pacote (rpm|deb etc.). Dependendo da natureza do software, pode valer a pena direcionar pacotes para distros específicas (rhel/centos etc.), mas você provavelmente nunca conseguirá lançar pacotes suficientes para todos.
Os scripts de instalação podem funcionar bem, dependendo do script. Para mim, o mais importante com software não empacotado é que é fácil instalá-lo no local que eu escolher.
Responder3
Os jogos tendem a usar um instalador (anteriormente Loki Installer, hoje MojoSetup), que instala um jogo de forma limpa em um prefixo e lida com coisas como ícones.