Saya mencari cara sederhana untuk membuat Paket deb untuk hal-hal yang tidak memiliki kode sumber untuk dikompilasi (konfigurasi, shellscripts, perangkat lunak berpemilik). Ini cukup masalah karena sebagian besar paket tutorial mengasumsikan Anda memiliki tarball sumber yang ingin Anda kompilasi. Kemudian saya menemukan tutorial singkat ini (Jerman).
Setelah itu, saya membuat skrip kecil untuk membuat repositori sederhana. Seperti ini:
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
Saya menambahkan kunci ke apt keyring dan memasukkan sumber seperti ini:
deb http://my.default.com/my-repository/ ./
Sepertinya repo itu sendiri bekerja dengan baik (saya mengalami beberapa masalah, untuk memperbaikinya saya perlu menambahkan Paket dua kali dan membuat solusi temp-file untuk file Release). Saya juga menaruh beberapa .deb yang diunduh ke dalam repo, sepertinya mereka juga bekerja tanpa masalah. Tetapi paket yang saya buat sendiri tidak ... Jika saya lakukan sudo apt-get update
, mereka menyebabkan kesalahan seperti ini:
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.
Adakah yang tahu kesalahan saya?
UPDATE 2012-03-06: Hanya sedikit petunjuk untuk orang lain yang sedang mencari cara mudah untuk membuat DEB: Lihatlah FPM .