pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/archivers/libarchive/files Merge for libarchive-3.3.2.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/82afa0a766e4
branches:  trunk
changeset: 366071:82afa0a766e4
user:      joerg <joerg%pkgsrc.org@localhost>
date:      Tue Aug 01 22:26:22 2017 +0000

description:
Merge for libarchive-3.3.2.

diffstat:

 archivers/libarchive/files/CMakeLists.txt                                        |   405 ++-
 archivers/libarchive/files/Makefile.am                                           |    26 +-
 archivers/libarchive/files/Makefile.in                                           |   325 +-
 archivers/libarchive/files/NEWS                                                  |     6 +-
 archivers/libarchive/files/build/autoconf/config.guess                           |    26 +-
 archivers/libarchive/files/build/autoconf/config.sub                             |    11 +-
 archivers/libarchive/files/build/cmake/config.h.in                               |    43 +
 archivers/libarchive/files/build/version                                         |     2 +-
 archivers/libarchive/files/config.h.in                                           |   175 +-
 archivers/libarchive/files/configure                                             |  1262 ++++++--
 archivers/libarchive/files/configure.ac                                          |   398 ++-
 archivers/libarchive/files/contrib/libarchive.1aix53.spec                        |     4 +-
 archivers/libarchive/files/cpio/cpio.c                                           |    69 +-
 archivers/libarchive/files/cpio/test/CMakeLists.txt                              |    10 +
 archivers/libarchive/files/cpio/test/test_option_a.c                             |     3 +-
 archivers/libarchive/files/cpio/test/test_option_y.c                             |     6 +-
 archivers/libarchive/files/cpio/test/test_option_z.c                             |     3 +-
 archivers/libarchive/files/doc/html/Makefile                                     |     8 +-
 archivers/libarchive/files/doc/html/archive_entry.3.html                         |     4 +-
 archivers/libarchive/files/doc/html/archive_entry_acl.3.html                     |    35 +-
 archivers/libarchive/files/doc/html/archive_entry_linkify.3.html                 |     2 +-
 archivers/libarchive/files/doc/html/archive_entry_paths.3.html                   |    15 +-
 archivers/libarchive/files/doc/html/archive_entry_perms.3.html                   |     6 +-
 archivers/libarchive/files/doc/html/archive_entry_stat.3.html                    |     2 +-
 archivers/libarchive/files/doc/html/archive_entry_time.3.html                    |     2 +-
 archivers/libarchive/files/doc/html/archive_read.3.html                          |     4 +-
 archivers/libarchive/files/doc/html/archive_read_data.3.html                     |     2 +-
 archivers/libarchive/files/doc/html/archive_read_disk.3.html                     |   112 +-
 archivers/libarchive/files/doc/html/archive_read_extract.3.html                  |     2 +-
 archivers/libarchive/files/doc/html/archive_read_filter.3.html                   |     4 +-
 archivers/libarchive/files/doc/html/archive_read_format.3.html                   |    20 +-
 archivers/libarchive/files/doc/html/archive_read_free.3.html                     |     2 +-
 archivers/libarchive/files/doc/html/archive_read_header.3.html                   |     2 +-
 archivers/libarchive/files/doc/html/archive_read_new.3.html                      |     2 +-
 archivers/libarchive/files/doc/html/archive_read_open.3.html                     |     7 +-
 archivers/libarchive/files/doc/html/archive_read_set_options.3.html              |     4 +-
 archivers/libarchive/files/doc/html/archive_util.3.html                          |    32 +-
 archivers/libarchive/files/doc/html/archive_write.3.html                         |     6 +-
 archivers/libarchive/files/doc/html/archive_write_blocksize.3.html               |     4 +-
 archivers/libarchive/files/doc/html/archive_write_data.3.html                    |    35 +-
 archivers/libarchive/files/doc/html/archive_write_disk.3.html                    |   246 +-
 archivers/libarchive/files/doc/html/archive_write_filter.3.html                  |     2 +-
 archivers/libarchive/files/doc/html/archive_write_finish_entry.3.html            |     8 +-
 archivers/libarchive/files/doc/html/archive_write_format.3.html                  |     2 +-
 archivers/libarchive/files/doc/html/archive_write_free.3.html                    |     2 +-
 archivers/libarchive/files/doc/html/archive_write_header.3.html                  |     2 +-
 archivers/libarchive/files/doc/html/archive_write_new.3.html                     |     2 +-
 archivers/libarchive/files/doc/html/archive_write_open.3.html                    |     4 +-
 archivers/libarchive/files/doc/html/archive_write_set_options.3.html             |    10 +-
 archivers/libarchive/files/doc/html/bsdcpio.1.html                               |   215 +-
 archivers/libarchive/files/doc/html/bsdtar.1.html                                |   691 ++--
 archivers/libarchive/files/doc/html/cpio.5.html                                  |    24 +-
 archivers/libarchive/files/doc/html/libarchive-formats.5.html                    |    32 +-
 archivers/libarchive/files/doc/html/libarchive.3.html                            |    10 +-
 archivers/libarchive/files/doc/html/libarchive_changes.3.html                    |     8 +-
 archivers/libarchive/files/doc/html/libarchive_internals.3.html                  |     2 +-
 archivers/libarchive/files/doc/html/mtree.5.html                                 |    40 +-
 archivers/libarchive/files/doc/html/tar.5.html                                   |   111 +-
 archivers/libarchive/files/doc/man/Makefile                                      |     8 +-
 archivers/libarchive/files/doc/man/archive_entry.3                               |     2 +-
 archivers/libarchive/files/doc/man/archive_entry_acl.3                           |    10 +-
 archivers/libarchive/files/doc/man/archive_entry_paths.3                         |    12 +-
 archivers/libarchive/files/doc/man/archive_entry_perms.3                         |     4 +-
 archivers/libarchive/files/doc/man/archive_read_disk.3                           |    91 +-
 archivers/libarchive/files/doc/man/archive_read_open.3                           |     4 +-
 archivers/libarchive/files/doc/man/archive_write_data.3                          |    28 +-
 archivers/libarchive/files/doc/man/archive_write_disk.3                          |   221 +-
 archivers/libarchive/files/doc/man/archive_write_finish_entry.3                  |     5 +-
 archivers/libarchive/files/doc/man/bsdtar.1                                      |    31 +-
 archivers/libarchive/files/doc/man/libarchive_changes.3                          |     1 +
 archivers/libarchive/files/doc/man/mtree.5                                       |     2 +-
 archivers/libarchive/files/doc/pdf/Makefile                                      |     8 +-
 archivers/libarchive/files/doc/pdf/archive_entry.3.pdf                           |   Bin 
 archivers/libarchive/files/doc/pdf/archive_entry_acl.3.pdf                       |   Bin 
 archivers/libarchive/files/doc/pdf/archive_entry_linkify.3.pdf                   |   Bin 
 archivers/libarchive/files/doc/pdf/archive_entry_paths.3.pdf                     |   Bin 
 archivers/libarchive/files/doc/pdf/archive_entry_perms.3.pdf                     |   Bin 
 archivers/libarchive/files/doc/pdf/archive_entry_stat.3.pdf                      |   Bin 
 archivers/libarchive/files/doc/pdf/archive_entry_time.3.pdf                      |   Bin 
 archivers/libarchive/files/doc/pdf/archive_read.3.pdf                            |   Bin 
 archivers/libarchive/files/doc/pdf/archive_read_data.3.pdf                       |   Bin 
 archivers/libarchive/files/doc/pdf/archive_read_disk.3.pdf                       |   Bin 
 archivers/libarchive/files/doc/pdf/archive_read_extract.3.pdf                    |   Bin 
 archivers/libarchive/files/doc/pdf/archive_read_filter.3.pdf                     |   Bin 
 archivers/libarchive/files/doc/pdf/archive_read_format.3.pdf                     |   Bin 
 archivers/libarchive/files/doc/pdf/archive_read_free.3.pdf                       |   Bin 
 archivers/libarchive/files/doc/pdf/archive_read_header.3.pdf                     |   Bin 
 archivers/libarchive/files/doc/pdf/archive_read_new.3.pdf                        |   Bin 
 archivers/libarchive/files/doc/pdf/archive_read_open.3.pdf                       |   Bin 
 archivers/libarchive/files/doc/pdf/archive_read_set_options.3.pdf                |   Bin 
 archivers/libarchive/files/doc/pdf/archive_util.3.pdf                            |   Bin 
 archivers/libarchive/files/doc/pdf/archive_write.3.pdf                           |   Bin 
 archivers/libarchive/files/doc/pdf/archive_write_blocksize.3.pdf                 |   Bin 
 archivers/libarchive/files/doc/pdf/archive_write_data.3.pdf                      |   Bin 
 archivers/libarchive/files/doc/pdf/archive_write_disk.3.pdf                      |   Bin 
 archivers/libarchive/files/doc/pdf/archive_write_filter.3.pdf                    |   Bin 
 archivers/libarchive/files/doc/pdf/archive_write_finish_entry.3.pdf              |   Bin 
 archivers/libarchive/files/doc/pdf/archive_write_format.3.pdf                    |   Bin 
 archivers/libarchive/files/doc/pdf/archive_write_free.3.pdf                      |   Bin 
 archivers/libarchive/files/doc/pdf/archive_write_header.3.pdf                    |   Bin 
 archivers/libarchive/files/doc/pdf/archive_write_new.3.pdf                       |   Bin 
 archivers/libarchive/files/doc/pdf/archive_write_open.3.pdf                      |   Bin 
 archivers/libarchive/files/doc/pdf/archive_write_set_options.3.pdf               |   Bin 
 archivers/libarchive/files/doc/pdf/bsdcpio.1.pdf                                 |   Bin 
 archivers/libarchive/files/doc/pdf/bsdtar.1.pdf                                  |   Bin 
 archivers/libarchive/files/doc/pdf/cpio.5.pdf                                    |   Bin 
 archivers/libarchive/files/doc/pdf/libarchive-formats.5.pdf                      |   Bin 
 archivers/libarchive/files/doc/pdf/libarchive.3.pdf                              |   Bin 
 archivers/libarchive/files/doc/pdf/libarchive_changes.3.pdf                      |   Bin 
 archivers/libarchive/files/doc/pdf/libarchive_internals.3.pdf                    |   Bin 
 archivers/libarchive/files/doc/pdf/mtree.5.pdf                                   |   Bin 
 archivers/libarchive/files/doc/pdf/tar.5.pdf                                     |   Bin 
 archivers/libarchive/files/doc/text/Makefile                                     |     8 +-
 archivers/libarchive/files/doc/text/archive_entry.3.txt                          |    68 +-
 archivers/libarchive/files/doc/text/archive_entry_acl.3.txt                      |   228 +-
 archivers/libarchive/files/doc/text/archive_entry_linkify.3.txt                  |    94 +-
 archivers/libarchive/files/doc/text/archive_entry_paths.3.txt                    |   150 +-
 archivers/libarchive/files/doc/text/archive_entry_perms.3.txt                    |   168 +-
 archivers/libarchive/files/doc/text/archive_entry_stat.3.txt                     |   216 +-
 archivers/libarchive/files/doc/text/archive_entry_time.3.txt                     |   134 +-
 archivers/libarchive/files/doc/text/archive_read.3.txt                           |    68 +-
 archivers/libarchive/files/doc/text/archive_read_data.3.txt                      |    70 +-
 archivers/libarchive/files/doc/text/archive_read_disk.3.txt                      |   181 +-
 archivers/libarchive/files/doc/text/archive_read_extract.3.txt                   |    62 +-
 archivers/libarchive/files/doc/text/archive_read_filter.3.txt                    |   130 +-
 archivers/libarchive/files/doc/text/archive_read_format.3.txt                    |   134 +-
 archivers/libarchive/files/doc/text/archive_read_free.3.txt                      |    50 +-
 archivers/libarchive/files/doc/text/archive_read_header.3.txt                    |    40 +-
 archivers/libarchive/files/doc/text/archive_read_new.3.txt                       |    18 +-
 archivers/libarchive/files/doc/text/archive_read_open.3.txt                      |   125 +-
 archivers/libarchive/files/doc/text/archive_read_set_options.3.txt               |   112 +-
 archivers/libarchive/files/doc/text/archive_util.3.txt                           |   146 +-
 archivers/libarchive/files/doc/text/archive_write.3.txt                          |    56 +-
 archivers/libarchive/files/doc/text/archive_write_blocksize.3.txt                |    62 +-
 archivers/libarchive/files/doc/text/archive_write_data.3.txt                     |    47 +-
 archivers/libarchive/files/doc/text/archive_write_disk.3.txt                     |   290 +-
 archivers/libarchive/files/doc/text/archive_write_filter.3.txt                   |   112 +-
 archivers/libarchive/files/doc/text/archive_write_finish_entry.3.txt             |    39 +-
 archivers/libarchive/files/doc/text/archive_write_format.3.txt                   |   187 +-
 archivers/libarchive/files/doc/text/archive_write_free.3.txt                     |    60 +-
 archivers/libarchive/files/doc/text/archive_write_header.3.txt                   |    32 +-
 archivers/libarchive/files/doc/text/archive_write_new.3.txt                      |    18 +-
 archivers/libarchive/files/doc/text/archive_write_open.3.txt                     |   128 +-
 archivers/libarchive/files/doc/text/archive_write_set_options.3.txt              |   226 +-
 archivers/libarchive/files/doc/text/bsdcpio.1.txt                                |   206 +-
 archivers/libarchive/files/doc/text/bsdtar.1.txt                                 |   619 ++--
 archivers/libarchive/files/doc/text/cpio.5.txt                                   |    78 +-
 archivers/libarchive/files/doc/text/libarchive-formats.5.txt                     |    86 +-
 archivers/libarchive/files/doc/text/libarchive.3.txt                             |   106 +-
 archivers/libarchive/files/doc/text/libarchive_changes.3.txt                     |   188 +-
 archivers/libarchive/files/doc/text/libarchive_internals.3.txt                   |    96 +-
 archivers/libarchive/files/doc/text/mtree.5.txt                                  |   144 +-
 archivers/libarchive/files/doc/text/tar.5.txt                                    |   282 +-
 archivers/libarchive/files/doc/wiki/Makefile                                     |     8 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveEntry3.wiki                    |    22 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveEntryAcl3.wiki                 |    16 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveEntryLinkify3.wiki             |     4 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveEntryPaths3.wiki               |    20 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveEntryPerms3.wiki               |    14 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveEntryStat3.wiki                |    10 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveEntryTime3.wiki                |     6 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveRead3.wiki                     |    38 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveReadData3.wiki                 |    18 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveReadDisk3.wiki                 |    94 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveReadExtract3.wiki              |    36 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveReadFilter3.wiki               |    10 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveReadFormat3.wiki               |    16 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveReadFree3.wiki                 |    16 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveReadHeader3.wiki               |    18 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveReadNew3.wiki                  |    14 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveReadOpen3.wiki                 |    20 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveReadSetOptions3.wiki           |     6 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveUtil3.wiki                     |    12 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveWrite3.wiki                    |    22 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveWriteBlocksize3.wiki           |     4 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveWriteData3.wiki                |    30 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveWriteDisk3.wiki                |   211 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveWriteFilter3.wiki              |     8 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveWriteFinishEntry3.wiki         |     9 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveWriteFormat3.wiki              |    10 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveWriteFree3.wiki                |     4 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveWriteHeader3.wiki              |     6 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveWriteNew3.wiki                 |     8 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveWriteOpen3.wiki                |    18 +-
 archivers/libarchive/files/doc/wiki/ManPageArchiveWriteSetOptions3.wiki          |     6 +-
 archivers/libarchive/files/doc/wiki/ManPageBsdcpio1.wiki                         |    10 +-
 archivers/libarchive/files/doc/wiki/ManPageBsdtar1.wiki                          |    41 +-
 archivers/libarchive/files/doc/wiki/ManPageLibarchive3.wiki                      |    32 +-
 archivers/libarchive/files/doc/wiki/ManPageLibarchiveChanges3.wiki               |    21 +-
 archivers/libarchive/files/doc/wiki/ManPageLibarchiveFormats5.wiki               |    12 +-
 archivers/libarchive/files/doc/wiki/ManPageLibarchiveInternals3.wiki             |    22 +-
 archivers/libarchive/files/doc/wiki/ManPageMtree5.wiki                           |     2 +-
 archivers/libarchive/files/libarchive/CMakeLists.txt                             |    15 +-
 archivers/libarchive/files/libarchive/archive.h                                  |     4 +-
 archivers/libarchive/files/libarchive/archive_check_magic.c                      |     2 +-
 archivers/libarchive/files/libarchive/archive_entry.3                            |     2 +-
 archivers/libarchive/files/libarchive/archive_entry.c                            |    11 +-
 archivers/libarchive/files/libarchive/archive_entry.h                            |     2 +-
 archivers/libarchive/files/libarchive/archive_entry_acl.3                        |    10 +-
 archivers/libarchive/files/libarchive/archive_entry_paths.3                      |    12 +-
 archivers/libarchive/files/libarchive/archive_entry_perms.3                      |     4 +-
 archivers/libarchive/files/libarchive/archive_entry_sparse.c                     |     4 +-
 archivers/libarchive/files/libarchive/archive_getdate.c                          |     2 +-
 archivers/libarchive/files/libarchive/archive_pack_dev.c                         |     6 +-
 archivers/libarchive/files/libarchive/archive_pack_dev.h                         |     2 +-
 archivers/libarchive/files/libarchive/archive_platform.h                         |    34 -
 archivers/libarchive/files/libarchive/archive_read.c                             |     3 +-
 archivers/libarchive/files/libarchive/archive_read_disk.3                        |    72 +-
 archivers/libarchive/files/libarchive/archive_read_disk_entry_from_file.c        |  1395 +--------
 archivers/libarchive/files/libarchive/archive_read_disk_private.h                |     9 +
 archivers/libarchive/files/libarchive/archive_read_open.3                        |     4 +-
 archivers/libarchive/files/libarchive/archive_read_support_format_cab.c          |   156 +-
 archivers/libarchive/files/libarchive/archive_read_support_format_cpio.c         |     2 +-
 archivers/libarchive/files/libarchive/archive_read_support_format_iso9660.c      |     5 +-
 archivers/libarchive/files/libarchive/archive_read_support_format_lha.c          |     2 +-
 archivers/libarchive/files/libarchive/archive_read_support_format_mtree.c        |   186 +-
 archivers/libarchive/files/libarchive/archive_read_support_format_rar.c          |     2 +-
 archivers/libarchive/files/libarchive/archive_read_support_format_tar.c          |    18 +-
 archivers/libarchive/files/libarchive/archive_read_support_format_warc.c         |     9 +-
 archivers/libarchive/files/libarchive/archive_read_support_format_zip.c          |    39 +-
 archivers/libarchive/files/libarchive/archive_string.c                           |     6 +-
 archivers/libarchive/files/libarchive/archive_string_sprintf.c                   |     2 +-
 archivers/libarchive/files/libarchive/archive_util.c                             |    88 +-
 archivers/libarchive/files/libarchive/archive_write_add_filter.c                 |     2 +-
 archivers/libarchive/files/libarchive/archive_write_add_filter_by_name.c         |     2 +-
 archivers/libarchive/files/libarchive/archive_write_add_filter_program.c         |     2 +-
 archivers/libarchive/files/libarchive/archive_write_data.3                       |    24 +-
 archivers/libarchive/files/libarchive/archive_write_disk.3                       |   187 +-
 archivers/libarchive/files/libarchive/archive_write_disk_posix.c                 |   298 +-
 archivers/libarchive/files/libarchive/archive_write_disk_private.h               |     6 +-
 archivers/libarchive/files/libarchive/archive_write_finish_entry.3               |     5 +-
 archivers/libarchive/files/libarchive/archive_write_format.3                     |     1 -
 archivers/libarchive/files/libarchive/archive_write_set_format.c                 |     2 +-
 archivers/libarchive/files/libarchive/archive_write_set_format_ar.c              |     5 +-
 archivers/libarchive/files/libarchive/archive_write_set_format_by_name.c         |     2 +-
 archivers/libarchive/files/libarchive/archive_write_set_format_pax.c             |    17 +-
 archivers/libarchive/files/libarchive/config_freebsd.h                           |   351 +-
 archivers/libarchive/files/libarchive/libarchive_changes.3                       |     1 +
 archivers/libarchive/files/libarchive/mtree.5                                    |     2 +-
 archivers/libarchive/files/libarchive/test/CMakeLists.txt                        |     2 +
 archivers/libarchive/files/libarchive/test/list.h                                |     2 +
 archivers/libarchive/files/libarchive/test/test_acl_platform_nfs4.c              |   633 ++--
 archivers/libarchive/files/libarchive/test/test_acl_platform_posix1e.c           |   302 +-
 archivers/libarchive/files/libarchive/test/test_read_disk_directory_traversals.c |     6 +-
 archivers/libarchive/files/libarchive/test/test_read_format_mtree.c              |     2 +-
 archivers/libarchive/files/libarchive/test/test_write_format_pax.c               |    14 +-
 archivers/libarchive/files/tar/bsdtar.1                                          |    31 +-
 archivers/libarchive/files/tar/bsdtar.c                                          |     4 +-
 archivers/libarchive/files/tar/bsdtar.h                                          |     6 +-
 archivers/libarchive/files/tar/test/CMakeLists.txt                               |    13 +
 archivers/libarchive/files/tar/test/list.h                                       |     3 +
 archivers/libarchive/files/test_utils/test_common.h                              |    73 +-
 252 files changed, 7590 insertions(+), 7578 deletions(-)

