GNU/Linux >> Linux Esercitazione >  >> Linux

Sovrascrivi la versione del pacchetto di dipendenza impostato da Shlibs:dipende da Deb?

Sto costruendo un pacchetto Debian che dipende da libmysqlcppconn7v5 . Lo sto costruendo su Ubuntu che ha libmysqlcppconn7v5 1.1.9, tuttavia è pensato per essere installato su Debian che ha libmysqlcppconn7v5 1.1.7.

debian/control contiene la seguente riga:

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

Quando il pacchetto viene compilato, ha ancora la dipendenza libmysqlcppconn7v5 (>= 1.1.9)

Come posso forzarlo a dipendere da una versione del pacchetto inferiore a quella che ho installato durante la creazione del pacchetto?

Risposta accettata:

Se shlibs:Depends finisce per specificare la versione 1.1.9 o successiva di libmysqlcppconn7v5 , che (teoricamente) significa che il binario che hai creato utilizza un simbolo che è disponibile solo nella versione 1.1.9 o successiva. Quindi il tuo pacchetto non funzionerà necessariamente su Debian con libmysqlcppconn7v5 1.1.7, anche se si sovrascrivono le dipendenze. (Lo sto qualificando in qualche modo poiché il pacchetto non fornisce simboli o file shlibs, quindi l'euristica non è valida.)

Come regola generale, è necessario compilare il pacchetto su Debian se si desidera installarlo su Debian. Questo non è poi così difficile da fare su Ubuntu; dai un'occhiata a debootstrap , sbuild e pbuilder . pbuilder in particolare può essere facilmente configurato per costruire su più distribuzioni.

Se davvero vuoi sovrascrivere shlibs:Depends , puoi modificare il .substvars file che viene generato durante la compilazione, dopo dpkg-shlibdeps è stato eseguito:

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

Linux
  1. Come trovare una versione del pacchetto in Linux

  2. Come installare e utilizzare Yarn Package Manager in Linux

  3. Come utilizzare yum per installare una versione specifica di un pacchetto?

  4. Come installare un file Deb, da Dpkg -i o da Apt?

  5. Installare una versione diversa di un pacchetto?

Come convertire da RPM a DEB e DEB a RPM utilizzando Alien

Come convertire i pacchetti tra .deb e .rpm

Come installare il pacchetto Debian (.deb).

Come eseguire il downgrade dei pacchetti su Ubuntu

Come istruire Yum a installare una versione specifica del pacchetto X?

4 modi per controllare la versione di CentOS nella riga di comando di Linux