Hi all I'm still getting my head around git and pacman-dev's workflow - I know its not that complicated, just need a bit of time. When using --noconfirm the prompt is presented (odd part) and the user (rightly) is not given an opportunity to confirm:
[ brendan@swift : 12:36:40 : ~/src/pacman ] :) sudo pacman -Sc --noconfirm Cache directory: /var/cache/pacman/pkg/ Do you want to remove outdated packages from cache? [Y/n] <------ removing old packages from cache... done. Database directory: /var/lib/pacman/ Do you want to remove unused repositories? [Y/n] <------ Database directory cleaned up [ brendan@swift : 12:36:57 : ~/src/pacman ] :) Best fix I can think of is to just mention that we're using a default because the --noconfirm flag has been used. The alternative (which is less informative for the user) is to not present the prompt at all.
I've inserted 2 strings below. Assuming this is the right change to make, what else would I need to do to ensure that this is compatible with the i18n measures already in place? util.c, lines 641-680:
/* presents a prompt and gets a Y/N answer */ static int question(short preset, char *fmt, va_list args) { char response[32]; FILE *stream;
if(config->noconfirm) { stream = stdout; } else { /* Use stderr so questions are always displayed when redirecting output */ stream = stderr; }
vfprintf(stream, fmt, args);
if(preset) { fprintf(stream, " %s ", _("[Y/n]")); } else { fprintf(stream, " %s ", _("[y/N]")); }
if(config->noconfirm) { fprintf(stream, "\n"); Replace the 'fprintf(stream, "\n");' line above with something like: if(preset) { fprintf(stream, "%s", _("noconfirm option set, defaulting to Yes\n")); } else { fprintf(stream, "%s", _("noconfirm option set, defaulting to No\n")); } return(preset); }
if(fgets(response, 32, stdin)) { strtrim(response); if(strlen(response) == 0) { return(preset); }
if(!strcasecmp(response, _("Y")) || !strcasecmp(response, _("YES"))) { return(1); } else if (!strcasecmp(response, _("N")) || !strcasecmp(response, _("NO"))) { return(0); } } return(0); } --
__________ Brendan Hide