Ho cercato un modo semplice per creare pacchetti .deb per cose che non hanno codice sorgente da compilare (config, shellscripts, software proprietario). Questo è stato piuttosto un problema perché la maggior parte dei tutorial del pacchetto presume che tu abbia un tarball sorgente che vuoi compilare. Poi ho trovato questo breve tutorial (tedesco).
Successivamente, ho creato un piccolo script per creare un semplice repository. Come questo:
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
Ho aggiunto la chiave al portachiavi apt e ho incluso la fonte in questo modo:
deb http://my.default.com/my-repository/ ./
Sembra che il repository stesso stia funzionando bene (ho riscontrato alcuni problemi, per risolverli ho dovuto aggiungere due volte i pacchetti e risolvere il problema con il file temporaneo per il file di rilascio). Ho anche inserito alcuni .deb scaricati nel repository, sembra che stiano funzionando anche senza problemi. Ma i miei pacchetti creati da me non hanno ... Quando lo faccio sudo apt-get update
, stanno causando errori come questo:
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.
Qualcuno ha idea di cosa ho fatto di sbagliato?
AGGIORNAMENTO 2012-03-06: solo un suggerimento per un'altra persona che sta cercando un modo semplice per creare DEB: dai un'occhiata a FPM .