diffs (truncated from 25946 to 300 lines):

diff -r c864e7cbba7f -r 82afa0a766e4 archivers/libarchive/files/CMakeLists.txt
--- a/archivers/libarchive/files/CMakeLists.txt Tue Aug 01 22:21:11 2017 +0000
+++ b/archivers/libarchive/files/CMakeLists.txt Tue Aug 01 22:26:22 2017 +0000
@@ -552,6 +552,7 @@
 
 # Alphabetize the rest unless there's a compelling reason
 LA_CHECK_INCLUDE_FILE("acl/libacl.h" HAVE_ACL_LIBACL_H)
+LA_CHECK_INCLUDE_FILE("attr/xattr.h" HAVE_ATTR_XATTR_H)
 LA_CHECK_INCLUDE_FILE("ctype.h" HAVE_CTYPE_H)
 LA_CHECK_INCLUDE_FILE("copyfile.h" HAVE_COPYFILE_H)
 LA_CHECK_INCLUDE_FILE("direct.h" HAVE_DIRECT_H)
@@ -579,6 +580,7 @@
 
 LA_CHECK_INCLUDE_FILE("linux/magic.h" HAVE_LINUX_MAGIC_H)
 LA_CHECK_INCLUDE_FILE("locale.h" HAVE_LOCALE_H)
