Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 May 2010 00:37:37 GMT
From:      Garrett Cooper <gcooper@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 177987 for review
Message-ID:  <201005090037.o490bbUn087464@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@177987?ac=10

Change 177987 by gcooper@gcooper-bayonetta on 2010/05/09 00:36:39

	1. Add a comment about missing acl / xattr support.
	2. Pass in appropriate flags to open(2) for following paths for all
	   pkg_install control files.

Affected files ...

.. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/create/perform.c#7 edit

Differences ...

==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/usr.sbin/pkg_install/create/perform.c#7 (text+ko) ====

@@ -347,7 +347,8 @@
 make_dist(const char *homedir, const char *pkg, const char *suff, Package *plist)
 {
 
-#define ADD_FILE(src_file, dest_file)                                         \
+	/* XXX (gcooper): add acl and xattr support? */
+#define ADD_FILE(src_file, dest_file, archive_entry_open_flags)               \
 	if (error == NULL) {                                                  \
 		if ((archive_entry_fd = open(src_file,                        \
 		    archive_entry_fd)) == -1 ||                               \
@@ -476,24 +477,34 @@
 			printf("Creating %sed tar ball in '%s'\n",
 			    cname, tball);
 
-		ADD_FILE(CONTENTS_FNAME, CONTENTS_FNAME);
-		ADD_FILE(COMMENT_FNAME, COMMENT_FNAME);
-		ADD_FILE(DESC_FNAME, DESC_FNAME);
+		ADD_FILE(CONTENTS_FNAME, CONTENTS_FNAME,
+		    archive_entry_open_flags ^ O_NOFOLLOW);
+		ADD_FILE(COMMENT_FNAME, COMMENT_FNAME,
+		    archive_entry_open_flags ^ O_NOFOLLOW);
+		ADD_FILE(DESC_FNAME, DESC_FNAME,
+		    archive_entry_open_flags ^ O_NOFOLLOW);
 
 		if (Install)
-			ADD_FILE(INSTALL_FNAME, INSTALL_FNAME);
+			ADD_FILE(INSTALL_FNAME, INSTALL_FNAME,
+			    archive_entry_open_flags ^ O_NOFOLLOW);
 		if (PostInstall)
-			ADD_FILE(POST_INSTALL_FNAME, POST_INSTALL_FNAME);
+			ADD_FILE(POST_INSTALL_FNAME, POST_INSTALL_FNAME,
+			    archive_entry_open_flags ^ O_NOFOLLOW);
 		if (DeInstall)
-			ADD_FILE(DEINSTALL_FNAME, DEINSTALL_FNAME);
+			ADD_FILE(DEINSTALL_FNAME, DEINSTALL_FNAME,
+			    archive_entry_open_flags ^ O_NOFOLLOW);
 		if (PostDeInstall)
-			ADD_FILE(POST_DEINSTALL_FNAME, POST_DEINSTALL_FNAME);
+			ADD_FILE(POST_DEINSTALL_FNAME, POST_DEINSTALL_FNAME,
+			    archive_entry_open_flags ^ O_NOFOLLOW);
 		if (Require)
-			ADD_FILE(REQUIRE_FNAME, REQUIRE_FNAME);
+			ADD_FILE(REQUIRE_FNAME, REQUIRE_FNAME,
+			    archive_entry_open_flags ^ O_NOFOLLOW);
 		if (Display)
-			ADD_FILE(DISPLAY_FNAME, DISPLAY_FNAME);
+			ADD_FILE(DISPLAY_FNAME, DISPLAY_FNAME,
+			    archive_entry_open_flags ^ O_NOFOLLOW);
 		if (Mtree)
-			ADD_FILE(MTREE_FNAME, MTREE_FNAME);
+			ADD_FILE(MTREE_FNAME, MTREE_FNAME,
+			    archive_entry_open_flags ^ O_NOFOLLOW);
 
 		passed = TRUE;
 



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