aboutsummaryrefslogtreecommitdiffstats
path: root/src/action.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/action.c')
-rw-r--r--src/action.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/action.c b/src/action.c
index fed191e..e9b7a97 100644
--- a/src/action.c
+++ b/src/action.c
@@ -490,12 +490,15 @@ void pkg_action_upgrade_all(const rc_config *global_config){
*/
deps = is_required_by(global_config,avail_pkgs,installed_pkgs->pkgs[r]);
for(c = 0; c < deps->pkg_count; c++ ){
- if( get_newest_pkg(installed_pkgs,deps->pkgs[c]->name) != NULL )
- add_remove_to_transaction(&tran,deps->pkgs[c]);
+ if( get_newest_pkg(avail_pkgs,deps->pkgs[c]->name) == NULL ){
+ if( is_excluded(global_config,deps->pkgs[c]) != 1 )
+ add_remove_to_transaction(&tran,deps->pkgs[c]);
+ }
}
free(deps->pkgs);
free(deps);
- add_remove_to_transaction(&tran,installed_pkgs->pkgs[r]);
+ if( is_excluded(global_config,installed_pkgs->pkgs[r]) != 1 )
+ add_remove_to_transaction(&tran,installed_pkgs->pkgs[r]);
}
}