svn commit: r259773 - head/usr.sbin/pkg

Baptiste Daroussin bapt at FreeBSD.org
Mon Dec 23 17:16:44 UTC 2013


Author: bapt
Date: Mon Dec 23 17:16:44 2013
New Revision: 259773
URL: http://svnweb.freebsd.org/changeset/base/259773

Log:
  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

Modified:
  head/usr.sbin/pkg/pkg.c

Modified: head/usr.sbin/pkg/pkg.c
==============================================================================
--- head/usr.sbin/pkg/pkg.c	Mon Dec 23 17:14:11 2013	(r259772)
+++ head/usr.sbin/pkg/pkg.c	Mon Dec 23 17:16:44 2013	(r259773)
@@ -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);
 		}


More information about the svn-src-all mailing list