+LA_CHECK_INCLUDE_FILE("membership.h" HAVE_MEMBERSHIP_H)
 LA_CHECK_INCLUDE_FILE("memory.h" HAVE_MEMORY_H)
 LA_CHECK_INCLUDE_FILE("paths.h" HAVE_PATHS_H)
 LA_CHECK_INCLUDE_FILE("poll.h" HAVE_POLL_H)
@@ -596,11 +598,13 @@
 LA_CHECK_INCLUDE_FILE("strings.h" HAVE_STRINGS_H)
 LA_CHECK_INCLUDE_FILE("sys/acl.h" HAVE_SYS_ACL_H)
 LA_CHECK_INCLUDE_FILE("sys/cdefs.h" HAVE_SYS_CDEFS_H)
+LA_CHECK_INCLUDE_FILE("sys/extattr.h" HAVE_SYS_EXTATTR_H)
 LA_CHECK_INCLUDE_FILE("sys/ioctl.h" HAVE_SYS_IOCTL_H)
 LA_CHECK_INCLUDE_FILE("sys/mkdev.h" HAVE_SYS_MKDEV_H)
 LA_CHECK_INCLUDE_FILE("sys/mount.h" HAVE_SYS_MOUNT_H)
 LA_CHECK_INCLUDE_FILE("sys/param.h" HAVE_SYS_PARAM_H)
 LA_CHECK_INCLUDE_FILE("sys/poll.h" HAVE_SYS_POLL_H)
