
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-devel
bereit 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 rpm
und 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.