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 .