+LA_CHECK_INCLUDE_FILE("sys/richacl.h" HAVE_SYS_RICHACL_H)
 LA_CHECK_INCLUDE_FILE("sys/select.h" HAVE_SYS_SELECT_H)
 LA_CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H)
 LA_CHECK_INCLUDE_FILE("sys/statfs.h" HAVE_SYS_STATFS_H)
@@ -610,6 +614,7 @@
 LA_CHECK_INCLUDE_FILE("sys/utsname.h" HAVE_SYS_UTSNAME_H)
 LA_CHECK_INCLUDE_FILE("sys/vfs.h" HAVE_SYS_VFS_H)
 LA_CHECK_INCLUDE_FILE("sys/wait.h" HAVE_SYS_WAIT_H)
+LA_CHECK_INCLUDE_FILE("sys/xattr.h" HAVE_SYS_XATTR_H)
 LA_CHECK_INCLUDE_FILE("time.h" HAVE_TIME_H)
 LA_CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
 LA_CHECK_INCLUDE_FILE("utime.h" HAVE_UTIME_H)
@@ -618,6 +623,9 @@
 LA_CHECK_INCLUDE_FILE("windows.h" HAVE_WINDOWS_H)
 IF(ENABLE_CNG)
   LA_CHECK_INCLUDE_FILE("Bcrypt.h" HAVE_BCRYPT_H)
