Yum no respeta los requisitos de versión del paquete

Yum no respeta los requisitos de versión del paquete

Tengo un problema al usar yum para resolver dependencias de mi proyecto, que consta de varios RPM que construimos nosotros mismos. He construido un RPM con:

Requires: Database-devel = 1.0.0

Pero cuando corro:

$ yum deplist Release/ConfigLoader-devel-4.0.1-0.191128.123053.g83eb.b.d.el7.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: epel.besthosting.ua
package: ConfigLoader-devel.x86_64 4.0.1-0.191128.123053.g83eb.b.d.el7
  dependency: /bin/sh
   provider: bash.x86_64 4.2.46-31.el7
  dependency: Database-devel = 1.0.0
   provider: Database-devel.x86_64 2.0.0-0.191126.123742.gb769.r

Dice que el proveedor de esa dependencia (la última línea) tiene la versión 2.0.0. La siguiente información adicional confirma que las versiones del paquete Database-devel están configuradas correctamente en el repositorio de yum y que hay una versión 1.0.0 disponible para que yum la seleccione:

$ yum info Database-devel
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: epel.besthosting.ua
Available Packages
Name        : Database-devel
Arch        : x86_64
Version     : 2.0.0
Release     : 0.191126.123742.gb769.r
Size        : 13 k
Repo        : localrepo-oel7


$ yum info Database-devel-1.0.0-1
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: epel.besthosting.ua
Available Packages
Name        : Database-devel
Arch        : x86_64
Version     : 1.0.0
Release     : 1
Size        : 13 k
Repo        : localrepo-oel7

El problema es que cuando intento instalar el RPM ConfigLoader-devel, intenta desplegar el paquete Database-devel 2.0.0 e instalarlo, lo que interrumpe mi compilación.

Mi versión Yum es:

$ yum --version
3.4.3
  Installed: rpm-4.11.3-35.el7.x86_64 at 2019-05-21 13:14
  Built    : CentOS BuildSystem <http://bugs.centos.org> at 2018-10-30 19:27
  Committed: Pavlina Moravcova Varekova <[email protected]> at 2018-06-19

  Installed: yum-3.4.3-161.0.1.el7.noarch at 2019-06-05 11:27
  Built    : None at 2018-11-01 10:10
  Committed: EL Errata <[email protected]> at 2018-10-31

  Installed: yum-plugin-fastestmirror-1.1.31-50.el7.noarch at 2019-05-21 13:15
  Built    : CentOS BuildSystem <http://bugs.centos.org> at 2018-10-30 22:58
  Committed: Michal Domonkos <[email protected]> at 2018-08-24

¿Cómo puedo diagnosticar esto más a fondo?

Respuesta1

Probablemente su paquete Database-develproporcione Database-devel. Puedes comprobar esto así:

rpm -q Database-devel --provides

debería decir algo como esto:

Database-devel = 2.0.0-0

si dice tambien:

Database-devel

sin número de versión, entonces esto significa for rpmy, por lo tanto yum, proporciona todas las versiones de Database-devel, incluida la versión 1.0.0.

Deberías eliminar la línea.

Provides: Database-devel

de su archivo de especificaciones. Cada paquete proporciona automáticamente su propio nombre y versión.

información relacionada