Author: mlandres
Date: Tue May 15 13:59:49 2007
New Revision: 5548
URL: http://svn.opensuse.org/viewcvs/zypp?rev=5548&view=rev
Log:
fix releaseFile calls passing the local filename as arg.
Modified:
trunk/libzypp/devel/devel.ma/ScanSource.cc
trunk/libzypp/zypp/media/MediaHandler.cc
trunk/libzypp/zypp/source/SourceProvideFile.cc
Modified: trunk/libzypp/devel/devel.ma/ScanSource.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/devel/devel.ma/ScanSource.cc?rev=5548&r1=5547&r2=5548&view=diff
==============================================================================
--- trunk/libzypp/devel/devel.ma/ScanSource.cc (original)
+++ trunk/libzypp/devel/devel.ma/ScanSource.cc Tue May 15 13:59:49 2007
@@ -10,6 +10,7 @@
#include
#include
#include
+#include
using namespace std;
using namespace zypp;
@@ -19,6 +20,27 @@
#define LOG (debug ? USR : cout)
+#include
+#include "zypp/source/PackageProvider.h"
+
+ static void sourceProvidePackage( const ResObject::Ptr & pi )
+ {
+ // Redirect PackageProvider queries for installed editions
+ // (in case of patch/delta rpm processing) to rpmDb.
+ source::PackageProviderPolicy packageProviderPolicy;
+ //packageProviderPolicy.queryInstalledCB( QueryInstalledEditionHelper() );
+
+ Package::constPtr p = asKind<Package>(pi);
+ if ( p )
+ {
+ source::PackageProvider pkgProvider( p, packageProviderPolicy );
+ SEC << "++++" << endl;
+ ManagedFile r( pkgProvider.providePackage() );
+ SEC << "---" << endl;
+ }
+ SEC << "-" << endl;
+ }
+
struct KeyRingReceiver : public callback::ReceiveReport<KeyRingReport>
{
KeyRingReceiver()
@@ -159,6 +181,11 @@
}
LOG << for_each( src.resolvables().begin(), src.resolvables().end(),
ResStoreStats() ) << endl;
+
+ for_each( src.resolvables().begin(),
+ src.resolvables().end(),
+ sourceProvidePackage );
+
if ( verbose )
{
dumpRange( LOG, src.resolvables().begin(), src.resolvables().end() ) << endl;
Modified: trunk/libzypp/zypp/media/MediaHandler.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/media/MediaHandler.cc?rev=5548&r1=5547&r2=5548&view=diff
==============================================================================
--- trunk/libzypp/zypp/media/MediaHandler.cc (original)
+++ trunk/libzypp/zypp/media/MediaHandler.cc Tue May 15 13:59:49 2007
@@ -394,6 +394,7 @@
//
// FIXME: use mkdtemp?
//
+#warning Use class TmpDir from TmpPath.h
Pathname abase( attach_root + "AP_" );
// ma and sh need more than 42 for debugging :-)
// since the readonly fs are handled now, ...
Modified: trunk/libzypp/zypp/source/SourceProvideFile.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/source/SourceProvideFile.cc?rev=5548&r1=5547&r2=5548&view=diff
==============================================================================
--- trunk/libzypp/zypp/source/SourceProvideFile.cc (original)
+++ trunk/libzypp/zypp/source/SourceProvideFile.cc Tue May 15 13:59:49 2007
@@ -51,6 +51,26 @@
function _redirect;
};
+ /** ManagedFile Dispose functor.
+ * The Pathname argument is ignored, as Source_Ref::releaseFile expects the filename
+ * relative to the medias root (i.e. same args as to provideFile).
+ */
+ struct SourceReleaseFile
+ {
+ SourceReleaseFile( Source_Ref source_r, const Pathname & location_r, unsigned mediaNr_r )
+ : _source( source_r ), _location( location_r ), _medianr( mediaNr_r )
+ {}
+
+ void operator()( const Pathname & /*UNUSED*/ )
+ {
+ _source.releaseFile( _location, _medianr );
+ }
+
+ Source_Ref _source;
+ Pathname _location;
+ unsigned _medianr;
+ };
+
/////////////////////////////////////////////////////////////////
} // namespace
///////////////////////////////////////////////////////////////////
@@ -70,7 +90,7 @@
ManagedFile ret( source_r.provideFile( loc_r.filename(), loc_r.medianr() ),
- bind( &Source_Ref::releaseFile, source_r, _1, loc_r.medianr() ) );
+ SourceReleaseFile( source_r, loc_r.filename(), loc_r.medianr() ) );
if ( loc_r.checksum().empty() )
{
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org
For additional commands, e-mail: zypp-commit+help@opensuse.org