+  IF(HAVE_BCRYPT_H)
+    LIST(APPEND ADDITIONAL_LIBS "Bcrypt")
+  ENDIF(HAVE_BCRYPT_H)
 ELSE(ENABLE_CNG)
   UNSET(HAVE_BCRYPT_H CACHE)
 ENDIF(ENABLE_CNG)
@@ -1195,7 +1203,6 @@
 CHECK_FUNCTION_EXISTS_GLIBC(chown HAVE_CHOWN)
 CHECK_FUNCTION_EXISTS_GLIBC(chroot HAVE_CHROOT)
 CHECK_FUNCTION_EXISTS_GLIBC(ctime_r HAVE_CTIME_R)
-CHECK_FUNCTION_EXISTS_GLIBC(dirfd HAVE_DIRFD)
 CHECK_FUNCTION_EXISTS_GLIBC(fchdir HAVE_FCHDIR)
 CHECK_FUNCTION_EXISTS_GLIBC(fchflags HAVE_FCHFLAGS)
 CHECK_FUNCTION_EXISTS_GLIBC(fchmod HAVE_FCHMOD)
@@ -1295,6 +1302,10 @@
   "#include <dirent.h>\nint main() {DIR *d = opendir(\".\"); struct dirent e,*r; return readdir_r(d,&e,&r);}"
   HAVE_READDIR_R)
 
+# dirfd can be either a function or a macro.
+CHECK_C_SOURCE_COMPILES(
+  "#include <dirent.h>\nint main() {DIR *d = opendir(\".\"); return dirfd(d);}"
+  HAVE_DIRFD)
 
 # Only detect readlinkat() if we also have AT_FDCWD in unistd.h.
 # NOTE: linux requires fcntl.h for AT_FDCWD.
@@ -1527,60 +1538,105 @@
 # Check for Extended Attribute libraries, headers, and functions
 #
 IF(ENABLE_XATTR)
-  LA_CHECK_INCLUDE_FILE(attr/xattr.h     HAVE_ATTR_XATTR_H)
-  LA_CHECK_INCLUDE_FILE(sys/xattr.h      HAVE_SYS_XATTR_H)
-  LA_CHECK_INCLUDE_FILE(sys/extattr.h      HAVE_SYS_EXTATTR_H)
   CHECK_LIBRARY_EXISTS(attr "setxattr" "" HAVE_LIBATTR)
   IF(HAVE_LIBATTR)
     SET(CMAKE_REQUIRED_LIBRARIES "attr")
   ENDIF(HAVE_LIBATTR)
   CHECK_SYMBOL_EXISTS(EXTATTR_NAMESPACE_USER "sys/types.h;sys/extattr.h" HAVE_DECL_EXTATTR_NAMESPACE_USER)
