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

Matthew Seaman matthew at FreeBSD.org
Fri Dec 21 20:01:14 UTC 2012


Author: matthew (ports committer)
Date: Fri Dec 21 20:01:13 2012
New Revision: 244553
URL: http://svnweb.freebsd.org/changeset/base/244553

Log:
  In preparation for making 'pkg -n' the one true method of determining
  whether a system has been configured to use pkgng, cause /usr/sbin/pkg
  recognise a -n option and exit with a failure code when the pkg port
  is not installed.
  
  Approved by:	bapt
  MFC after:	2 weeks

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

Modified: head/usr.sbin/pkg/pkg.c
==============================================================================
--- head/usr.sbin/pkg/pkg.c	Fri Dec 21 19:36:08 2012	(r244552)
+++ head/usr.sbin/pkg/pkg.c	Fri Dec 21 20:01:13 2012	(r244553)
@@ -452,6 +452,16 @@ main(__unused int argc, char *argv[])
 	    getenv("LOCALBASE") ? getenv("LOCALBASE") : _LOCALBASE);
 
 	if (access(pkgpath, X_OK) == -1) {
+		/* 
+		 * To allow 'pkg -n' to be used as a reliable test for whether
+		 * a system is configured to use pkg, don't bootstrap pkg
+		 * when that argument is given as argv[1].
+		 */
+		if ( argv[1] != NULL && strcmp(argv[1], "-n") == 0) {
+			printf("%s", "pkg is not installed\n");
+			exit(EXIT_FAILURE);
+		}
+
 		/*
 		 * Do not ask for confirmation if either of stdin or stdout is
 		 * not tty. Check the environment to see if user has answer


More information about the svn-src-all mailing list