Derlemek için kaynak kodu olmayan şeyler için .deb Paketleri oluşturmanın basit bir yolunu aradım (configs, shellscripts, özel yazılım). Bu oldukça büyük bir problemdi çünkü paket derslerinin çoğu, derlemek istediğiniz bir kaynak tarball'a sahip olduğunuzu varsayıyor. Sonra bu kısa öğreticiyi buldum (almanca).
Daha sonra basit bir depo oluşturmak için küçük bir senaryo oluşturdum. Bunun gibi, böyle:
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
Anahtarı apt anahtarlığına ekledim ve kaynağı şöyle ekledim:
deb http://my.default.com/my-repository/ ./
Reponun kendisi de iyi çalışıyor gibi görünüyor (bazı problemlerle karşılaştım, düzeltmek için iki kez paketleri ekleyip Sürüm dosyası için geçici dosya geçici çözümü yapmam gerekiyordu). Ayrıca bazı indirilen .deb kodunu koymak, onlar da sorunsuz çalışıyor gibi görünüyor. Ama kendi yarattığım paketlerim yapmadı ... Yaptığım sudo apt-get update
gibi, bunun gibi hatalara neden oluyorlar:
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.
Neyi yanlış yaptığım hakkında fikri olan var mı?
GÜNCELLEME 2012-03-06: Debs oluşturmak için kolay bir yol arıyor başka bir kişi için sadece aa ipucu: bir göz atın FPM .