-  CHECK_FUNCTION_EXISTS_GLIBC(extattr_get_file HAVE_EXTATTR_GET_FILE)
-  CHECK_FUNCTION_EXISTS_GLIBC(extattr_list_file HAVE_EXTATTR_LIST_FILE)
-  CHECK_FUNCTION_EXISTS_GLIBC(extattr_set_fd HAVE_EXTATTR_SET_FD)
-  CHECK_FUNCTION_EXISTS_GLIBC(extattr_set_file HAVE_EXTATTR_SET_FILE)
-  CHECK_FUNCTION_EXISTS_GLIBC(fgetxattr HAVE_FGETXATTR)
-  CHECK_FUNCTION_EXISTS_GLIBC(flistxattr HAVE_FLISTXATTR)
-  CHECK_FUNCTION_EXISTS_GLIBC(fsetxattr HAVE_FSETXATTR)
-  CHECK_FUNCTION_EXISTS_GLIBC(getxattr HAVE_GETXATTR)
-  CHECK_FUNCTION_EXISTS_GLIBC(lgetxattr HAVE_LGETXATTR)
-  CHECK_FUNCTION_EXISTS_GLIBC(listxattr HAVE_LISTXATTR)
-  CHECK_FUNCTION_EXISTS_GLIBC(llistxattr HAVE_LLISTXATTR)
-  CHECK_FUNCTION_EXISTS_GLIBC(lsetxattr HAVE_LSETXATTR)
-  CHECK_FUNCTION_EXISTS_GLIBC(fgetea HAVE_FGETEA)
-  CHECK_FUNCTION_EXISTS_GLIBC(flistea HAVE_FLISTEA)
-  CHECK_FUNCTION_EXISTS_GLIBC(fsetea HAVE_FSETEA)
-  CHECK_FUNCTION_EXISTS_GLIBC(getea HAVE_GETEA)
-  CHECK_FUNCTION_EXISTS_GLIBC(lgetea HAVE_LGETEA)
-  CHECK_FUNCTION_EXISTS_GLIBC(listea HAVE_LISTEA)
-  CHECK_FUNCTION_EXISTS_GLIBC(llistea HAVE_LLISTEA)
-  CHECK_FUNCTION_EXISTS_GLIBC(lsetea HAVE_LSETEA)
+  CHECK_SYMBOL_EXISTS(XATTR_NOFOLLOW "sys/xattr.h" HAVE_DECL_XATTR_NOFOLLOW)
+  IF(HAVE_SYS_XATTR_H AND HAVE_DECL_XATTR_NOFOLLOW)
+    CHECK_FUNCTION_EXISTS(fgetxattr HAVE_FGETXATTR)
+    CHECK_FUNCTION_EXISTS(flistxattr HAVE_FLISTXATTR)
+    CHECK_FUNCTION_EXISTS(fsetxattr HAVE_FSETXATTR)
+    CHECK_FUNCTION_EXISTS(getxattr HAVE_GETXATTR)
+    CHECK_FUNCTION_EXISTS(listxattr HAVE_LISTXATTR)
+    CHECK_FUNCTION_EXISTS(setxattr HAVE_SETXATTR)
+    IF(HAVE_FGETXATTR AND
+       HAVE_FLISTXATTR AND
+       HAVE_FSETXATTR AND
+       HAVE_GETXATTR AND
+       HAVE_LISTXATTR AND
+       HAVE_SETXATTR)
+      SET(ARCHIVE_XATTR_DARWIN TRUE)
+    ENDIF()
+  ELSEIF(HAVE_SYS_EXTATTR_H AND HAVE_DECL_EXTATTR_NAMESPACE_USER)
+    # FreeBSD xattr support
+    CHECK_FUNCTION_EXISTS(extattr_get_fd HAVE_EXTATTR_GET_FD)
+    CHECK_FUNCTION_EXISTS(extattr_get_file HAVE_EXTATTR_GET_FILE)
+    CHECK_FUNCTION_EXISTS(extattr_get_link HAVE_EXTATTR_GET_LINK)
+    CHECK_FUNCTION_EXISTS(extattr_list_fd HAVE_EXTATTR_LIST_FD)
+    CHECK_FUNCTION_EXISTS(extattr_list_file HAVE_EXTATTR_LIST_FILE)
+    CHECK_FUNCTION_EXISTS(extattr_list_link HAVE_EXTATTR_LIST_LINK)
+    CHECK_FUNCTION_EXISTS(extattr_set_fd HAVE_EXTATTR_SET_FD)
+    CHECK_FUNCTION_EXISTS(extattr_set_link HAVE_EXTATTR_SET_LINK)
+    IF(HAVE_EXTATTR_GET_FD AND
+       HAVE_EXTATTR_GET_FILE AND
+       HAVE_EXTATTR_GET_LINK AND
+       HAVE_EXTATTR_LIST_FD AND
+       HAVE_EXTATTR_LIST_FILE AND
+       HAVE_EXTATTR_LIST_LINK AND
+       HAVE_EXTATTR_SET_FD AND
+       HAVE_EXTATTR_SET_LINK)
+      SET(ARCHIVE_XATTR_FREEBSD TRUE)
+    ENDIF()
+  ELSEIF(HAVE_SYS_XATTR_H OR HAVE_ATTR_XATTR_H)
+    # Linux xattr support
+    CHECK_FUNCTION_EXISTS_GLIBC(fgetxattr HAVE_FGETXATTR)
+    CHECK_FUNCTION_EXISTS_GLIBC(flistxattr HAVE_FLISTXATTR)
+    CHECK_FUNCTION_EXISTS_GLIBC(fsetxattr HAVE_FSETXATTR)
+    CHECK_FUNCTION_EXISTS_GLIBC(getxattr HAVE_GETXATTR)
+    CHECK_FUNCTION_EXISTS_GLIBC(lgetxattr HAVE_LGETXATTR)
+    CHECK_FUNCTION_EXISTS_GLIBC(listxattr HAVE_LISTXATTR)
+    CHECK_FUNCTION_EXISTS_GLIBC(llistxattr HAVE_LLISTXATTR)
+    CHECK_FUNCTION_EXISTS_GLIBC(lsetxattr HAVE_LSETXATTR)
+    IF(HAVE_FGETXATTR AND
+       HAVE_FLISTXATTR AND
+       HAVE_FSETXATTR AND
+       HAVE_GETXATTR AND
+       HAVE_LGETXATTR AND
+       HAVE_LISTXATTR AND
+       HAVE_LLISTXATTR AND
+       HAVE_LSETXATTR)
+      SET(ARCHIVE_XATTR_LINUX TRUE)
+    ENDIF()
+  ELSEIF(HAVE_SYS_EA_H)
+    # AIX xattr support
+    CHECK_FUNCTION_EXISTS(fgetea HAVE_FGETEA)
+    CHECK_FUNCTION_EXISTS(flistea HAVE_FLISTEA)
+    CHECK_FUNCTION_EXISTS(fsetea HAVE_FSETEA)
+    CHECK_FUNCTION_EXISTS(getea HAVE_GETEA)
+    CHECK_FUNCTION_EXISTS(lgetea HAVE_LGETEA)
+    CHECK_FUNCTION_EXISTS(listea HAVE_LISTEA)
+    CHECK_FUNCTION_EXISTS(llistea HAVE_LLISTEA)
+    CHECK_FUNCTION_EXISTS(lsetea HAVE_LSETEA)
+    IF(HAVE_FGETEA AND
+       HAVE_FLISTEA AND
+       HAVE_FSETEA AND
+       HAVE_GETEA AND
+       HAVE_LGETEA AND
+       HAVE_LISTEA AND
+       HAVE_LLISTEA AND
+       HAVE_LSETEA)
+      SET(ARCHIVE_XATTR_AIX TRUE)
+    ENDIF()
+  ENDIF()
+
+  IF(ARCHIVE_XATTR_DARWIN)
+    MESSAGE(STATUS "Extended attributes support: Darwin")
+  ELSEIF(ARCHIVE_XATTR_FREEBSD)
+    MESSAGE(STATUS "Extended attributes support: FreeBSD")
+  ELSEIF(ARCHIVE_XATTR_LINUX)
+    MESSAGE(STATUS "Extended attributes support: Linux")
+  ELSEIF(ARCHIVE_XATTR_AIX)
+    MESSAGE(STATUS "Extended attributes support: AIX")
+  ELSE()
+    MESSAGE(STATUS "Extended attributes support: none")
+  ENDIF()
 ELSE(ENABLE_XATTR)
