GNU/Linux >> Belajar Linux >  >> Linux

Ganti Versi Paket Ketergantungan yang Ditetapkan Oleh Shlibs:tergantung Di Deb?

Saya sedang membangun paket Debian yang bergantung pada libmysqlcppconn7v5 . Saya sedang membangunnya di Ubuntu yang memiliki libmysqlcppconn7v5 1.1.9, namun dimaksudkan untuk diinstal pada Debian yang memiliki libmysqlcppconn7v5 1.1.7.

debian/control berisi baris berikut:

Depends: ${shlibs:Depends}, ${misc:Depends}, libmysqlcppconn7v5 (>= 1.1.7)

Ketika paket dibangun masih memiliki ketergantungan libmysqlcppconn7v5 (>= 1.1.9)

Bagaimana saya bisa memaksanya untuk memiliki ketergantungan pada versi paket yang lebih rendah daripada yang saya instal saat membangun paket?

Jawaban yang Diterima:

Jika shlibs:Depends akhirnya menentukan versi 1.1.9 atau yang lebih baru dari libmysqlcppconn7v5 , itu (secara teoritis) berarti bahwa biner yang Anda buat menggunakan simbol yang hanya tersedia di versi 1.1.9 atau yang lebih baru. Jadi paket Anda belum tentu berfungsi di Debian dengan libmysqlcppconn7v5 1.1.7, bahkan jika Anda mengganti dependensi. (Saya sedikit memenuhi syarat ini karena paket tidak menyediakan file simbol atau shlib, jadi heuristiknya tidak valid.)

Sebagai aturan umum, Anda perlu membangun paket Anda di Debian jika Anda ingin menginstalnya di Debian. Ini tidak terlalu sulit untuk dilakukan di Ubuntu; lihat debootstrap , sbuild dan pbuilder . pbuilder khususnya dapat dengan mudah diatur untuk membangun beberapa distribusi.

Jika Anda sangat ingin mengganti shlibs:Depends , Anda dapat mengedit .substvars file yang dihasilkan selama pembuatan, setelah dpkg-shlibdeps telah berjalan:

override_dh_shlibdeps:
    dh_shlibdeps
    sed -i s/1.1.9/1.1.7/g debian/yourpackage.substvars

Linux
  1. Cara Mendaftar File yang Diinstal Dari Paket RPM atau DEB di Linux

  2. Cara Menemukan Versi Paket Di Linux

  3. Cara Memeriksa Versi Paket Linux Sebelum Menginstalnya

  1. Bagaimana cara menggunakan yum untuk menginstal versi Paket tertentu?

  2. Bagaimana Cara Menginstal File Deb, Dengan Dpkg -i Atau Dengan Apt?

  3. Bagaimana Cara Memeriksa Daftar Ketergantungan Untuk Paket Deb?

  1. Paket Baru Vs Versi Baru?

  2. Debian:Cara Menginstal atau Menghapus Paket DEB Menggunakan dpkg

  3. Bagaimana cara memodifikasi paket deb?