Trivial to implement as the same backend machinery is used anyway. Document it and add it to the accepted options. Signed-off-by: Dan McGee <dan@archlinux.org> --- doc/pacman.8.txt | 11 +++++++++++ src/pacman/pacman.c | 6 ++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/doc/pacman.8.txt b/doc/pacman.8.txt index a362d2c..bca723d 100644 --- a/doc/pacman.8.txt +++ b/doc/pacman.8.txt @@ -229,6 +229,17 @@ Upgrade Options (apply to '-S' and '-U')[[UO]] there is one available. Multiple groups can be specified by separating them with a comma. +*\--needed*:: + Don't reinstall the targets that are already up to date. + +*\--recursive*:: + Recursively reinstall all dependencies of the targets. This forces upgrades + or reinstalls of all dependencies without requiring explicit version + requirements. This is most useful in combination with the '\--needed' flag, + which will induce a deep dependency upgrade without any unnecessary + reinstalls. + + Query Options[[QO]] ------------------- *-c, \--changelog*:: diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index 585c8e0..5457698 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -134,6 +134,8 @@ static void usage(int op, const char * const myname) addlist(_(" -u, --unneeded remove unneeded packages\n")); } else if(op == PM_OP_UPGRADE) { printf("%s: %s {-U --upgrade} [%s] <%s>\n", str_usg, myname, str_opt, str_file); + addlist(_(" --needed don't reinstall up to date packages\n")); + addlist(_(" --recursive reinstall all dependencies of target packages\n")); printf("%s:\n", str_opt); } else if(op == PM_OP_QUERY) { printf("%s: %s {-Q --query} [%s] [%s]\n", str_usg, myname, str_opt, str_pkg); @@ -531,6 +533,8 @@ static int parsearg_upgrade(int opt) case 'f': config->flags |= ALPM_TRANS_FLAG_FORCE; break; case OP_ASDEPS: config->flags |= ALPM_TRANS_FLAG_ALLDEPS; break; case OP_ASEXPLICIT: config->flags |= ALPM_TRANS_FLAG_ALLEXPLICIT; break; + case OP_NEEDED: config->flags |= ALPM_TRANS_FLAG_NEEDED; break; + case OP_RECURSIVE: config->flags |= ALPM_TRANS_FLAG_RECURSE; break; case OP_IGNORE: parsearg_util_addlist(&(config->ignorepkg)); break; @@ -547,8 +551,6 @@ static int parsearg_sync(int opt) if(parsearg_upgrade(opt) == 0) return 0; switch(opt) { - case OP_NEEDED: config->flags |= ALPM_TRANS_FLAG_NEEDED; break; - case OP_RECURSIVE: config->flags |= ALPM_TRANS_FLAG_RECURSE; break; case 'c': (config->op_s_clean)++; break; case 'g': (config->group)++; break; case 'i': (config->op_s_info)++; break; -- 1.7.6