-  SET(HAVE_ATTR_LIB FALSE)
-  SET(HAVE_ATTR_XATTR_H FALSE)
-  SET(HAVE_DECL_EXTATTR_NAMESPACE_USER FALSE)
-  SET(HAVE_EXTATTR_GET_FILE FALSE)
-  SET(HAVE_EXTATTR_LIST_FILE FALSE)
-  SET(HAVE_EXTATTR_SET_FD FALSE)
-  SET(HAVE_EXTATTR_SET_FILE FALSE)
-  SET(HAVE_FGETEA FALSE)
-  SET(HAVE_FGETXATTR FALSE)
-  SET(HAVE_FLISTEA FALSE)
-  SET(HAVE_FLISTXATTR FALSE)
-  SET(HAVE_FSETEA FALSE)
-  SET(HAVE_FSETXATTR FALSE)
-  SET(HAVE_GETEA FALSE)
-  SET(HAVE_GETXATTR FALSE)
-  SET(HAVE_LGETEA FALSE)
-  SET(HAVE_LGETXATTR FALSE)
-  SET(HAVE_LISTEA FALSE)
-  SET(HAVE_LISTXATTR FALSE)
-  SET(HAVE_LLISTEA FALSE)
-  SET(HAVE_LLISTXATTR FALSE)
-  SET(HAVE_LSETEA FALSE)
-  SET(HAVE_LSETXATTR FALSE)
-  SET(HAVE_SYS_EXTATTR_H FALSE)
-  SET(HAVE_SYS_XATTR_H FALSE)
+  SET(ARCHIVE_XATTR_DARWIN FALSE)
+  SET(ARCHIVE_XATTR_FREEBSD FALSE)
+  SET(ARCHIVE_XATTR_LINUX FALSE)
+  SET(ARCHIVE_XATTR_AIX FALSE)
 ENDIF(ENABLE_XATTR)
 
 #
@@ -1592,83 +1648,212 @@
 # which makes the following checks rather more complex than I would like.
 #
 IF(ENABLE_ACL)
+  # Solaris and derivates ACLs
+  CHECK_FUNCTION_EXISTS(acl HAVE_ACL)
+  CHECK_FUNCTION_EXISTS(facl HAVE_FACL)
+
+  # Libacl
   CHECK_LIBRARY_EXISTS(acl "acl_get_file" "" HAVE_LIBACL)
   IF(HAVE_LIBACL)
     SET(CMAKE_REQUIRED_LIBRARIES "acl")
     FIND_LIBRARY(ACL_LIBRARY NAMES acl)
     LIST(APPEND ADDITIONAL_LIBS ${ACL_LIBRARY})
   ENDIF(HAVE_LIBACL)
