// return NULL on error
//
-Package::Ptr RpmDb::makePackageFromHeader( const RpmHeader::constPtr header, std::set<std::string> * filerequires )
+Package::Ptr RpmDb::makePackageFromHeader( const RpmHeader::constPtr header, std::set<std::string> * filerequires, const Pathname & location )
{
Package::Ptr pptr;
// create dataprovider
detail::ResImplTraits<RPMPackageImpl>::Ptr impl( new RPMPackageImpl( header ) );
+ if (!location.empty())
+ impl->setLocation( location );
+
Edition edition;
Arch arch;
DBG << "Expecting " << expect << " packages" << endl;
CapFactory _f;
+ Pathname location;
+
for ( iter.findAll(); *iter; ++iter, ++current, report->progress( (100*current)/expect)) {
string name = iter->tag_name();
}
#endif
- Package::Ptr pptr = makePackageFromHeader( *iter, &_filerequires );
+ Package::Ptr pptr = makePackageFromHeader( *iter, &_filerequires, location );
_packages._list.push_back( pptr );
}
* return NULL on error
**/
- static Package::Ptr makePackageFromHeader( const RpmHeader::constPtr header, std::set<std::string> * filerequires = NULL );
+ static Package::Ptr makePackageFromHeader( const RpmHeader::constPtr header, std::set<std::string> * filerequires, const Pathname & location );
///////////////////////////////////////////////////////////////////
//