From owner-svn-src-all@FreeBSD.ORG Fri Sep 14 00:19:07 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 43D0E106564A; Fri, 14 Sep 2012 00:19:07 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2EDA08FC0A; Fri, 14 Sep 2012 00:19:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8E0J7A3004865; Fri, 14 Sep 2012 00:19:07 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8E0J6hX004859; Fri, 14 Sep 2012 00:19:06 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201209140019.q8E0J6hX004859@svn.freebsd.org> From: Jung-uk Kim Date: Fri, 14 Sep 2012 00:19:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240476 - in head/usr.sbin/pkg_install: add lib X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Sep 2012 00:19:07 -0000 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)