PERFORCE change 177987 for review
Garrett Cooper
gcooper at FreeBSD.org
Sun May 9 00:37:38 UTC 2010
http://p4web.freebsd.org/@@177987?ac=10
Change 177987 by gcooper at 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;
More information about the p4-projects
mailing list