svn commit: r231300 - head/usr.sbin/pkg_install/create

Eitan Adler eadler at FreeBSD.org
Thu Feb 9 20:51:04 UTC 2012


Author: eadler
Date: Thu Feb  9 20:51:03 2012
New Revision: 231300
URL: http://svn.freebsd.org/changeset/base/231300

Log:
  Permit the use of relative paths for the prefix argument.
  Remove an unnecessary cwd from created plists when -p is specified
  
  PR:		bin/145000
  Submitted by:	gcooper
  Approved by:	portmgr (flo)
  MFC after:	1 month

Modified:
  head/usr.sbin/pkg_install/create/perform.c

Modified: head/usr.sbin/pkg_install/create/perform.c
==============================================================================
--- head/usr.sbin/pkg_install/create/perform.c	Thu Feb  9 20:49:03 2012	(r231299)
+++ head/usr.sbin/pkg_install/create/perform.c	Thu Feb  9 20:51:03 2012	(r231300)
@@ -214,8 +214,12 @@ pkg_perform(char **pkgs)
     read_plist(&plist, pkg_in);
 
     /* Prefix should add an @cwd to the packing list */
-    if (Prefix)
-	add_plist_top(&plist, PLIST_CWD, Prefix);
+    if (Prefix) {
+        char resolved_prefix[PATH_MAX];
+        if (realpath(Prefix, resolved_prefix) != 0)
+	    err(EXIT_FAILURE, "couldn't resolve path for prefix: %s", Prefix);
+	add_plist_top(&plist, PLIST_CWD, resolved_prefix);
+    }
 
     /* Add the origin if asked, at the top */
     if (Origin)
@@ -260,7 +264,9 @@ pkg_perform(char **pkgs)
     /* mark_plist(&plist); */
 
     /* Now put the release specific items in */
-    add_plist(&plist, PLIST_CWD, ".");
+    if (!Prefix) {
+	add_plist(&plist, PLIST_CWD, ".");
+    }
     write_file(COMMENT_FNAME, Comment);
     add_plist(&plist, PLIST_IGNORE, NULL);
     add_plist(&plist, PLIST_FILE, COMMENT_FNAME);


More information about the svn-src-all mailing list