Apakah mungkin untuk menetapkan persyaratan versi ketergantungan seperti ini:
Required: somepackage >= 0.5.0 AND somepackage < 0.6.0
Jadi hanya beberapa paket 0,5.x akan diinstal secara otomatis.
Ya, sangat mudah melakukannya.
Tulis saja:
Requires: somepackage >= 0.5.0, somepackage < 0.6.0
ke dalam .spec
file Anda .
Menambahkan Persyaratan Versi
Ketika sebuah paket memiliki kebutuhan yang sedikit lebih ketat, mungkin diperlukan versi tertentu dari suatu paket. Yang diperlukan hanyalah menambahkan nomor versi yang diinginkan, didahului oleh salah satu operator perbandingan berikut:
Membutuhkan paket dengan versi kurang dari versi yang ditentukan.
Membutuhkan paket dengan versi kurang dari atau sama dengan versi yang ditentukan.
Membutuhkan paket dengan versi yang sama dengan versi yang ditentukan.
Membutuhkan paket dengan versi yang sama atau lebih besar dari versi yang ditentukan.
Membutuhkan paket dengan versi lebih besar dari versi yang ditentukan.
Melanjutkan dengan contoh kami, misalkan versi bilah paket yang diperlukan sebenarnya harus paling tidak 2.7, dan bahwa baz paket harus versi 2.1 - tidak ada versi lain yang akan melakukannya. Begini tampilannya garis tag: membutuhkan: bar> = 2.7, baz = 2.1
Sumber: http://rpm.org/user_doc/more_dependencies.html
Sistem yang dijelaskan di atas berfungsi untuk sebagian besar paket; namun, jika paket yang ingin Anda perlukan disediakan sebagai [kemampuan virtual] [1] atau disediakan (mis. "Menyediakan:" kata kunci) dengan paket nama yang berbeda (yang tidak saling bertentangan), maka Anda mungkin berakhir dengan dua paket berbeda diinstal, masing-masing secara individual memenuhi salah satu persyaratan Anda. Misalnya, jika file spesifikasi Anda berisi:
Requires: postgresql-server >= 8.4, postgresql-server < 9.0
Mungkin menghasilkan (jika Anda memiliki paket-paket ini tersedia untuk yum) instalasi:
Tetapi tidak akan menginstal postgresql84-server, yang mungkin merupakan paket yang Anda harapkan telah diinstal.
(Dalam hal ini solusinya hanya memerlukan server postgresql84; namun, ada beberapa contoh lain yang tidak memiliki solusi mudah.)
Tidak jelas bagi saya jika Anda mencoba membangun sebuah paket atau menginstal paket dan "membatasi" ketergantungannya.
Saya tidak melihat cara untuk membuat case yang kedua tanpa membangun kembali paket.
Anda dapat mengambil SRPM dan mengedit file spek dan untuk menambah / memodifikasi entri Diperlukan (Anda ingin paket tertentu 0,5.x, bukan?) Ke sesuatu seperti ini:
dan kemudian membangun kembali dengan
Jika Anda tidak pernah melakukannya, itu terlihat menakutkan tetapi itu memecahkan masalah Anda. Ingatlah bahwa jika membuat paket publik untuk sebuah distro, Anda mungkin ingin membaca panduannya karena mengatur ketergantungan dengan cara ini umumnya tidak dianjurkan.
sumber