Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Sep 2012 00:19:06 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r240476 - in head/usr.sbin/pkg_install: add lib
Message-ID:  <201209140019.q8E0J6hX004859@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Fri Sep 14 00:19:06 2012
New Revision: 240476
URL: http://svn.freebsd.org/changeset/base/240476

Log:
  Do not change owner, group, or mode when package database directory and
  its contents are created with pkg_add(1).  It may happen when the packing
  list contains @owner, @group, or @mode.
  
  Reported by:	Donald Bostrom (dbostrom at niksun dot com)
  Reviewed by:	portmgr (bapt)

Modified:
  head/usr.sbin/pkg_install/add/add.h
  head/usr.sbin/pkg_install/add/extract.c
  head/usr.sbin/pkg_install/add/futil.c
  head/usr.sbin/pkg_install/add/perform.c
  head/usr.sbin/pkg_install/lib/lib.h

Modified: head/usr.sbin/pkg_install/add/add.h
==============================================================================
--- head/usr.sbin/pkg_install/add/add.h	Thu Sep 13 22:26:22 2012	(r240475)
+++ head/usr.sbin/pkg_install/add/add.h	Fri Sep 14 00:19:06 2012	(r240476)
@@ -41,7 +41,7 @@ extern char	*PkgAddCmd;
 extern char	FirstPen[];
 extern add_mode_t AddMode;
 
-int		make_hierarchy(char *);
+int		make_hierarchy(char *, Boolean);
 void		extract_plist(const char *, Package *);
 void		apply_perms(const char *, const char *);
 

Modified: head/usr.sbin/pkg_install/add/extract.c
==============================================================================
--- head/usr.sbin/pkg_install/add/extract.c	Thu Sep 13 22:26:22 2012	(r240475)
+++ head/usr.sbin/pkg_install/add/extract.c	Fri Sep 14 00:19:06 2012	(r240476)
@@ -225,7 +225,7 @@ extract_plist(const char *home, Package 
 		printf("extract: CWD to %s\n", p->name);
 	    PUSHOUT(Directory);
 	    if (strcmp(p->name, ".")) {
-		if (!Fake && make_hierarchy(p->name) == FAIL) {
+		if (!Fake && make_hierarchy(p->name, TRUE) == FAIL) {
 		    cleanup(0);
 		    errx(2, "%s: unable to cwd to '%s'", __func__, p->name);
 		}

Modified: head/usr.sbin/pkg_install/add/futil.c
==============================================================================
--- head/usr.sbin/pkg_install/add/futil.c	Thu Sep 13 22:26:22 2012	(r240475)
+++ head/usr.sbin/pkg_install/add/futil.c	Fri Sep 14 00:19:06 2012	(r240476)
@@ -31,7 +31,7 @@ __FBSDID("$FreeBSD$");
  */
 
 int
-make_hierarchy(char *dir)
+make_hierarchy(char *dir, Boolean set_perm)
 {
     char *cp1, *cp2;
 
@@ -55,7 +55,8 @@ make_hierarchy(char *dir)
 		    *cp2 = '/';
 		return FAIL;
 	    }
-	    apply_perms(NULL, dir);
+	    if (set_perm)
+		apply_perms(NULL, dir);
 	}
 	/* Put it back */
 	if (cp2) {

Modified: head/usr.sbin/pkg_install/add/perform.c
==============================================================================
--- head/usr.sbin/pkg_install/add/perform.c	Thu Sep 13 22:26:22 2012	(r240475)
+++ head/usr.sbin/pkg_install/add/perform.c	Fri Sep 14 00:19:06 2012	(r240476)
@@ -511,7 +511,7 @@ pkg_do(char *pkg)
 	zapLogDir = 1;
 	if (Verbose)
 	    printf("Attempting to record package into %s..\n", LogDir);
-	if (make_hierarchy(LogDir)) {
+	if (make_hierarchy(LogDir, FALSE)) {
 	    warnx("can't record package into '%s', you're on your own!",
 		   LogDir);
 	    bzero(LogDir, FILENAME_MAX);

Modified: head/usr.sbin/pkg_install/lib/lib.h
==============================================================================
--- head/usr.sbin/pkg_install/lib/lib.h	Thu Sep 13 22:26:22 2012	(r240475)
+++ head/usr.sbin/pkg_install/lib/lib.h	Fri Sep 14 00:19:06 2012	(r240476)
@@ -99,7 +99,7 @@
  * Version of the package tools - increase whenever you make a change
  * in the code that is not cosmetic only.
  */
-#define PKG_INSTALL_VERSION	20120530
+#define PKG_INSTALL_VERSION	20120913
 
 #define PKG_WRAPCONF_FNAME	"/var/db/pkg_install.conf"
 #define main(argc, argv)	real_main(argc, argv)



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