From ca9ddf7df364e5eb132e684aea3472102df1fb73 Mon Sep 17 00:00:00 2001 From: Jan Kupec Date: Wed, 20 Jun 2007 07:18:32 +0000 Subject: [PATCH] loading target resolvables where forgotten --- src/zypper-misc.cc | 41 ++++++++++++----------------------------- src/zypper-misc.h | 26 +++++++++++++++++++++----- src/zypper.cc | 16 ++++++---------- 3 files changed, 39 insertions(+), 44 deletions(-) diff --git a/src/zypper-misc.cc b/src/zypper-misc.cc index bfc9d38..362dca4 100644 --- a/src/zypper-misc.cc +++ b/src/zypper-misc.cc @@ -395,40 +395,15 @@ std::string calculate_token() return token; } */ -/* -void cond_load_resolvables () + +void cond_load_resolvables() { - // load repository resolvables - load_sources(); + load_repo_resolvables(); - // load target resolvables if ( ! gSettings.disable_system_resolvables ) { - load_target(); + load_target_resolvables(); } } -*/ -void load_target() -{ - cerr << _("Parsing RPM database...") << endl; - ResStore tgt_resolvables(God->target()->resolvables()); - cerr_v << " " << tgt_resolvables.size() << _(" resolvables.") << endl; - God->addResolvables(tgt_resolvables, true /*installed*/); -} -/* -void load_sources() -{ - for ( std::list::iterator it = gData.sources.begin(); it != gData.sources.end(); ++it ) - { - if (! it->enabled()) - continue; // #217297 - - cerr << _("Parsing metadata for ") << it->alias() << "..." << endl; - ResStore src_resolvables(it->resolvables()); - cerr_v << " " << src_resolvables.size() << _(" resolvables.") << endl; - God->addResolvables(src_resolvables); - } -} -*/ /** read repository resolvables */ void load_repo_resolvables() @@ -472,6 +447,14 @@ void load_repo_resolvables() } } +void load_target_resolvables() +{ + cout << _("Reading RPM database...") << endl; + ResStore tgt_resolvables(God->target()->resolvables()); + cout_v << " " << format(_("%s resolvables.")) % tgt_resolvables.size() << endl; + God->addResolvables(tgt_resolvables, true /*installed*/); +} + void establish () { cerr_v << _("Establishing status of aggregates") << endl; diff --git a/src/zypper-misc.h b/src/zypper-misc.h index 4a2f978..315fff1 100644 --- a/src/zypper-misc.h +++ b/src/zypper-misc.h @@ -16,7 +16,11 @@ #include "zypp/PoolItem.h" #include "zypper-tabulator.h" -void cond_init_target (); +/** + * Initialize rpm database on target, if not already initialized. + */ +void cond_init_target(); + bool readBoolAnswer(); zypp::ResObject::Kind string_to_kind (const std::string &skind); void mark_for_install( const zypp::ResObject::Kind &kind, @@ -25,11 +29,23 @@ void mark_for_uninstall( const zypp::ResObject::Kind &kind, const std::string &name ); int show_summary(); std::string calculate_token(); -//! load all resolvables that the user wants -//void cond_load_resolvables (); -void load_target(); -//void load_sources(); + +/** + * Load both repository and target resolvables into the pool respecting + * user defined conditions. + */ +void cond_load_resolvables (); + +/** + * Load resolvables from all repositories into the pool. + */ +void load_target_resolvables(); + +/** + * Load installed resolvables from target into the pool. + */ void load_repo_resolvables(); + void establish (); bool resolve(); void dump_pool (); diff --git a/src/zypper.cc b/src/zypper.cc index 35450c5..f98a306 100644 --- a/src/zypper.cc +++ b/src/zypper.cc @@ -743,11 +743,7 @@ int one_command(const ZypperCommand & command, int argc, char **argv) } cond_init_target (); - cout_v << "loading repo resolvables... "; - load_repo_resolvables(); - cout_v << "DONE" << endl; - cout_v << "loading installed resolvables... "; - zypp::getZYpp()->addResolvables(zypp::getZYpp()->target()->resolvables(), true); + cond_load_resolvables(); for ( vector::const_iterator it = arguments.begin(); it != arguments.end(); ++it ) { if (command == ZypperCommand::INSTALL) { @@ -834,7 +830,7 @@ int one_command(const ZypperCommand & command, int argc, char **argv) // TODO calc token? // now load resolvables: - load_repo_resolvables (); + cond_load_resolvables(); establish (); patch_check (); @@ -856,7 +852,7 @@ int one_command(const ZypperCommand & command, int argc, char **argv) cond_init_target (); init_repos (); - load_repo_resolvables (); + cond_load_resolvables(); establish (); show_patches (); return ZYPPER_EXIT_OK; @@ -881,7 +877,7 @@ int one_command(const ZypperCommand & command, int argc, char **argv) cond_init_target (); init_repos (); - load_repo_resolvables (); + cond_load_resolvables(); establish (); list_updates (kind); @@ -909,7 +905,7 @@ int one_command(const ZypperCommand & command, int argc, char **argv) cond_init_target (); init_repos (); - load_repo_resolvables (); + cond_load_resolvables (); establish (); bool skip_interactive = copts.count("skip-interactive") || gSettings.non_interactive; @@ -931,7 +927,7 @@ int one_command(const ZypperCommand & command, int argc, char **argv) cond_init_target (); init_repos (); - load_repo_resolvables (); + cond_load_resolvables (); establish (); printInfo(command,arguments); -- 2.7.4