Author: mlandres Date: Fri Jul 13 13:15:58 2007 New Revision: 6003 URL: http://svn.opensuse.org/viewcvs/zypp?rev=6003&view=rev Log: fix writing of OnMediaLocation Attributes Modified: branches/REFACTORING-10_3/libzypp/zypp/OnMediaLocation.h branches/REFACTORING-10_3/libzypp/zypp/ProgressData.cc branches/REFACTORING-10_3/libzypp/zypp/cache/CacheAttributes.h branches/REFACTORING-10_3/libzypp/zypp/cache/CacheStore.cc branches/REFACTORING-10_3/libzypp/zypp/pool/PoolImpl.cc Modified: branches/REFACTORING-10_3/libzypp/zypp/OnMediaLocation.h URL: http://svn.opensuse.org/viewcvs/zypp/branches/REFACTORING-10_3/libzypp/zypp/OnMediaLocation.h?rev=6003&r1=6002&r2=6003&view=diff ============================================================================== --- branches/REFACTORING-10_3/libzypp/zypp/OnMediaLocation.h (original) +++ branches/REFACTORING-10_3/libzypp/zypp/OnMediaLocation.h Fri Jul 13 13:15:58 2007 @@ -26,7 +26,7 @@ // // CLASS NAME : OnMediaLocation // - /** + /** * Describes a path ona certain media amongs as the information * required to download it, like its media number, checksum and * size. @@ -48,7 +48,7 @@ const CheckSum & checksum() const { return _checksum; } const ByteCount & downloadSize() const { return _downloadsize; } const ByteCount & gzDownloadSize() const { return _gzdownloadsize; } - const CheckSum & gzChecksum() const { return _gzchecksum; } + const CheckSum & gzChecksum() const { return _gzchecksum; } public: OnMediaLocation & setMedianr( unsigned val_r ) { _medianr = val_r; return *this; } Modified: branches/REFACTORING-10_3/libzypp/zypp/ProgressData.cc URL: http://svn.opensuse.org/viewcvs/zypp/branches/REFACTORING-10_3/libzypp/zypp/ProgressData.cc?rev=6003&r1=6002&r2=6003&view=diff ============================================================================== --- branches/REFACTORING-10_3/libzypp/zypp/ProgressData.cc (original) +++ branches/REFACTORING-10_3/libzypp/zypp/ProgressData.cc Fri Jul 13 13:15:58 2007 @@ -75,9 +75,16 @@ } else { - DBG << str::form( "{#%u|%s}(%lld%s)", - numericId(), name().c_str(), - _d->_last_val, ( hasRange() ? "%" : "!" ) ) << endl; + if ( _d->_state != END ) + { + DBG << str::form( "{#%u|%s}(%lld%s)", + numericId(), name().c_str(), + _d->_last_val, ( hasRange() ? "%" : "!" ) ) << endl; + } + else + { + DBG << str::form( "{#%u|%s}END", numericId(), name().c_str() ) << endl; + } } } Modified: branches/REFACTORING-10_3/libzypp/zypp/cache/CacheAttributes.h URL: http://svn.opensuse.org/viewcvs/zypp/branches/REFACTORING-10_3/libzypp/zypp/cache/CacheAttributes.h?rev=6003&r1=6002&r2=6003&view=diff ============================================================================== --- branches/REFACTORING-10_3/libzypp/zypp/cache/CacheAttributes.h (original) +++ branches/REFACTORING-10_3/libzypp/zypp/cache/CacheAttributes.h Fri Jul 13 13:15:58 2007 @@ -14,6 +14,17 @@ #include "zypp/cache/Attribute.h" +/** Define OnMediaLocation attributes using a common prefix for all attributes. */ +#define defineOnMediaLocationAttr(OMLATTRPREFIX,KLASS,ATTRNAMEPREFIX ) \ + inline const Attribute & OMLATTRPREFIX##MediaNr() { static Attribute a(KLASS,#ATTRNAMEPREFIX"MediaNr"); return a; } \ + inline const Attribute & OMLATTRPREFIX##Filename() { static Attribute a(KLASS,#ATTRNAMEPREFIX"Filename"); return a; } \ + inline const Attribute & OMLATTRPREFIX##DownloadSize() { static Attribute a(KLASS,#ATTRNAMEPREFIX"DownloadSize"); return a; } \ + inline const Attribute & OMLATTRPREFIX##Checksum() { static Attribute a(KLASS,#ATTRNAMEPREFIX"Checksum"); return a; } \ + inline const Attribute & OMLATTRPREFIX##ChecksumType() { static Attribute a(KLASS,#ATTRNAMEPREFIX"ChecksumType"); return a; } \ + inline const Attribute & OMLATTRPREFIX##GzDownloadSize() { static Attribute a(KLASS,#ATTRNAMEPREFIX"GzDownloadSize"); return a; } \ + inline const Attribute & OMLATTRPREFIX##GzChecksum() { static Attribute a(KLASS,#ATTRNAMEPREFIX"GzChecksum"); return a; } \ + inline const Attribute & OMLATTRPREFIX##GzChecksumType() { static Attribute a(KLASS,#ATTRNAMEPREFIX"GzChecksumType"); return a; } + /////////////////////////////////////////////////////////////////// namespace zypp { ///////////////////////////////////////////////////////////////// @@ -43,11 +54,10 @@ inline const Attribute & attrPackagePrein() { static Attribute a("Package","prein"); return a; } inline const Attribute & attrPackagePreun() { static Attribute a("Package","preun"); return a; } inline const Attribute & attrPackageUrl() { static Attribute a("Package","url"); return a; } - inline const Attribute & attrPackageLocationFilename() { static Attribute a("Package","locationFilename"); return a; } - inline const Attribute & attrPackageLocationDownloadSize() { static Attribute a("Package","locationDownloadSize"); return a; } - inline const Attribute & attrPackageLocationChecksum() { static Attribute a("Package","locationChecksum"); return a; } - inline const Attribute & attrPackageLocationChecksumType() { static Attribute a("Package","locationChecksumType"); return a; } - inline const Attribute & attrPackageLocationMediaNr() { static Attribute a("Package","locationMediaNr"); return a; } + inline const Attribute & attrPackageSourcePkgName() { static Attribute a("Package","sourcePkgName"); return a; } + inline const Attribute & attrPackageSourcePkgEdition() { static Attribute a("Package","sourcePkgEdition"); return a; } + // define attrPackageLocationMediaNr, attrPackageLocationFilename, etc. + defineOnMediaLocationAttr( attrPackageLocation, "Package", "location" ) /////////////////////////////////////////////////////////////////// inline const Attribute & attrPatchAffectsPkgManager() { static Attribute a("Patch","affectsPkgManager"); return a; } inline const Attribute & attrPatchCategory() { static Attribute a("Patch","category"); return a; } @@ -82,19 +92,14 @@ inline const Attribute & attrResObjectVendor() { static Attribute a("ResObject","vendor"); return a; } /////////////////////////////////////////////////////////////////// inline const Attribute & attrScriptDoScript() { static Attribute a("Script","doScript"); return a; } - inline const Attribute & attrScriptDoScriptChecksum() { static Attribute a("Script","doScriptChecksum"); return a; } - inline const Attribute & attrScriptDoScriptChecksumType() { static Attribute a("Script","doScriptChecksumType"); return a; } - inline const Attribute & attrScriptDoScriptLocation() { static Attribute a("Script","doScriptLocation"); return a; } + // define attrScriptDoScriptLocationMediaNr, attrLocationFilename, etc. + defineOnMediaLocationAttr( attrScriptDoScriptLocation, "Script", "doScriptLocation" ) inline const Attribute & attrScriptUndoScript() { static Attribute a("Script","undoScript"); return a; } - inline const Attribute & attrScriptUndoScriptChecksum() { static Attribute a("Script","undoScriptChecksum"); return a; } - inline const Attribute & attrScriptUndoScriptChecksumType(){ static Attribute a("Script","undoScriptChecksumType"); return a; } - inline const Attribute & attrScriptUndoScriptLocation() { static Attribute a("Script","undoScriptLocation"); return a; } - /////////////////////////////////////////////////////////////////// - inline const Attribute & attrSrcPackageLocationFilename() { static Attribute a("SrcPackage","locationFilename"); return a; } - inline const Attribute & attrSrcPackageLocationDownloadSize() { static Attribute a("SrcPackage","locationDownloadSize"); return a; } - inline const Attribute & attrSrcPackageLocationChecksum() { static Attribute a("SrcPackage","locationChecksum"); return a; } - inline const Attribute & attrSrcPackageLocationChecksumType() { static Attribute a("SrcPackage","locationChecksumType"); return a; } - inline const Attribute & attrSrcPackageLocationMediaNr() { static Attribute a("SrcPackage","locationMediaNr"); return a; } + // define attrScriptUndoScriptLocationMediaNr, attrLocationFilename, etc. + defineOnMediaLocationAttr( attrScriptUndoScriptLocation, "Script", "undoScriptLocation" ) + /////////////////////////////////////////////////////////////////// + // define attrSrcPackageLocationMediaNr, attrSrcPackageLocationFilename, etc. + defineOnMediaLocationAttr( attrSrcPackageLocation, "SrcPackage", "location" ) /////////////////////////////////////////////////////////////////// //@} Modified: branches/REFACTORING-10_3/libzypp/zypp/cache/CacheStore.cc URL: http://svn.opensuse.org/viewcvs/zypp/branches/REFACTORING-10_3/libzypp/zypp/cache/CacheStore.cc?rev=6003&r1=6002&r2=6003&view=diff ============================================================================== --- branches/REFACTORING-10_3/libzypp/zypp/cache/CacheStore.cc (original) +++ branches/REFACTORING-10_3/libzypp/zypp/cache/CacheStore.cc Fri Jul 13 13:15:58 2007 @@ -21,6 +21,22 @@ using zypp::debug::Measure; +/** Append OnMediaLocation attributes to resolvable with ID. + * Pass the OnMediaLocation attributes common prefix as 2nd arg. This macro + * assumes that the attribute names follow this schema: +*/ +#define appendOnMediaLocation(ID,OMLATTRPREFIX,OML) \ +do { \ + appendNumericAttribute( ID, OMLATTRPREFIX##MediaNr(), OML.medianr() ); \ + appendStringAttribute ( ID, OMLATTRPREFIX##Filename(), OML.filename().asString() ); \ + appendNumericAttribute( ID, OMLATTRPREFIX##DownloadSize(), OML.downloadSize() ); \ + appendStringAttribute ( ID, OMLATTRPREFIX##ChecksumType(), OML.checksum().type() ); \ + appendStringAttribute ( ID, OMLATTRPREFIX##Checksum(), OML.checksum().checksum() ); \ + appendNumericAttribute( ID, OMLATTRPREFIX##GzDownloadSize(), OML.gzDownloadSize() ); \ + appendStringAttribute ( ID, OMLATTRPREFIX##GzChecksumType(), OML.gzChecksum().type() ); \ + appendStringAttribute ( ID, OMLATTRPREFIX##GzChecksum(), OML.gzChecksum().checksum() );\ +} while(false) + /////////////////////////////////////////////////////////////////// namespace zypp { ///////////////////////////////////////////////////////////////// @@ -231,20 +247,23 @@ appendStringContainerAttribute( pkgid, attrPackageKeywords(), package->keywords.begin(), package->keywords.end() ); appendStringContainerAttribute( pkgid, attrPackageAuthors(), package->authors.begin(), package->authors.end() ); - appendStringAttribute( pkgid, attrPackageLocationFilename(), package->repositoryLocation.filename().asString() ); - appendNumericAttribute( pkgid, attrPackageLocationMediaNr(), package->repositoryLocation.medianr() ); - appendNumericAttribute( pkgid, attrPackageLocationDownloadSize(), package->repositoryLocation.downloadSize() ); - appendStringAttribute( pkgid, attrPackageLocationChecksumType(), package->repositoryLocation.checksum().type() ); - appendStringAttribute( pkgid, attrPackageLocationChecksum(), package->repositoryLocation.checksum().checksum() ); + appendOnMediaLocation( pkgid, attrPackageLocation, package->repositoryLocation ); } RecordId CacheStore::consumePackage( const RecordId & repository_id, - const data::Package_Ptr & package ) + const data::Package_Ptr & package ) { RecordId id = appendResolvable( repository_id, ResTraits<Package>::kind, NVRA( package->name, package->edition, package->arch ), package->deps ); appendResObjectAttributes( id, package ); appendPackageBaseAttributes( id, package ); + + if ( ! package->srcPackageIdent.name.empty() ) + { + appendStringAttribute( id, attrPackageSourcePkgName(), package->srcPackageIdent.name ); + appendStringAttribute( id, attrPackageSourcePkgEdition(), package->srcPackageIdent.edition.asString() ); + } + return id; } @@ -255,12 +274,7 @@ NVRA( package->name, package->edition, package->arch ), package->deps ); appendResObjectAttributes( id, package ); - appendStringAttribute( id, attrSrcPackageLocationFilename(), package->repositoryLocation.filename().asString() ); - appendNumericAttribute( id, attrSrcPackageLocationMediaNr(), package->repositoryLocation.medianr() ); - appendNumericAttribute( id, attrSrcPackageLocationDownloadSize(), package->repositoryLocation.downloadSize() ); - appendStringAttribute( id, attrSrcPackageLocationChecksumType(), package->repositoryLocation.checksum().type() ); - appendStringAttribute( id, attrSrcPackageLocationChecksum(), package->repositoryLocation.checksum().checksum() ); - + appendOnMediaLocation( id, attrSrcPackageLocation, package->repositoryLocation ); return id; } @@ -355,13 +369,9 @@ appendResObjectAttributes( id, script ); appendStringAttribute( id, attrScriptDoScript(), script->doScript ); - appendStringAttribute( id, attrScriptDoScriptLocation(), script->doScriptLocation.filename().asString() ); - appendStringAttribute( id, attrScriptDoScriptChecksum(), script->doScriptLocation.checksum().checksum() ); - appendStringAttribute( id, attrScriptDoScriptChecksumType(), script->doScriptLocation.checksum().type() ); + appendOnMediaLocation( id, attrScriptDoScriptLocation, script->doScriptLocation ); appendStringAttribute( id, attrScriptUndoScript(), script->undoScript ); - appendStringAttribute( id, attrScriptUndoScriptLocation(), script->undoScriptLocation.filename().asString() ); - appendStringAttribute( id, attrScriptUndoScriptChecksum(), script->undoScriptLocation.checksum().checksum() ); - appendStringAttribute( id, attrScriptUndoScriptChecksumType(), script->undoScriptLocation.checksum().type() ); + appendOnMediaLocation( id, attrScriptUndoScriptLocation, script->undoScriptLocation ); return id; } @@ -453,7 +463,7 @@ _pimpl->append_resolvable_cmd->bind( ":arch", lookupOrAppendType("arch", nvra.arch.asString()) ); _pimpl->append_resolvable_cmd->bind( ":kind", lookupOrAppendType("kind", kind.asString()) ); _pimpl->append_resolvable_cmd->bind( ":repository_id", repository_id ); - + if ( shared_id == data::noRecordId ) _pimpl->append_resolvable_cmd->bind(":shared_id"); else Modified: branches/REFACTORING-10_3/libzypp/zypp/pool/PoolImpl.cc URL: http://svn.opensuse.org/viewcvs/zypp/branches/REFACTORING-10_3/libzypp/zypp/pool/PoolImpl.cc?rev=6003&r1=6002&r2=6003&view=diff ============================================================================== --- branches/REFACTORING-10_3/libzypp/zypp/pool/PoolImpl.cc (original) +++ branches/REFACTORING-10_3/libzypp/zypp/pool/PoolImpl.cc Fri Jul 13 13:15:58 2007 @@ -231,8 +231,8 @@ if ( ! ptr_r ) return; - //if ( isKind<SrcPackage>( ptr_r ) ) - // return; + if ( isKind<SrcPackage>( ptr_r ) ) + return; if ( ! _installed ) { -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org