Procurei uma maneira simples de criar pacotes .deb para coisas que não têm código fonte para compilar (configurações, shellscripts, software proprietário). Isso foi um grande problema, porque a maioria dos tutoriais de pacotes pressupõe que você tenha um tarball de origem que deseja compilar. Então eu encontrei este pequeno tutorial (alemão).
Depois, criei um pequeno script para criar um repositório simples. Como isso:
rm /export/my-repository/repository/*
cd /home/tdeutsch/deb-pkg
for i in $(ls | grep my); do dpkg -b ./$i /export/my-repository/repository/$i.deb; done
cd /export/avanon-repository/repository
gpg --armor --export "My Package Signing Key" > PublicKey
apt-ftparchive packages ./ | gzip > Packages.gz
apt-ftparchive packages ./ > Packages
apt-ftparchive release ./ > /tmp/Release.tmp; mv /tmp/Release.tmp Release
gpg --output Release.gpg -ba Release
Eu adicionei a chave ao chaveiro apt e incluí a fonte assim:
deb http://my.default.com/my-repository/ ./
Parece que o repositório em si está funcionando bem (eu tive alguns problemas, para corrigi-los, eu precisava adicionar os Pacotes duas vezes e fazer a solução alternativa para o arquivo temporário do arquivo Release). Também coloquei alguns .deb baixados no repositório, parece que eles também estão funcionando sem problemas. Mas meus pacotes criados por mim não ... Quando eu faço sudo apt-get update
, eles estão causando erros como este:
E: Problem parsing dependency Depends
E: Error occurred while processing my-printerconf (NewVersion2)
E: Problem with MergeList /var/lib/apt/lists/my.default.com_my-repository_._Packages
E: The package lists or status file could not be parsed or opened.
Alguém tem uma idéia do que eu fiz de errado?
ATUALIZAÇÃO 06-03-2012: Apenas uma dica para outra pessoa que está procurando uma maneira fácil de criar DEBs: Dê uma olhada no FPM .
Respostas:
O tutorial que você vinculou usa uma abordagem de baixo nível para criar um pacote. Essa abordagem geralmente não é recomendada e pode levar a todos os tipos de problemas quando não for feita com cuidado.
Criar um .deb para um script é muito simples quando você entende o básico sobre empacotamento. Em poucas palavras:
A adição de mais scripts requer que eles sejam copiados para o diretório e adicionados ao arquivo debian / install - e apenas execute novamente o debuild. Você também deve verificar e atualizar os arquivos debian / *, conforme necessário.
Você deve ler as páginas de manual para:
dh_make
,dh_install
edebuild
fonte
--indep
sinalizador aodh_make
fará com que o pacote "Architecture: all" também-b
não exista no 11.04 e acima.lintian somescripts_0.1-1_i386.deb
oulintian package-source.changes
- veja: packaging.ubuntu.com/html/...