Yum respektiert die Versionsanforderungen für Pakete nicht

Yum respektiert die Versionsanforderungen für Pakete nicht

Ich habe ein Problem mit der Verwendung von yum zum Auflösen von Abhängigkeiten für mein Projekt, das aus mehreren RPMs besteht, die wir selbst erstellen. Ich habe ein RPM erstellt mit:

Requires: Database-devel = 1.0.0

Aber wenn ich laufe:

$ 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

Darin steht, dass der Provider dieser Abhängigkeit (letzte Zeile) die Version 2.0.0 hat. Die folgenden zusätzlichen Informationen bestätigen, dass die Versionen für das Database-devel-Paket im Yum-Repo korrekt eingerichtet sind und dass eine Version 1.0.0 für Yum zur Auswahl verfügbar ist:

$ 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

Das Problem besteht darin, dass beim Versuch, das ConfigLoader-devel-RPM zu installieren, versucht wird, das Paket Database-devel 2.0.0 herunterzuladen und zu installieren, wodurch mein Build unterbrochen wird.

Meine Yum-Version ist:

$ 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

Wie kann ich dies weiter diagnostizieren?

Antwort1

Wahrscheinlich stellt Ihr Paket Folgendes Database-develbereit Database-devel. Sie können dies folgendermaßen überprüfen:

rpm -q Database-devel --provides

es sollte ungefähr so ​​lauten:

Database-devel = 2.0.0-0

wenn dort auch steht:

Database-devel

ohne Versionsnummer, dann bedeutet dies für rpmund somit für yum, dass es alle Versionen von bereitstellt Database-devel, einschließlich der Version 1.0.0.

Sie sollten die Zeile entfernen

Provides: Database-devel

aus Ihrer Spezifikationsdatei. Jedes Paket stellt automatisch seinen eigenen Namen und seine eigene Version bereit.

verwandte Informationen