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 .
Jawaban:
Tutorial yang Anda tautkan menggunakan pendekatan tingkat rendah untuk membangun sebuah paket. Pendekatan seperti itu biasanya tidak direkomendasikan dan dapat menyebabkan segala macam masalah bila tidak dilakukan dengan hati-hati.
Membuat .deb untuk skrip sangat sederhana setelah Anda memahami dasar-dasar pengemasan. Pendeknya:
Menambahkan lebih banyak skrip mengharuskan mereka untuk disalin ke direktori dan ditambahkan ke file debian / install - maka jalankan kembali debuild. Anda juga harus memeriksa dan memperbarui file debian / * sesuai kebutuhan.
Anda harus membaca halaman manual untuk:
dh_make
,dh_install
, dandebuild
sumber
--indep
flag kedh_make
akan membuat paket "Architecture: all" Juga-b
flag tidak ada di 11.04 ke atas.lintian somescripts_0.1-1_i386.deb
ataulintian package-source.changes
- lihat: packaging.ubuntu.com/html/...