svn commit: r240673 - in stable/9/usr.sbin/pkg_install: add lib
Jung-uk Kim
jkim at FreeBSD.org
Tue Sep 18 19:08:09 UTC 2012
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)
More information about the svn-src-stable-9
mailing list