Pullup ticket #5380 - requested by sevan archivers/libarchive: build fix for FreeBSD Revisions pulled up: - archivers/libarchive/files/libarchive/archive_read_disk_entry_from_file.c 1.10 - archivers/libarchive/files/libarchive/archive_write_disk_acl.c 1.8 --- Module Name: pkgsrc Committed By: ryoon Date: Thu Apr 27 15:08:08 UTC 2017 Modified Files: pkgsrc/archivers/libarchive/files/libarchive: archive_read_disk_entry_from_file.c archive_write_disk_acl.c Log Message: Fix bootstrap pkgsrc on FreeBSD/amd64 10. Fix --disable-xattr builddiff -r1.9 -r1.9.2.1 pkgsrc/archivers/libarchive/files/libarchive/archive_read_disk_entry_from_file.c
(bsiegert)
@@ -832,27 +832,29 @@ static const struct { | @@ -832,27 +832,29 @@ static const struct { | |||
832 | #elif HAVE_DARWIN_ACL /* MacOS NFSv4 inheritance flags */ | 832 | #elif HAVE_DARWIN_ACL /* MacOS NFSv4 inheritance flags */ | |
833 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERITED, ACL_ENTRY_INHERITED}, | 833 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERITED, ACL_ENTRY_INHERITED}, | |
834 | {ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT, ACL_ENTRY_FILE_INHERIT}, | 834 | {ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT, ACL_ENTRY_FILE_INHERIT}, | |
835 | {ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT, ACL_ENTRY_DIRECTORY_INHERIT}, | 835 | {ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT, ACL_ENTRY_DIRECTORY_INHERIT}, | |
836 | {ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT, ACL_ENTRY_LIMIT_INHERIT}, | 836 | {ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT, ACL_ENTRY_LIMIT_INHERIT}, | |
837 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY, ACL_ENTRY_ONLY_INHERIT} | 837 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY, ACL_ENTRY_ONLY_INHERIT} | |
838 | #else /* FreeBSD NFSv4 ACL inheritance flags */ | 838 | #else /* FreeBSD NFSv4 ACL inheritance flags */ | |
839 | {ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT, ACL_ENTRY_FILE_INHERIT}, | 839 | {ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT, ACL_ENTRY_FILE_INHERIT}, | |
840 | {ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT, ACL_ENTRY_DIRECTORY_INHERIT}, | 840 | {ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT, ACL_ENTRY_DIRECTORY_INHERIT}, | |
841 | {ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT, ACL_ENTRY_NO_PROPAGATE_INHERIT}, | 841 | {ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT, ACL_ENTRY_NO_PROPAGATE_INHERIT}, | |
842 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY, ACL_ENTRY_INHERIT_ONLY}, | 842 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY, ACL_ENTRY_INHERIT_ONLY}, | |
843 | {ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS, ACL_ENTRY_SUCCESSFUL_ACCESS}, | 843 | {ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS, ACL_ENTRY_SUCCESSFUL_ACCESS}, | |
844 | {ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS, ACL_ENTRY_FAILED_ACCESS}, | 844 | {ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS, ACL_ENTRY_FAILED_ACCESS}, | |
845 | #ifdef ACE_INHERITED_ACE | |||
845 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERITED, ACL_ENTRY_INHERITED} | 846 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERITED, ACL_ENTRY_INHERITED} | |
847 | #endif | |||
846 | #endif /* !HAVE_SUN_NFS4_ACL && !HAVE_DARWIN_ACL */ | 848 | #endif /* !HAVE_SUN_NFS4_ACL && !HAVE_DARWIN_ACL */ | |
847 | }; | 849 | }; | |
848 | #endif /* HAVE_NFS4_ACL */ | 850 | #endif /* HAVE_NFS4_ACL */ | |
849 | 851 | |||
850 | #if HAVE_DARWIN_ACL | 852 | #if HAVE_DARWIN_ACL | |
851 | static int translate_guid(struct archive *a, acl_entry_t acl_entry, | 853 | static int translate_guid(struct archive *a, acl_entry_t acl_entry, | |
852 | int *ae_id, int *ae_tag, const char **ae_name) | 854 | int *ae_id, int *ae_tag, const char **ae_name) | |
853 | { | 855 | { | |
854 | void *q; | 856 | void *q; | |
855 | uid_t ugid; | 857 | uid_t ugid; | |
856 | int r, idtype; | 858 | int r, idtype; | |
857 | 859 | |||
858 | q = acl_get_qualifier(acl_entry); | 860 | q = acl_get_qualifier(acl_entry); |
@@ -212,27 +212,29 @@ static const struct { | @@ -212,27 +212,29 @@ static const struct { | |||
212 | #elif HAVE_DARWIN_ACL /* MacOS NFSv4 inheritance flags */ | 212 | #elif HAVE_DARWIN_ACL /* MacOS NFSv4 inheritance flags */ | |
213 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERITED, ACL_ENTRY_INHERITED}, | 213 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERITED, ACL_ENTRY_INHERITED}, | |
214 | {ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT, ACL_ENTRY_FILE_INHERIT}, | 214 | {ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT, ACL_ENTRY_FILE_INHERIT}, | |
215 | {ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT, ACL_ENTRY_DIRECTORY_INHERIT}, | 215 | {ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT, ACL_ENTRY_DIRECTORY_INHERIT}, | |
216 | {ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT, ACL_ENTRY_LIMIT_INHERIT}, | 216 | {ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT, ACL_ENTRY_LIMIT_INHERIT}, | |
217 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY, ACL_ENTRY_ONLY_INHERIT} | 217 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY, ACL_ENTRY_ONLY_INHERIT} | |
218 | #else /* FreeBSD NFSv4 ACL inheritance flags */ | 218 | #else /* FreeBSD NFSv4 ACL inheritance flags */ | |
219 | {ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT, ACL_ENTRY_FILE_INHERIT}, | 219 | {ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT, ACL_ENTRY_FILE_INHERIT}, | |
220 | {ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT, ACL_ENTRY_DIRECTORY_INHERIT}, | 220 | {ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT, ACL_ENTRY_DIRECTORY_INHERIT}, | |
221 | {ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT, ACL_ENTRY_NO_PROPAGATE_INHERIT}, | 221 | {ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT, ACL_ENTRY_NO_PROPAGATE_INHERIT}, | |
222 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY, ACL_ENTRY_INHERIT_ONLY}, | 222 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY, ACL_ENTRY_INHERIT_ONLY}, | |
223 | {ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS, ACL_ENTRY_SUCCESSFUL_ACCESS}, | 223 | {ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS, ACL_ENTRY_SUCCESSFUL_ACCESS}, | |
224 | {ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS, ACL_ENTRY_FAILED_ACCESS}, | 224 | {ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS, ACL_ENTRY_FAILED_ACCESS}, | |
225 | #ifdef ACE_INHERITED_ACE | |||
225 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERITED, ACL_ENTRY_INHERITED} | 226 | {ARCHIVE_ENTRY_ACL_ENTRY_INHERITED, ACL_ENTRY_INHERITED} | |
227 | #endif | |||
226 | #endif /* !HAVE_SUN_NFS4_ACL && !HAVE_DARWIN_ACL */ | 228 | #endif /* !HAVE_SUN_NFS4_ACL && !HAVE_DARWIN_ACL */ | |
227 | }; | 229 | }; | |
228 | #endif /* HAVE_NFS4_ACL */ | 230 | #endif /* HAVE_NFS4_ACL */ | |
229 | 231 | |||
230 | static int | 232 | static int | |
231 | set_acl(struct archive *a, int fd, const char *name, | 233 | set_acl(struct archive *a, int fd, const char *name, | |
232 | struct archive_acl *abstract_acl, | 234 | struct archive_acl *abstract_acl, | |
233 | #if !HAVE_SUN_ACL | 235 | #if !HAVE_SUN_ACL | |
234 | acl_type_t acl_type, | 236 | acl_type_t acl_type, | |
235 | #endif | 237 | #endif | |
236 | int ae_requested_type, const char *tname) | 238 | int ae_requested_type, const char *tname) | |
237 | { | 239 | { | |
238 | #if HAVE_SUN_ACL | 240 | #if HAVE_SUN_ACL |