-  #
-  CHECK_FUNCTION_EXISTS_GLIBC(acl_create_entry HAVE_ACL_CREATE_ENTRY)
-  CHECK_FUNCTION_EXISTS_GLIBC(acl_init HAVE_ACL_INIT)
-  CHECK_FUNCTION_EXISTS_GLIBC(acl_set_fd HAVE_ACL_SET_FD)
-  CHECK_FUNCTION_EXISTS_GLIBC(acl_set_fd_np HAVE_ACL_SET_FD_NP)
-  CHECK_FUNCTION_EXISTS_GLIBC(acl_set_file HAVE_ACL_SET_FILE)
-  CHECK_TYPE_EXISTS(acl_permset_t "${INCLUDES}"    HAVE_ACL_PERMSET_T)
+
+  CHECK_TYPE_EXISTS(acl_t "sys/types.h;sys/acl.h" HAVE_ACL_T)
+  CHECK_TYPE_EXISTS(acl_entry_t "sys/types.h;sys/acl.h" HAVE_ACL_ENTRY_T)
+  CHECK_TYPE_EXISTS(acl_permset_t "sys/types.h;sys/acl.h" HAVE_ACL_PERMSET_T)
+  CHECK_TYPE_EXISTS(acl_tag_t "sys/types.h;sys/acl.h" HAVE_ACL_TAG_T)
+
+  IF(HAVE_ACL AND HAVE_FACL)
+    CHECK_TYPE_EXISTS(aclent_t "sys/acl.h" HAVE_ACLENT_T)
+    IF(HAVE_ACLENT_T)
+      CHECK_SYMBOL_EXISTS(GETACL "sys/acl.h" HAVE_DECL_GETACL)
+      CHECK_SYMBOL_EXISTS(GETACLCNT "sys/acl.h" HAVE_DECL_GETACLCNT)
+      CHECK_SYMBOL_EXISTS(SETACL "sys/acl.h" HAVE_DECL_SETACL)
+      IF(HAVE_DECL_GETACL AND
+         HAVE_DECL_GETACLCNT AND
+         HAVE_DECL_SETACL)
+        SET(ARCHIVE_ACL_SUNOS TRUE)
+      ENDIF()
+      CHECK_TYPE_EXISTS(ace_t "sys/acl.h" HAVE_ACE_T)
+      IF(HAVE_ACE_T)
+        CHECK_SYMBOL_EXISTS(ACE_GETACL "sys/acl.h" HAVE_DECL_ACE_GETACL)
+        CHECK_SYMBOL_EXISTS(ACE_GETACLCNT "sys/acl.h" HAVE_DECL_ACE_GETACLCNT)
+        CHECK_SYMBOL_EXISTS(ACE_SETACL "sys/acl.h" HAVE_DECL_ACE_SETACL)
+        IF(HAVE_DECL_ACE_GETACL AND
+           HAVE_DECL_ACE_GETACLCNT AND
+           HAVE_DECL_ACE_SETACL)
+          SET(ARCHIVE_ACL_SUNOS_NFS4 TRUE)
+        ENDIF()
+      ENDIF(HAVE_ACE_T)
+    ENDIF(HAVE_ACLENT_T)
+  ENDIF(HAVE_ACL AND HAVE_FACL)
 
-  # The "acl_get_perm()" function was omitted from the POSIX draft.
-  # (It's a pretty obvious oversight; otherwise, there's no way to
-  # test for specific permissions in a permset.)  Linux uses the obvious
-  # name, FreeBSD adds _np to mark it as "non-Posix extension."
-  # Test for both as a double-check that we really have POSIX-style ACL support.
-  CHECK_FUNCTION_EXISTS(acl_get_fd_np HAVE_ACL_GET_FD_NP)
-  CHECK_FUNCTION_EXISTS(acl_get_perm HAVE_ACL_GET_PERM)
-  CHECK_FUNCTION_EXISTS(acl_get_perm_np HAVE_ACL_GET_PERM_NP)
-  CHECK_FUNCTION_EXISTS(acl_get_link HAVE_ACL_GET_LINK)
-  CHECK_FUNCTION_EXISTS(acl_get_link_np HAVE_ACL_GET_LINK_NP)
-  CHECK_FUNCTION_EXISTS(acl_is_trivial_np HAVE_ACL_IS_TRIVIAL_NP)
-  CHECK_FUNCTION_EXISTS(acl_set_link_np HAVE_ACL_SET_LINK_NP)
-  CHECK_SYMBOL_EXISTS(ACL_TYPE_NFS4 "${INCLUDES}" HAVE_DECL_ACL_TYPE_NFS4)
+  IF(HAVE_ACL_T AND HAVE_ACL_ENTRY_T AND HAVE_ACL_PERMSET_T AND HAVE_ACL_TAG_T)
+    CHECK_FUNCTION_EXISTS_GLIBC(acl_add_perm HAVE_ACL_ADD_PERM)
+    CHECK_FUNCTION_EXISTS_GLIBC(acl_clear_perms HAVE_ACL_CLEAR_PERMS)
+    CHECK_FUNCTION_EXISTS_GLIBC(acl_create_entry HAVE_ACL_CREATE_ENTRY)
+    CHECK_FUNCTION_EXISTS_GLIBC(acl_delete_def_file HAVE_ACL_DELETE_DEF_FILE)
+    CHECK_FUNCTION_EXISTS_GLIBC(acl_free HAVE_ACL_FREE)
+    CHECK_FUNCTION_EXISTS_GLIBC(acl_get_entry HAVE_ACL_GET_ENTRY)
+    CHECK_FUNCTION_EXISTS_GLIBC(acl_get_fd HAVE_ACL_GET_FD)
+    CHECK_FUNCTION_EXISTS_GLIBC(acl_get_file HAVE_ACL_GET_FILE)
+    CHECK_FUNCTION_EXISTS_GLIBC(acl_get_permset HAVE_ACL_GET_PERMSET)



Home | Main Index | Thread Index | Old Index