Untuk menerbitkan paket RPM dari beberapa versi perangkat lunak yang berbeda, saya sedang mencari cara untuk menentukan versi "angka" yang dianggap "peningkatan", dan termasuk diferensiasi beberapa versi pra-rilis, seperti (dalam rangka ): "2.4.0 alpha 1", "2.4.0 alpha 2", "2.4.0 alpha 3", "2.4.0 beta 1", "2.4.0 beta 2", "kandidat rilis 2.4.0", "2.4.0 final", "2.4.1", "2.4.2", dll.
Masalah utama yang saya miliki dengan ini adalah bahwa RPM menganggap bahwa "2.4.0" datang lebih awal dari "2.4.0.alpha1", jadi saya tidak bisa menambahkan sufiks di akhir nomor versi final.
Saya bisa mencoba "2.4.0.alpha1", "2.4.0.beta1", "2.4.0.final", yang akan berfungsi, kecuali untuk "kandidat rilis" yang akan dianggap lebih lambat dari "2.4.0.final ".
Alternatif yang saya pertimbangkan adalah menggunakan bagian "epoch:" dari nomor versi RPM (epoch: prefix dipertimbangkan sebelum nomor versi utama sehingga "1: 2.4.0" sebenarnya lebih awal dari "2: 1.0.0") . Dengan meletakkan stempel waktu di bidang epoch:, semua versi dipesan sesuai yang diharapkan oleh RPM, karena versi mereka tampak bertambah seiring waktu. Namun, ini gagal ketika rilis baru dibuat pada beberapa versi utama secara bersamaan (misalnya, 2.3.2 dirilis setelah 2.4.0, tetapi versi mereka untuk RPM adalah "20121003: 2.3.2" dan "20120928: 2.4. 0 "dan sistem pada 2.3.2 tidak dapat" ditingkatkan "ke 2.4.0, karena rpm melihatnya sebagai versi yang lebih lama). Dalam hal ini, yum / zypper / etc menolak untuk memutakhirkan ke 2.4.0, jadi masalah saya.
Nomor versi apa yang dapat saya gunakan untuk mencapai hal ini, dan pastikan bahwa RPM selalu menganggap nomor versi sebagai urutan. Atau jika bukan nomor versi, mekanisme lain dalam kemasan RPM?
Catatan 1: Saya ingin menyimpan "Rilis:" bidang file spesifikasi untuk tujuan aslinya (beberapa rilis paket, termasuk perubahan kemasan, untuk versi yang sama dari perangkat lunak yang dikemas).
Catatan 2: Ini harus bekerja pada versi produksi saat ini dari distribusi utama, seperti RHEL / CentOS 6 dan SLES 11. Tapi saya tertarik pada solusi yang tidak, asalkan tidak melibatkan kompilasi ulang rpm!
Catatan 3: Pada sistem seperti Debian, dpkg menggunakan komponen khusus dalam nomor versi yang merupakan karakter "~" (tilde). Ini menyebabkan dpkg menghitung akhiran sebagai urutan "negatif", sehingga "2.4.0 ~ apa pun" akan muncul sebelum "2.4.0". Kemudian, pemesanan normal berlaku setelah "~", jadi "2.4.0 ~ alpha1" datang sebelum "2.4.0 ~ beta1" karena "alpha" datang sebelum "beta" secara alfabet. Saya tidak perlu mencari untuk menggunakan skema yang sama untuk paket RPM (saya cukup yakin tidak ada yang setara seperti itu), jadi ini hanya FYI.