Ich suchte nach einem einfachen Weg, um .deb-Pakete für Dinge zu erstellen, die keinen Quellcode zum Kompilieren haben (Configs, Shellscripts, proprietäre Software). Dies war ein ziemliches Problem, da die meisten Paket-Tutorials davon ausgehen, dass Sie ein Quell-Tarball haben, das Sie kompilieren möchten. Dann habe ich dieses kurze Tutorial gefunden .
Danach habe ich ein kleines Skript erstellt, um ein einfaches Repository zu erstellen. So was:
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
Ich habe den Schlüssel zum passenden Schlüsselbund hinzugefügt und die Quelle so eingefügt:
deb http://my.default.com/my-repository/ ./
Es sieht so aus, als ob das Repo selbst gut funktioniert (ich hatte einige Probleme, um diese zu beheben, musste ich die Pakete zweimal hinzufügen und die temporäre Datei als Workaround für die Release-Datei verwenden). Ich habe auch einige heruntergeladene .deb in das Repo gelegt, es sieht so aus, als würden sie auch ohne Probleme funktionieren. Aber meine selbst erstellten Pakete haben nicht ... Wenn ich das tue sudo apt-get update
, verursachen sie Fehler wie diesen:
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.
Hat jemand eine Idee was ich falsch gemacht habe?
UPDATE 06.03.2012: Nur ein Hinweis für eine andere Person, die nach einer einfachen Möglichkeit zum Erstellen von DEBs sucht: Schauen Sie sich FPM an .