Konvensi penamaan paket Debian?

12

Itu semua sangat membingungkan. Ada berbagai contoh di luar sana, misalnya:

<package-name>_<epoch>:<upstream-version>-<debian.version>-<architecture>.deb

sumber: nama file paket debian

Apakah bagian 5.6.12 Versi atau Manual Kebijakan Debian juga terkait dengan nama file paket yang sebenarnya? Atau hanya ke bidang dalam file kontrol?

Dalam topik wiki ini tentang format repositori, ia tidak benar-benar mengatakan apa pun tentang konvensi, sama dengan panduan praktik terbaik pengembang .

Mungkin saya hanya mencari hal yang salah, tolong bantu saya dan beri tahu saya di mana menemukan konvensi nama paket Debian. Saya terutama ingin tahu di mana harus meletakkan nama kode Debian. Saya ingin melakukan sesuatu seperti ini:

<package-name>_<version>.<revision>-<debiancodename>_<architecture>.deb

dimana <debiancodename>saja squeezeatau wheezy.

Preexo
sumber
Bagian kebijakan hanya mengacu pada file perubahan. Cukup ganti nama debdan sesuaikan .changesfile
Ulrich Dangel
berarti tidak ada konvensi tentang nama file untuk file deb?
Preexo
1
@prexo ada tetapi tidak ada definisi formal. Dan jika Anda ingin menyesuaikan nama file cukup ganti nama deb dan sesuaikan file perubahan. Jika Anda tidak melakukan unggahan, cukup dengan mengganti nama file deb
Ulrich Dangel
Terima kasih! ya saya tidak mengunggah sehingga masalah agak terpecahkan;) buatlah jawaban dengan itu dan mungkin tentang seberapa ketat konvensi itu dan saya akan menerimanya sebagai jawaban :)
Preexo

Jawaban:

11

Pemahaman saya adalah bahwa Anda ingin mendistribusikan / menggunakan paket ke beberapa distribusi berbasis Debian.

Di dunia Debian / Ubuntu, Anda tidak boleh menyediakan .debfile individual untuk diunduh dan diinstal. Sebaliknya, Anda harus menyediakan repositori APT. (di dunia Fedora / Red Hat / CentOS saya akan membuat saran serupa untuk menyediakan repositori YUM). Tidak hanya menyelesaikan masalah tentang cara memberi nama file deb, tetapi repositori adalah cara yang efektif untuk menyediakan versi lebih baru dari paket Anda, termasuk perbaikan bug dan pembaruan keamanan. Membuat repositori APT berada di luar tujuan halaman ini / pertanyaan, cukup cari "cara mengatur repositori apt"

Sekarang kembali ke pertanyaan Anda: "konvensi penamaan paket":

Ketika Anda menghasilkan paket dengan dpkg-buildpackage, paket akan dinamai dengan cara standar. Mengutip halaman dpkg-name :

Nama paket lengkap terdiri dari package_version_architecture.package-type seperti yang ditentukan dalam file kontrol paket.

package_version_architecture.package-type

Kebijakan Debian adalah tempat yang tepat untuk mengetahui sintaks dari file kontrol: nama (untuk paket Source dan binary), versi , arsitektur , tipe-paket .

Tidak ada ketentuan untuk menyatakan distribusi, karena ini bukan bagaimana jalannya.

Jika Anda perlu mengkompilasi versi paket yang sama untuk beberapa distribusi , Anda akan mengubah versionbidang (dalam debian/changelogdan debian/controlfile). Beberapa orang menggunakan nama distribusi di bidang versi. misalnya openssl :

0.9.8o-4squeeze14 
1.0.1e-2+deb7u14
1.0.1k-1 

Jika itu yang ingin Anda lakukan, pastikan untuk membaca kebijakan debian tentang debian_revisiondalam versi .

Franklin Piat
sumber