Introduce member functions SolvableVersion::provides() and SolvableVersion::conflicts(). This enables packagedb::read() to access provides and conflicts lists from setup.ini. --- libsolv.cc | 12 ++++++++++++ libsolv.h | 4 ++++ package_db.cc | 18 ++++++++++++------ 3 files changed, 28 insertions(+), 6 deletions(-)
diff --git a/libsolv.cc b/libsolv.cc index 2eb04e2..d85fec4 100644 --- a/libsolv.cc +++ b/libsolv.cc @@ -121,6 +121,18 @@ SolvableVersion::obsoletes() const return deplist(SOLVABLE_OBSOLETES); } +const PackageDepends +SolvableVersion::provides() const +{ + return deplist(SOLVABLE_PROVIDES); +} + +const PackageDepends +SolvableVersion::conflicts() const +{ + return deplist(SOLVABLE_CONFLICTS); +} + // helper function which returns the deplist for a given key, as a PackageDepends const PackageDepends SolvableVersion::deplist(Id keyname) const diff --git a/libsolv.h b/libsolv.h index 7bb0be2..c218ab8 100644 --- a/libsolv.h +++ b/libsolv.h @@ -60,6 +60,10 @@ class SolvableVersion const PackageDepends depends() const; // Return the obsoletes list const PackageDepends obsoletes() const; + // Return the provides list + const PackageDepends provides() const; + // Return the conflicts list + const PackageDepends conflicts() const; bool accessible () const; package_type_t Type () const; package_stability_t Stability () const; diff --git a/package_db.cc b/package_db.cc index d12e841..799ee39 100644 --- a/package_db.cc +++ b/package_db.cc @@ -142,8 +142,10 @@ packagedb::read () // supplement this with sdesc, source, and stability // information from setup.ini, if possible... packageversion pv = findBinaryVersion(PackageSpecification(pkgname, f.ver)); - PackageDepends dep; - PackageDepends obs; + PackageDepends depends; + PackageDepends obsoletes; + PackageDepends provides; + PackageDepends conflicts; if (pv) { data.sdesc = pv.SDesc(); @@ -151,10 +153,14 @@ packagedb::read () data.stability = pv.Stability(); data.spkg_id = pv.sourcePackage(); data.spkg = pv.sourcePackageName(); - dep = pv.depends(); - data.requires = &dep; - obs = pv.obsoletes(); - data.obsoletes = &obs; + depends = pv.depends(); + data.requires = &depends; + obsoletes = pv.obsoletes(); + data.obsoletes = &obsoletes; + provides = pv.provides(); + data.provides = &provides; + conflicts = pv.conflicts(); + data.conflicts = &conflicts; } else // This version is no longer available. It could -- 2.16.2