Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Sep 2012 19:08:08 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r240673 - in stable/9/usr.sbin/pkg_install: add lib
Message-ID:  <201209181908.q8IJ88U5045970@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Tue Sep 18 19:08:07 2012
New Revision: 240673
URL: http://svn.freebsd.org/changeset/base/240673

Log:
  MFC:	r240476
  
  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.
  
  Approved by:	portmgr (bapt)

Modified:
  stable/9/usr.sbin/pkg_install/add/add.h
  stable/9/usr.sbin/pkg_install/add/extract.c
  stable/9/usr.sbin/pkg_install/add/futil.c
  stable/9/usr.sbin/pkg_install/add/perform.c
  stable/9/usr.sbin/pkg_install/lib/lib.h
Directory Properties:
  stable/9/usr.sbin/pkg_install/   (props changed)
  stable/9/usr.sbin/pkg_install/add/   (props changed)

Modified: stable/9/usr.sbin/pkg_install/add/add.h
==============================================================================
--- stable/9/usr.sbin/pkg_install/add/add.h	Tue Sep 18 18:23:21 2012	(r240672)
+++ stable/9/usr.sbin/pkg_install/add/add.h	Tue Sep 18 19:08:07 2012	(r240673)
@@ -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: stable/9/usr.sbin/pkg_install/add/extract.c
==============================================================================
--- stable/9/usr.sbin/pkg_install/add/extract.c	Tue Sep 18 18:23:21 2012	(r240672)
+++ stable/9/usr.sbin/pkg_install/add/extract.c	Tue Sep 18 19:08:07 2012	(r240673)
@@ -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: stable/9/usr.sbin/pkg_install/add/futil.c
==============================================================================
--- stable/9/usr.sbin/pkg_install/add/futil.c	Tue Sep 18 18:23:21 2012	(r240672)
+++ stable/9/usr.sbin/pkg_install/add/futil.c	Tue Sep 18 19:08:07 2012	(r240673)
@@ -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: stable/9/usr.sbin/pkg_install/add/perform.c
==============================================================================
--- stable/9/usr.sbin/pkg_install/add/perform.c	Tue Sep 18 18:23:21 2012	(r240672)
+++ stable/9/usr.sbin/pkg_install/add/perform.c	Tue Sep 18 19:08:07 2012	(r240673)
@@ -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: stable/9/usr.sbin/pkg_install/lib/lib.h
==============================================================================
--- stable/9/usr.sbin/pkg_install/lib/lib.h	Tue Sep 18 18:23:21 2012	(r240672)
+++ stable/9/usr.sbin/pkg_install/lib/lib.h	Tue Sep 18 19:08:07 2012	(r240673)
@@ -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?201209181908.q8IJ88U5045970>