Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Dec 2012 20:01:13 +0000 (UTC)
From:      Matthew Seaman <matthew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r244553 - head/usr.sbin/pkg
Message-ID:  <201212212001.qBLK1DCQ027189@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201212212001.qBLK1DCQ027189>