Do not print a question in non-interractive mode but explain why boostrapping

has failed and how to allow it to happen

Reported by:	jmmv
This commit is contained in:
Baptiste Daroussin 2013-12-23 17:16:44 +00:00
parent 6bb3c5ceb8
commit 575c4095bf
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=259773

View File

@ -821,6 +821,11 @@ static const char confirmation_message[] =
"The package management tool is not yet installed on your system.\n"
"Do you want to fetch and install it now? [y/N]: ";
static const char non_interractive_message[] =
"The package management tool is not yet installed on your system.\n"
"Please set ASSUME_ALWAYS_YES=yes environement variable to be able to boostrap "
"in non-interractive (stdin not being a tty)\n";
static int
pkg_query_yes_no(void)
{
@ -939,10 +944,12 @@ main(int argc, char *argv[])
*/
config_bool(ASSUME_ALWAYS_YES, &yes);
if (!yes) {
printf("%s", confirmation_message);
if (!isatty(fileno(stdin)))
if (!isatty(fileno(stdin))) {
fprintf(stderr, non_interractive_message);
exit(EXIT_FAILURE);
}
printf("%s", confirmation_message);
if (pkg_query_yes_no() == 0)
exit(EXIT_FAILURE);
}