GNU/Linux >> Tutoriels Linux >  >> Linux

Remplacer la version du package de dépendance défini par Shlibs :dépend de Deb ?

Je construis un paquet Debian qui dépend de libmysqlcppconn7v5 . Je le construis sur Ubuntu qui a libmysqlcppconn7v5 1.1.9, cependant il est destiné à être installé sur Debian qui a libmysqlcppconn7v5 1.1.7.

debian/control contient la ligne suivante :

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

Lorsque le paquet est construit, il a toujours la dépendance libmysqlcppconn7v5 (>= 1.1.9)

Comment puis-je le forcer à dépendre d'une version de package inférieure à celle que j'ai installée lors de la construction du package ?

Réponse acceptée :

Si shlibs:Depends finit par spécifier la version 1.1.9 ou ultérieure de libmysqlcppconn7v5 , cela signifie (théoriquement) que le binaire que vous avez construit utilise un symbole qui n'est disponible que dans la version 1.1.9 ou ultérieure. Donc votre paquet ne fonctionnera pas forcément sur Debian avec libmysqlcppconn7v5 1.1.7, même si vous remplacez les dépendances. (Je nuance quelque peu car le paquet ne fournit pas de symboles ou de fichiers shlibs, donc les heuristiques ne sont pas valides.)

En règle générale, vous devez compiler votre paquet sur Debian si vous souhaitez l'installer sur Debian. Ce n'est pas si difficile à faire sur Ubuntu; jetez un oeil à debootstrap , sbuild et pbuilder . pbuilder en particulier, peut facilement être configuré pour s'appuyer sur plusieurs distributions.

Si vous vraiment voulez remplacer shlibs:Depends , vous pouvez modifier le .substvars fichier généré lors de la construction, après dpkg-shlibdeps a exécuté :

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

Linux
  1. Comment répertorier les fichiers installés à partir d'un package RPM ou DEB sous Linux

  2. Comment trouver une version de package sous Linux

  3. Comment installer et utiliser Yarn Package Manager sous Linux

  4. Installer une version différente d'un package ?

  5. Nouveau package contre nouvelle version ?

Comment convertir un package RPM en DEB et DEB en RPM à l'aide d'Alien

Comment convertir des packages entre .deb et .rpm

Comment installer le paquet Debian (.deb)

Comment rétrograder des packages sur Ubuntu

Comment demander à Yum d'installer une version spécifique du package X ?

4 façons de vérifier la version de CentOS dans la ligne de commande Linux