Author: lslezak Date: Tue Jul 10 19:04:19 2007 New Revision: 39296 URL: http://svn.opensuse.org/viewcvs/yast?rev=39296&view=rev Log: - added internal method CreateRepoManager() - create RepoManager object with the cofigured target root directory (all pkg-bindings functions must use it to use the correct root directory!) Modified: branches/REFACTORING-10_3/pkg-bindings/src/PkgModuleFunctions.cc branches/REFACTORING-10_3/pkg-bindings/src/PkgModuleFunctions.h branches/REFACTORING-10_3/pkg-bindings/src/Source.cc branches/REFACTORING-10_3/pkg-bindings/src/Target.cc Modified: branches/REFACTORING-10_3/pkg-bindings/src/PkgModuleFunctions.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/REFACTORING-10_3/pkg-bindings/src/PkgModuleFunctions.cc?rev=39296&r1=39295&r2=39296&view=diff ============================================================================== --- branches/REFACTORING-10_3/pkg-bindings/src/PkgModuleFunctions.cc (original) +++ branches/REFACTORING-10_3/pkg-bindings/src/PkgModuleFunctions.cc Tue Jul 10 19:04:19 2007 @@ -573,6 +573,16 @@ return YCPBoolean(true); } +zypp::RepoManager PkgModuleFunctions::CreateRepoManager() +{ + // set path option, use root dir as a prefix for the default directory + zypp::RepoManagerOptions repo_options; + repo_options.knownReposPath = zypp::Pathname(_target_root) + repo_options.knownReposPath; + + y2milestone("Path to repository files: %s", repo_options.knownReposPath.asString().c_str()); + + return zypp::RepoManager(repo_options); +} /** ------------------------ * Convert InstSrcDescr to product info YCPMap: Modified: branches/REFACTORING-10_3/pkg-bindings/src/PkgModuleFunctions.h URL: http://svn.opensuse.org/viewcvs/yast/branches/REFACTORING-10_3/pkg-bindings/src/PkgModuleFunctions.h?rev=39296&r1=39295&r2=39296&view=diff ============================================================================== --- branches/REFACTORING-10_3/pkg-bindings/src/PkgModuleFunctions.h (original) +++ branches/REFACTORING-10_3/pkg-bindings/src/PkgModuleFunctions.h Tue Jul 10 19:04:19 2007 @@ -113,6 +113,8 @@ YCPValue PkgProp( zypp::PoolItem_Ref item ); YCPValue PkgMediaSizesOrCount (bool sizes); + zypp::RepoManager CreateRepoManager(); + void SetCurrentDU(); // builtin handling Modified: branches/REFACTORING-10_3/pkg-bindings/src/Source.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/REFACTORING-10_3/pkg-bindings/src/Source.cc?rev=39296&r1=39295&r2=39296&view=diff ============================================================================== --- branches/REFACTORING-10_3/pkg-bindings/src/Source.cc (original) +++ branches/REFACTORING-10_3/pkg-bindings/src/Source.cc Tue Jul 10 19:04:19 2007 @@ -184,7 +184,7 @@ try { - zypp::RepoManager repomanager; + zypp::RepoManager repomanager = CreateRepoManager(); std::listzypp::RepoInfo reps = repomanager.knownRepositories(); repos.clear(); @@ -250,11 +250,12 @@ continue; } + zypp::RepoManager repomanager = CreateRepoManager(); + // autorefresh the source if (it->autorefresh()) { y2milestone("Autorefreshing source: %s", it->alias().c_str()); - zypp::RepoManager repomanager; repomanager.refreshMetadata(*it); } @@ -267,7 +268,6 @@ callbacks_evaluated = true; } - zypp::RepoManager repomanager; zypp::Repository repository = repomanager.createFromCache(*it); // load resolvables @@ -457,7 +457,7 @@ { y2milestone("Saving the source setup..."); - zypp::RepoManager repomanager; + zypp::RepoManager repomanager = CreateRepoManager(); // TODO: do it better, remove only really removed repos @@ -693,10 +693,10 @@ /* data->add( YCPString("media_count"), YCPInteger(src.numberOfMedia())); data->add( YCPString("media_id"), YCPString(src.unique_id())); data->add( YCPString("media_vendor"), YCPString(src.vendor())); - -#warning SourceMediaData returns URL without password - data->add( YCPString("url"), YCPString(src.url().asString())); */ +#warning SourceMediaData returns URL without password + data->add( YCPString("url"), YCPString(src.baseUrlsBegin()->asString())); + return data; } @@ -1123,7 +1123,7 @@ // repository type zypp::repo::RepoType repotype; - zypp::RepoManager repomanager; + zypp::RepoManager repomanager = CreateRepoManager(); if (!type.empty()) { @@ -1456,7 +1456,7 @@ zypp::RepoInfo src = logFindRepository(id); src.setEnabled(true); - zypp::RepoManager repomanager; + zypp::RepoManager repomanager = CreateRepoManager(); // update Repository zypp::Repository r = repomanager.createFromCache(src); @@ -1492,7 +1492,7 @@ zypp::RepoInfo src = logFindRepository(ret); src.setEnabled(true); - zypp::RepoManager repomanager; + zypp::RepoManager repomanager = CreateRepoManager(); // update Repository zypp::Repository r = repomanager.createFromCache(src); @@ -1550,7 +1550,7 @@ { src.setEnabled(enable); - zypp::RepoManager repomanager; + zypp::RepoManager repomanager = CreateRepoManager(); // update Repository zypp::Repository r = repomanager.createFromCache(src); @@ -1650,7 +1650,7 @@ try { - zypp::RepoManager repomanager; + zypp::RepoManager repomanager = CreateRepoManager(); repomanager.refreshMetadata(src); } catch ( const zypp::Exception & expt ) Modified: branches/REFACTORING-10_3/pkg-bindings/src/Target.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/REFACTORING-10_3/pkg-bindings/src/Target.cc?rev=39296&r1=39295&r2=39296&view=diff ============================================================================== --- branches/REFACTORING-10_3/pkg-bindings/src/Target.cc (original) +++ branches/REFACTORING-10_3/pkg-bindings/src/Target.cc Tue Jul 10 19:04:19 2007 @@ -139,13 +139,7 @@ { // FIXME: should it also remove from pool? - // set path option, use root dir as a prefix for the default directory - zypp::RepoManagerOptions repo_options; - repo_options.knownReposPath = zypp::Pathname(_target_root) + repo_options.knownReposPath; - - y2milestone("Disabling all sources at %s", repo_options.knownReposPath.asString().c_str()); - - zypp::RepoManager repomanager(repo_options); + zypp::RepoManager repomanager = CreateRepoManager(); std::listzypp::RepoInfo all_sources = repomanager.knownRepositories(); for (std::listzypp::RepoInfo::iterator it = all_sources.begin(); it != all_sources.end(); ++it) -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org