aboutsummaryrefslogtreecommitdiff
path: root/src/clients/reconcilio/fix_linkage.cc
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-12-02 00:45:40 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-12-02 00:45:40 +0000
commit1c22d3e80fc3c4cd50e163fc2ae9f0f75de6db1a (patch)
tree306f97b9a1d8e7f5d24e674bb1e1ff623bd52402 /src/clients/reconcilio/fix_linkage.cc
parentcfde917750de96cf0c5d660f87e0e8e514b20cc0 (diff)
downloadpaludis-1c22d3e80fc3c4cd50e163fc2ae9f0f75de6db1a.tar.gz
paludis-1c22d3e80fc3c4cd50e163fc2ae9f0f75de6db1a.tar.xz
Abstractify PackageDepSpec, to allow repositories to display deps in their native formats. Fixes: ticket:333
Diffstat (limited to 'src/clients/reconcilio/fix_linkage.cc')
-rw-r--r--src/clients/reconcilio/fix_linkage.cc20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/clients/reconcilio/fix_linkage.cc b/src/clients/reconcilio/fix_linkage.cc
index c973baf48..5bc6f7168 100644
--- a/src/clients/reconcilio/fix_linkage.cc
+++ b/src/clients/reconcilio/fix_linkage.cc
@@ -100,17 +100,15 @@ do_fix_linkage(const tr1::shared_ptr<Environment> & env)
std::cout << std::endl;
}
- targets->push_back(
- stringify(
- PackageDepSpec(
- make_shared_ptr(new QualifiedPackageName((*pkg_it)->name())),
- tr1::shared_ptr<CategoryNamePart>(),
- tr1::shared_ptr<PackageNamePart>(),
- CommandLine::get_instance()->a_exact.specified()
- ? make_equal_to_version_requirements((*pkg_it)->version())
- : tr1::shared_ptr<VersionRequirements>(),
- vr_and,
- make_shared_ptr(new SlotName((*pkg_it)->slot())))));
+ if (CommandLine::get_instance()->a_exact.specified())
+ targets->push_back(stringify(make_package_dep_spec()
+ .package((*pkg_it)->name())
+ .version_requirement(VersionRequirement(vo_equal, (*pkg_it)->version()))
+ .slot((*pkg_it)->slot())));
+ else
+ targets->push_back(stringify(make_package_dep_spec()
+ .package((*pkg_it)->name())
+ .slot((*pkg_it)->slot())));
}
tr1::shared_ptr<const PackageID> orphans;