From 41a7cd79dbadf96cc2312ff4121777f460a318e4 Mon Sep 17 00:00:00 2001 From: Klaus Kaempf Date: Mon, 27 Feb 2006 09:40:30 +0000 Subject: [PATCH] pass location to makePackageFromHeader() in order to support local .rpm files --- zypp/target/rpm/RpmDb.cc | 9 +++++++-- zypp/target/rpm/RpmDb.h | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/zypp/target/rpm/RpmDb.cc b/zypp/target/rpm/RpmDb.cc index c6ec3aa..74f64dd 100644 --- a/zypp/target/rpm/RpmDb.cc +++ b/zypp/target/rpm/RpmDb.cc @@ -1000,7 +1000,7 @@ const std::list & RpmDb::getPackages() // return NULL on error // -Package::Ptr RpmDb::makePackageFromHeader( const RpmHeader::constPtr header, std::set * filerequires ) +Package::Ptr RpmDb::makePackageFromHeader( const RpmHeader::constPtr header, std::set * filerequires, const Pathname & location ) { Package::Ptr pptr; @@ -1009,6 +1009,9 @@ Package::Ptr RpmDb::makePackageFromHeader( const RpmHeader::constPtr header, std // create dataprovider detail::ResImplTraits::Ptr impl( new RPMPackageImpl( header ) ); + if (!location.empty()) + impl->setLocation( location ); + Edition edition; Arch arch; @@ -1121,6 +1124,8 @@ const std::list & RpmDb::doGetPackages(callback::SendReportprogress( (100*current)/expect)) { string name = iter->tag_name(); @@ -1143,7 +1148,7 @@ This prevented from having packages multiple times } #endif - Package::Ptr pptr = makePackageFromHeader( *iter, &_filerequires ); + Package::Ptr pptr = makePackageFromHeader( *iter, &_filerequires, location ); _packages._list.push_back( pptr ); } diff --git a/zypp/target/rpm/RpmDb.h b/zypp/target/rpm/RpmDb.h index 5ac9c0f..bf74e68 100644 --- a/zypp/target/rpm/RpmDb.h +++ b/zypp/target/rpm/RpmDb.h @@ -325,7 +325,7 @@ namespace zypp { * return NULL on error **/ - static Package::Ptr makePackageFromHeader( const RpmHeader::constPtr header, std::set * filerequires = NULL ); + static Package::Ptr makePackageFromHeader( const RpmHeader::constPtr header, std::set * filerequires, const Pathname & location ); /////////////////////////////////////////////////////////////////// // -- 2.7.4