+void SourcePackage::Loader::finish()
+{
+ SourcePackage &spkg = static_cast<SourcePackage &>(pkg);
+ spkg.components.sort(component_sort);
+
+ for(map<string, string>::const_iterator i=install_map.begin(); i!=install_map.end(); ++i)
+ {
+ for(ComponentList::iterator j=spkg.components.begin(); j!=spkg.components.end(); ++j)
+ {
+ const StringList &sources = j->get_sources();
+ for(StringList::const_iterator k=sources.begin(); k!=sources.end(); ++k)
+ {
+ if(!i->first.compare(0, k->size(), *k))
+ {
+ const_cast<InstallMap &>(j->get_install_map()).add_mapping(spkg.source/i->first, i->second);
+ }
+ }
+ }
+ }
+}
+