GNU/Linux >> Tutoriales Linux >  >> Linux

Anular la versión del paquete de dependencia establecido por Shlibs:¿depende de Deb?

Estoy creando un paquete Debian que depende de libmysqlcppconn7v5 . Lo estoy construyendo en Ubuntu que tiene libmysqlcppconn7v5 1.1.9, sin embargo, está diseñado para instalarse en Debian que tiene libmysqlcppconn7v5 1.1.7.

debian/control contiene la siguiente línea:

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

Cuando se crea el paquete, todavía tiene la dependencia libmysqlcppconn7v5 (>= 1.1.9)

¿Cómo puedo forzarlo a que dependa de una versión de paquete inferior a la que instalé cuando construí el paquete?

Respuesta aceptada:

Si shlibs:Depends termina especificando la versión 1.1.9 o posterior de libmysqlcppconn7v5 , eso (teóricamente) significa que el binario que creaste usa un símbolo que solo está disponible en la versión 1.1.9 o posterior. Por lo tanto, su paquete no funcionará necesariamente en Debian con libmysqlcppconn7v5 1.1.7, incluso si anula las dependencias. (Estoy calificando esto de alguna manera ya que el paquete no proporciona símbolos o archivos shlibs, por lo que las heurísticas no son válidas).

Como regla general, debe compilar su paquete en Debian si desea instalarlo en Debian. Esto no es tan difícil de hacer en Ubuntu; echa un vistazo a debootstrap , sbuild y pbuilder . pbuilder en particular, se puede configurar fácilmente para construir sobre múltiples distribuciones.

Si realmente quiere anular shlibs:Depends , puede editar .substvars archivo que se genera durante la compilación, después de dpkg-shlibdeps ha ejecutado:

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

Linux
  1. Cómo establecer paquete, PPA, Prioridad de repositorio Apt en Ubuntu

  2. Cómo instalar y usar Yarn Package Manager en Linux

  3. ¿Cómo instalar un archivo Deb, por Dpkg -i o por Apt?

  4. ¿Cómo verificar la lista de dependencias para un paquete Deb?

  5. ¿Nuevo paquete Vs nueva versión?

Cómo convertir de paquete RPM a DEB y DEB a RPM usando Alien

Cómo convertir paquetes entre .deb y .rpm

Cómo instalar el paquete Debian (.deb)

Cómo degradar paquetes en Ubuntu

¿Cómo indicar a Yum que instale una versión específica del paquete X?

4 formas de comprobar la versión de CentOS en la línea de comandos de Linux