summaryrefslogtreecommitdiffstats
path: root/lib/libarchive
diff options
context:
space:
mode:
authormm <mm@FreeBSD.org>2012-02-25 10:58:02 +0000
committermm <mm@FreeBSD.org>2012-02-25 10:58:02 +0000
commit6132589d7bb05bbf0c9033cc9f5cf79bafdc0b0f (patch)
tree117e869a99c6fa7f789c6d9a87cf7eac26ae69e3 /lib/libarchive
parent87f7f0cfe8d3d17bc154ca2c0dcd51bca1444006 (diff)
parent2f6e434fe4c652da1969314fa57ae21936cec85d (diff)
downloadFreeBSD-src-6132589d7bb05bbf0c9033cc9f5cf79bafdc0b0f.zip
FreeBSD-src-6132589d7bb05bbf0c9033cc9f5cf79bafdc0b0f.tar.gz
Update libarchive to 3.0.3
Some of new features: - New readers: RAR, LHA/LZH, CAB reader, 7-Zip - New writers: ISO9660, XAR - Improvements to many formats, especially including ISO9660 and Zip - Stackable write filters to write, e.g., tar.gz.uu in a single pass - Exploit seekable input; new "seekable" Zip reader can exploit the Zip Central Directory when it's available; the old "streamable" Zip reader is still fully supported for cases where seeking is not possible. Full release notes available at: https://github.com/libarchive/libarchive/wiki/ReleaseNotes
Diffstat (limited to 'lib/libarchive')
-rw-r--r--lib/libarchive/Makefile413
-rw-r--r--lib/libarchive/config_freebsd.h332
-rw-r--r--lib/libarchive/test/Makefile67
3 files changed, 520 insertions, 292 deletions
diff --git a/lib/libarchive/Makefile b/lib/libarchive/Makefile
index 92ca954..bbe18d6 100644
--- a/lib/libarchive/Makefile
+++ b/lib/libarchive/Makefile
@@ -20,7 +20,7 @@ LDADD+= -lbsdxml
# FreeBSD SHLIB_MAJOR value is managed as part of the FreeBSD system.
# It has no real relation to the libarchive version number.
-SHLIB_MAJOR= 5
+SHLIB_MAJOR= 6
CFLAGS+= -DPLATFORM_CONFIG_H=\"${.CURDIR}/config_freebsd.h\"
CFLAGS+= -I${.OBJDIR}
@@ -34,44 +34,68 @@ DPADD+= ${LIBMD}
LDADD+= -lmd
.endif
+.if ${MK_ICONV} != "no"
+CFLAGS+= -DHAVE_ICONV=1 -DHAVE_ICONV_H=1 -DICONV_CONST=const
+.endif
+
+.if ${MACHINE_ARCH:Marm*} != "" || ${MACHINE_ARCH:Mmips*} != "" || \
+ ${MACHINE_ARCH:Msparc64*} != "" || ${MACHINE_ARCH:Mia64*} != ""
+NO_WCAST_ALIGN= yes
+.if ${MACHINE_ARCH:M*64*} == ""
+CFLAGS+= -DPPMD_32BIT
+.endif
+.endif
+
.PATH: ${LIBARCHIVEDIR}/libarchive
# Headers to be installed in /usr/include
INCS= archive.h archive_entry.h
# Sources to be compiled.
-SRCS= archive_check_magic.c \
+SRCS= archive_acl.c \
+ archive_check_magic.c \
+ archive_crypto.c \
archive_entry.c \
archive_entry_copy_stat.c \
+ archive_entry_link_resolver.c \
+ archive_entry_sparse.c \
archive_entry_stat.c \
archive_entry_strmode.c \
- archive_entry_link_resolver.c \
archive_entry_xattr.c \
+ archive_options.c \
+ archive_ppmd7.c \
+ archive_rb.c \
archive_read.c \
archive_read_data_into_fd.c \
- archive_read_disk.c \
archive_read_disk_entry_from_file.c \
+ archive_read_disk_posix.c \
archive_read_disk_set_standard_lookup.c \
archive_read_extract.c \
archive_read_open_fd.c \
archive_read_open_file.c \
archive_read_open_filename.c \
archive_read_open_memory.c \
- archive_read_support_compression_all.c \
- archive_read_support_compression_bzip2.c \
- archive_read_support_compression_compress.c \
- archive_read_support_compression_gzip.c \
- archive_read_support_compression_none.c \
- archive_read_support_compression_program.c \
- archive_read_support_compression_rpm.c \
- archive_read_support_compression_uu.c \
- archive_read_support_compression_xz.c \
+ archive_read_set_options.c \
+ archive_read_support_filter_all.c \
+ archive_read_support_filter_bzip2.c \
+ archive_read_support_filter_compress.c \
+ archive_read_support_filter_gzip.c \
+ archive_read_support_filter_none.c \
+ archive_read_support_filter_program.c \
+ archive_read_support_filter_rpm.c \
+ archive_read_support_filter_uu.c \
+ archive_read_support_filter_xz.c \
+ archive_read_support_format_7zip.c \
archive_read_support_format_all.c \
archive_read_support_format_ar.c \
+ archive_read_support_format_by_code.c \
+ archive_read_support_format_cab.c \
archive_read_support_format_cpio.c \
archive_read_support_format_empty.c \
archive_read_support_format_iso9660.c \
+ archive_read_support_format_lha.c \
archive_read_support_format_mtree.c \
+ archive_read_support_format_rar.c \
archive_read_support_format_raw.c \
archive_read_support_format_tar.c \
archive_read_support_format_xar.c \
@@ -81,150 +105,231 @@ SRCS= archive_check_magic.c \
archive_util.c \
archive_virtual.c \
archive_write.c \
- archive_write_disk.c \
archive_write_disk_set_standard_lookup.c \
+ archive_write_disk_posix.c \
archive_write_open_fd.c \
archive_write_open_file.c \
archive_write_open_filename.c \
archive_write_open_memory.c \
- archive_write_set_compression_bzip2.c \
- archive_write_set_compression_compress.c \
- archive_write_set_compression_gzip.c \
- archive_write_set_compression_none.c \
- archive_write_set_compression_program.c \
- archive_write_set_compression_xz.c \
+ archive_write_add_filter_bzip2.c \
+ archive_write_add_filter_compress.c \
+ archive_write_add_filter_gzip.c \
+ archive_write_add_filter_none.c \
+ archive_write_add_filter_program.c \
+ archive_write_add_filter_xz.c \
archive_write_set_format.c \
+ archive_write_set_format_7zip.c \
archive_write_set_format_ar.c \
archive_write_set_format_by_name.c \
archive_write_set_format_cpio.c \
archive_write_set_format_cpio_newc.c \
+ archive_write_set_format_gnutar.c \
+ archive_write_set_format_iso9660.c \
archive_write_set_format_mtree.c \
archive_write_set_format_pax.c \
archive_write_set_format_shar.c \
archive_write_set_format_ustar.c \
+ archive_write_set_format_xar.c \
archive_write_set_format_zip.c \
+ archive_write_set_options.c \
filter_fork.c
# Man pages to be installed.
MAN= archive_entry.3 \
+ archive_entry_acl.3 \
+ archive_entry_linkify.3 \
+ archive_entry_paths.3 \
+ archive_entry_perms.3 \
+ archive_entry_stat.3 \
+ archive_entry_time.3 \
archive_read.3 \
+ archive_read_data.3 \
archive_read_disk.3 \
+ archive_read_extract.3 \
+ archive_read_filter.3 \
+ archive_read_format.3 \
+ archive_read_free.3 \
+ archive_read_header.3 \
+ archive_read_new.3 \
+ archive_read_open.3 \
+ archive_read_set_options.3 \
archive_util.3 \
archive_write.3 \
+ archive_write_blocksize.3 \
+ archive_write_data.3 \
archive_write_disk.3 \
+ archive_write_filter.3 \
+ archive_write_finish_entry.3 \
+ archive_write_format.3 \
+ archive_write_free.3 \
+ archive_write_header.3 \
+ archive_write_new.3 \
+ archive_write_open.3 \
+ archive_write_set_options.3 \
cpio.5 \
libarchive.3 \
+ libarchive_internals.3 \
libarchive-formats.5 \
tar.5
# Symlink the man pages under each function name.
-MLINKS+= archive_entry.3 archive_entry_acl_add_entry.3
-MLINKS+= archive_entry.3 archive_entry_acl_add_entry_w.3
-MLINKS+= archive_entry.3 archive_entry_acl_clear.3
-MLINKS+= archive_entry.3 archive_entry_acl_count.3
-MLINKS+= archive_entry.3 archive_entry_acl_next.3
-MLINKS+= archive_entry.3 archive_entry_acl_next_w.3
-MLINKS+= archive_entry.3 archive_entry_acl_reset.3
-MLINKS+= archive_entry.3 archive_entry_acl_text_w.3
MLINKS+= archive_entry.3 archive_entry_clear.3
MLINKS+= archive_entry.3 archive_entry_clone.3
-MLINKS+= archive_entry.3 archive_entry_copy_fflags_text.3
-MLINKS+= archive_entry.3 archive_entry_copy_fflags_text_w.3
-MLINKS+= archive_entry.3 archive_entry_copy_gname.3
-MLINKS+= archive_entry.3 archive_entry_copy_gname_w.3
-MLINKS+= archive_entry.3 archive_entry_copy_hardlink_w.3
-MLINKS+= archive_entry.3 archive_entry_copy_link.3
-MLINKS+= archive_entry.3 archive_entry_copy_link_w.3
-MLINKS+= archive_entry.3 archive_entry_copy_pathname_w.3
-MLINKS+= archive_entry.3 archive_entry_copy_stat.3
-MLINKS+= archive_entry.3 archive_entry_copy_symlink_w.3
-MLINKS+= archive_entry.3 archive_entry_copy_uname.3
-MLINKS+= archive_entry.3 archive_entry_copy_uname_w.3
-MLINKS+= archive_entry.3 archive_entry_dev.3
-MLINKS+= archive_entry.3 archive_entry_devmajor.3
-MLINKS+= archive_entry.3 archive_entry_devminor.3
-MLINKS+= archive_entry.3 archive_entry_filetype.3
-MLINKS+= archive_entry.3 archive_entry_fflags.3
-MLINKS+= archive_entry.3 archive_entry_fflags_text.3
MLINKS+= archive_entry.3 archive_entry_free.3
-MLINKS+= archive_entry.3 archive_entry_gid.3
-MLINKS+= archive_entry.3 archive_entry_gname.3
-MLINKS+= archive_entry.3 archive_entry_gname_w.3
-MLINKS+= archive_entry.3 archive_entry_hardlink.3
-MLINKS+= archive_entry.3 archive_entry_ino.3
-MLINKS+= archive_entry.3 archive_entry_mode.3
-MLINKS+= archive_entry.3 archive_entry_mtime.3
-MLINKS+= archive_entry.3 archive_entry_mtime_nsec.3
-MLINKS+= archive_entry.3 archive_entry_nlink.3
MLINKS+= archive_entry.3 archive_entry_new.3
-MLINKS+= archive_entry.3 archive_entry_pathname.3
-MLINKS+= archive_entry.3 archive_entry_pathname_w.3
-MLINKS+= archive_entry.3 archive_entry_rdev.3
-MLINKS+= archive_entry.3 archive_entry_rdevmajor.3
-MLINKS+= archive_entry.3 archive_entry_rdevminor.3
-MLINKS+= archive_entry.3 archive_entry_set_atime.3
-MLINKS+= archive_entry.3 archive_entry_set_ctime.3
-MLINKS+= archive_entry.3 archive_entry_set_dev.3
-MLINKS+= archive_entry.3 archive_entry_set_devmajor.3
-MLINKS+= archive_entry.3 archive_entry_set_devminor.3
-MLINKS+= archive_entry.3 archive_entry_set_fflags.3
-MLINKS+= archive_entry.3 archive_entry_set_gid.3
-MLINKS+= archive_entry.3 archive_entry_set_gname.3
-MLINKS+= archive_entry.3 archive_entry_set_hardlink.3
-MLINKS+= archive_entry.3 archive_entry_set_link.3
-MLINKS+= archive_entry.3 archive_entry_set_mode.3
-MLINKS+= archive_entry.3 archive_entry_set_mtime.3
-MLINKS+= archive_entry.3 archive_entry_set_nlink.3
-MLINKS+= archive_entry.3 archive_entry_set_pathname.3
-MLINKS+= archive_entry.3 archive_entry_set_rdev.3
-MLINKS+= archive_entry.3 archive_entry_set_rdevmajor.3
-MLINKS+= archive_entry.3 archive_entry_set_rdevminor.3
-MLINKS+= archive_entry.3 archive_entry_set_size.3
-MLINKS+= archive_entry.3 archive_entry_set_symlink.3
-MLINKS+= archive_entry.3 archive_entry_set_uid.3
-MLINKS+= archive_entry.3 archive_entry_set_uname.3
-MLINKS+= archive_entry.3 archive_entry_size.3
-MLINKS+= archive_entry.3 archive_entry_stat.3
-MLINKS+= archive_entry.3 archive_entry_symlink.3
-MLINKS+= archive_entry.3 archive_entry_uid.3
-MLINKS+= archive_entry.3 archive_entry_uname.3
-MLINKS+= archive_entry.3 archive_entry_uname_w.3
-MLINKS+= archive_read.3 archive_read_data.3
-MLINKS+= archive_read.3 archive_read_data_block.3
-MLINKS+= archive_read.3 archive_read_data_into_buffer.3
-MLINKS+= archive_read.3 archive_read_data_into_fd.3
-MLINKS+= archive_read.3 archive_read_data_skip.3
-MLINKS+= archive_read.3 archive_read_extract.3
-MLINKS+= archive_read.3 archive_read_extract_set_progress_callback.3
-MLINKS+= archive_read.3 archive_read_extract_set_skip_file.3
-MLINKS+= archive_read.3 archive_read_finish.3
-MLINKS+= archive_read.3 archive_read_new.3
-MLINKS+= archive_read.3 archive_read_next_header.3
-MLINKS+= archive_read.3 archive_read_next_header2.3
-MLINKS+= archive_read.3 archive_read_open.3
-MLINKS+= archive_read.3 archive_read_open2.3
-MLINKS+= archive_read.3 archive_read_open_FILE.3
-MLINKS+= archive_read.3 archive_read_open_fd.3
-MLINKS+= archive_read.3 archive_read_open_file.3
-MLINKS+= archive_read.3 archive_read_open_filename.3
-MLINKS+= archive_read.3 archive_read_open_memory.3
-MLINKS+= archive_read.3 archive_read_support_compression_all.3
-MLINKS+= archive_read.3 archive_read_support_compression_bzip2.3
-MLINKS+= archive_read.3 archive_read_support_compression_compress.3
-MLINKS+= archive_read.3 archive_read_support_compression_gzip.3
-MLINKS+= archive_read.3 archive_read_support_compression_lzma.3
-MLINKS+= archive_read.3 archive_read_support_compression_none.3
-MLINKS+= archive_read.3 archive_read_support_compression_program.3
-MLINKS+= archive_read.3 archive_read_support_compression_program_signature.3
-MLINKS+= archive_read.3 archive_read_support_compression_xz.3
-MLINKS+= archive_read.3 archive_read_support_format_all.3
-MLINKS+= archive_read.3 archive_read_support_format_ar.3
-MLINKS+= archive_read.3 archive_read_support_format_cpio.3
-MLINKS+= archive_read.3 archive_read_support_format_empty.3
-MLINKS+= archive_read.3 archive_read_support_format_iso9660.3
-MLINKS+= archive_read.3 archive_read_support_format_raw.3
-MLINKS+= archive_read.3 archive_read_support_format_tar.3
-MLINKS+= archive_read.3 archive_read_support_format_zip.3
+MLINKS+= archive_entry_acl.3 archive_entry_acl_add_entry.3
+MLINKS+= archive_entry_acl.3 archive_entry_acl_add_entry_w.3
+MLINKS+= archive_entry_acl.3 archive_entry_acl_clear.3
+MLINKS+= archive_entry_acl.3 archive_entry_acl_count.3
+MLINKS+= archive_entry_acl.3 archive_entry_acl_next.3
+MLINKS+= archive_entry_acl.3 archive_entry_acl_next_w.3
+MLINKS+= archive_entry_acl.3 archive_entry_acl_reset.3
+MLINKS+= archive_entry_acl.3 archive_entry_acl_text_w.3
+MLINKS+= archive_entry_linkify.3 archive_entry_linkresolver.3
+MLINKS+= archive_entry_linkify.3 archive_entry_linkresolver_new.3
+MLINKS+= archive_entry_linkify.3 archive_entry_linkresolver_set_strategy.3
+MLINKS+= archive_entry_linkify.3 archive_entry_linkresolver_free.3
+MLINKS+= archive_entry_paths.3 archive_entry_copy_hardlink.3
+MLINKS+= archive_entry_paths.3 archive_entry_copy_hardlink_w.3
+MLINKS+= archive_entry_paths.3 archive_entry_copy_link.3
+MLINKS+= archive_entry_paths.3 archive_entry_copy_link_w.3
+MLINKS+= archive_entry_paths.3 archive_entry_copy_pathname.3
+MLINKS+= archive_entry_paths.3 archive_entry_copy_pathname_w.3
+MLINKS+= archive_entry_paths.3 archive_entry_copy_sourcepath.3
+MLINKS+= archive_entry_paths.3 archive_entry_copy_symlink.3
+MLINKS+= archive_entry_paths.3 archive_entry_copy_symlink_w.3
+MLINKS+= archive_entry_paths.3 archive_entry_hardlink.3
+MLINKS+= archive_entry_paths.3 archive_entry_hardlink_w.3
+MLINKS+= archive_entry_paths.3 archive_entry_pathname.3
+MLINKS+= archive_entry_paths.3 archive_entry_pathname_w.3
+MLINKS+= archive_entry_paths.3 archive_entry_set_hardlink.3
+MLINKS+= archive_entry_paths.3 archive_entry_set_link.3
+MLINKS+= archive_entry_paths.3 archive_entry_set_pathname.3
+MLINKS+= archive_entry_paths.3 archive_entry_set_symlink.3
+MLINKS+= archive_entry_paths.3 archive_entry_symlink.3
+MLINKS+= archive_entry_paths.3 archive_entry_symlink_w.3
+MLINKS+= archive_entry_paths.3 archive_entry_update_symlink_utf8.3
+MLINKS+= archive_entry_paths.3 archive_entry_update_hardlink_utf8.3
+MLINKS+= archive_entry_perms.3 archive_entry_copy_fflags_text.3
+MLINKS+= archive_entry_perms.3 archive_entry_copy_fflags_text_w.3
+MLINKS+= archive_entry_perms.3 archive_entry_copy_gname.3
+MLINKS+= archive_entry_perms.3 archive_entry_copy_gname_w.3
+MLINKS+= archive_entry_perms.3 archive_entry_copy_uname.3
+MLINKS+= archive_entry_perms.3 archive_entry_copy_uname_w.3
+MLINKS+= archive_entry_perms.3 archive_entry_fflags.3
+MLINKS+= archive_entry_perms.3 archive_entry_fflags_text.3
+MLINKS+= archive_entry_perms.3 archive_entry_gid.3
+MLINKS+= archive_entry_perms.3 archive_entry_gname.3
+MLINKS+= archive_entry_perms.3 archive_entry_gname_w.3
+MLINKS+= archive_entry_perms.3 archive_entry_set_fflags.3
+MLINKS+= archive_entry_perms.3 archive_entry_set_gid.3
+MLINKS+= archive_entry_perms.3 archive_entry_set_gname.3
+MLINKS+= archive_entry_perms.3 archive_entry_perm.3
+MLINKS+= archive_entry_perms.3 archive_entry_set_fflags.3
+MLINKS+= archive_entry_perms.3 archive_entry_set_gid.3
+MLINKS+= archive_entry_perms.3 archive_entry_set_gname.3
+MLINKS+= archive_entry_perms.3 archive_entry_set_perm.3
+MLINKS+= archive_entry_perms.3 archive_entry_set_uid.3
+MLINKS+= archive_entry_perms.3 archive_entry_set_uname.3
+MLINKS+= archive_entry_perms.3 archive_entry_strmode.3
+MLINKS+= archive_entry_perms.3 archive_entry_uid.3
+MLINKS+= archive_entry_perms.3 archive_entry_uname.3
+MLINKS+= archive_entry_perms.3 archive_entry_uname_w.3
+MLINKS+= archive_entry_perms.3 archive_entry_update_gname_utf8.3
+MLINKS+= archive_entry_perms.3 archive_entry_update_uname_utf8.3
+MLINKS+= archive_entry_stat.3 archive_entry_copy_stat.3
+MLINKS+= archive_entry_stat.3 archive_entry_dev.3
+MLINKS+= archive_entry_stat.3 archive_entry_dev_is_set.3
+MLINKS+= archive_entry_stat.3 archive_entry_devmajor.3
+MLINKS+= archive_entry_stat.3 archive_entry_devminor.3
+MLINKS+= archive_entry_stat.3 archive_entry_filetype.3
+MLINKS+= archive_entry_stat.3 archive_entry_ino.3
+MLINKS+= archive_entry_stat.3 archive_entry_ino64.3
+MLINKS+= archive_entry_stat.3 archive_entry_ino_is_set.3
+MLINKS+= archive_entry_stat.3 archive_entry_mode.3
+MLINKS+= archive_entry_stat.3 archive_entry_nlink.3
+MLINKS+= archive_entry_stat.3 archive_entry_rdev.3
+MLINKS+= archive_entry_stat.3 archive_entry_rdevmajor.3
+MLINKS+= archive_entry_stat.3 archive_entry_rdevminor.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_dev.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_devmajor.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_devminor.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_filetype.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_ino.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_ino64.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_mode.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_rdev.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_rdevmajor.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_rdevminor.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_size.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_nlink.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_rdev.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_rdevmajor.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_rdevminor.3
+MLINKS+= archive_entry_stat.3 archive_entry_set_size.3
+MLINKS+= archive_entry_stat.3 archive_entry_size.3
+MLINKS+= archive_entry_stat.3 archive_entry_size_is_set.3
+MLINKS+= archive_entry_stat.3 archive_entry_unset_size.3
+MLINKS+= archive_entry_time.3 archive_entry_atime.3
+MLINKS+= archive_entry_time.3 archive_entry_atime_is_set.3
+MLINKS+= archive_entry_time.3 archive_entry_atime_nsec.3
+MLINKS+= archive_entry_time.3 archive_entry_birthtime.3
+MLINKS+= archive_entry_time.3 archive_entry_birthtime_is_set.3
+MLINKS+= archive_entry_time.3 archive_entry_birthtime_nsec.3
+MLINKS+= archive_entry_time.3 archive_entry_ctime.3
+MLINKS+= archive_entry_time.3 archive_entry_ctime_is_set.3
+MLINKS+= archive_entry_time.3 archive_entry_ctime_nsec.3
+MLINKS+= archive_entry_time.3 archive_entry_mtime.3
+MLINKS+= archive_entry_time.3 archive_entry_mtime_is_set.3
+MLINKS+= archive_entry_time.3 archive_entry_mtime_nsec.3
+MLINKS+= archive_entry_time.3 archive_entry_set_atime.3
+MLINKS+= archive_entry_time.3 archive_entry_set_birthtime.3
+MLINKS+= archive_entry_time.3 archive_entry_set_ctime.3
+MLINKS+= archive_entry_time.3 archive_entry_set_mtime.3
+MLINKS+= archive_entry_time.3 archive_entry_unset_atime.3
+MLINKS+= archive_entry_time.3 archive_entry_unset_birthtime.3
+MLINKS+= archive_entry_time.3 archive_entry_unset_ctime.3
+MLINKS+= archive_entry_time.3 archive_entry_unset_mtime.3
+MLINKS+= archive_read_data.3 archive_read_data_block.3
+MLINKS+= archive_read_data.3 archive_read_data_into_fd.3
+MLINKS+= archive_read_data.3 archive_read_data_skip.3
+MLINKS+= archive_read_header.3 archive_read_next_header.3
+MLINKS+= archive_read_header.3 archive_read_next_header2.3
+MLINKS+= archive_read_extract.3 archive_read_extract2.3
+MLINKS+= archive_read_extract.3 archive_read_extract_set_progress_callback.3
+MLINKS+= archive_read_extract.3 archive_read_extract_set_skip_file.3
+MLINKS+= archive_read_open.3 archive_read_open2.3
+MLINKS+= archive_read_open.3 archive_read_open_FILE.3
+MLINKS+= archive_read_open.3 archive_read_open_fd.3
+MLINKS+= archive_read_open.3 archive_read_open_file.3
+MLINKS+= archive_read_open.3 archive_read_open_filename.3
+MLINKS+= archive_read_open.3 archive_read_open_memory.3
+MLINKS+= archive_read_free.3 archive_read_close.3
+MLINKS+= archive_read_free.3 archive_read_finish.3
+MLINKS+= archive_read_filter.3 archive_read_support_filter_all.3
+MLINKS+= archive_read_filter.3 archive_read_support_filter_bzip2.3
+MLINKS+= archive_read_filter.3 archive_read_support_filter_compress.3
+MLINKS+= archive_read_filter.3 archive_read_support_filter_gzip.3
+MLINKS+= archive_read_filter.3 archive_read_support_filter_lzma.3
+MLINKS+= archive_read_filter.3 archive_read_support_filter_none.3
+MLINKS+= archive_read_filter.3 archive_read_support_filter_xz.3
+MLINKS+= archive_read_filter.3 archive_read_support_filter_program.3
+MLINKS+= archive_read_filter.3 archive_read_support_filter_program_signature.3
+MLINKS+= archive_read_format.3 archive_read_support_format_7zip.3
+MLINKS+= archive_read_format.3 archive_read_support_format_all.3
+MLINKS+= archive_read_format.3 archive_read_support_format_ar.3
+MLINKS+= archive_read_format.3 archive_read_support_format_by_code.3
+MLINKS+= archive_read_format.3 archive_read_support_format_cab.3
+MLINKS+= archive_read_format.3 archive_read_support_format_cpio.3
+MLINKS+= archive_read_format.3 archive_read_support_format_empty.3
+MLINKS+= archive_read_format.3 archive_read_support_format_iso9660.3
+MLINKS+= archive_read_format.3 archive_read_support_format_lha.3
+MLINKS+= archive_read_format.3 archive_read_support_format_mtree.3
+MLINKS+= archive_read_format.3 archive_read_support_format_rar.3
+MLINKS+= archive_read_format.3 archive_read_support_format_raw.3
+MLINKS+= archive_read_format.3 archive_read_support_format_tar.3
+MLINKS+= archive_read_format.3 archive_read_support_format_xar.3
+MLINKS+= archive_read_format.3 archive_read_support_format_zip.3
MLINKS+= archive_read_disk.3 archive_read_disk_entry_from_file.3
MLINKS+= archive_read_disk.3 archive_read_disk_gname.3
MLINKS+= archive_read_disk.3 archive_read_disk_new.3
@@ -235,46 +340,58 @@ MLINKS+= archive_read_disk.3 archive_read_disk_set_symlink_logical.3
MLINKS+= archive_read_disk.3 archive_read_disk_set_symlink_physical.3
MLINKS+= archive_read_disk.3 archive_read_disk_set_uname_lookup.3
MLINKS+= archive_read_disk.3 archive_read_disk_uname.3
+MLINKS+= archive_read_set_options.3 archive_read_set_filter_option.3
+MLINKS+= archive_read_set_options.3 archive_read_set_format_option.3
+MLINKS+= archive_read_set_options.3 archive_read_set_option.3
MLINKS+= archive_util.3 archive_clear_error.3
MLINKS+= archive_util.3 archive_compression.3
MLINKS+= archive_util.3 archive_compression_name.3
+MLINKS+= archive_util.3 archive_copy_error.3
MLINKS+= archive_util.3 archive_errno.3
MLINKS+= archive_util.3 archive_error_string.3
MLINKS+= archive_util.3 archive_file_count.3
+MLINKS+= archive_util.3 archive_filter_code.3
+MLINKS+= archive_util.3 archive_filter_count.3
+MLINKS+= archive_util.3 archive_filter_name.3
MLINKS+= archive_util.3 archive_format.3
MLINKS+= archive_util.3 archive_format_name.3
+MLINKS+= archive_util.3 archive_position.3
MLINKS+= archive_util.3 archive_set_error.3
-MLINKS+= archive_write.3 archive_write_close.3
-MLINKS+= archive_write.3 archive_write_data.3
-MLINKS+= archive_write.3 archive_write_finish.3
-MLINKS+= archive_write.3 archive_write_finish_entry.3
-MLINKS+= archive_write.3 archive_write_get_bytes_in_last_block.3
-MLINKS+= archive_write.3 archive_write_get_bytes_per_block.3
-MLINKS+= archive_write.3 archive_write_header.3
-MLINKS+= archive_write.3 archive_write_new.3
-MLINKS+= archive_write.3 archive_write_open.3
-MLINKS+= archive_write.3 archive_write_open_FILE.3
-MLINKS+= archive_write.3 archive_write_open_fd.3
-MLINKS+= archive_write.3 archive_write_open_file.3
-MLINKS+= archive_write.3 archive_write_open_filename.3
-MLINKS+= archive_write.3 archive_write_open_memory.3
-MLINKS+= archive_write.3 archive_write_set_bytes_in_last_block.3
-MLINKS+= archive_write.3 archive_write_set_bytes_per_block.3
-MLINKS+= archive_write.3 archive_write_set_callbacks.3
-MLINKS+= archive_write.3 archive_write_set_compression_bzip2.3
-MLINKS+= archive_write.3 archive_write_set_compression_compress.3
-MLINKS+= archive_write.3 archive_write_set_compression_gzip.3
-MLINKS+= archive_write.3 archive_write_set_compression_none.3
-MLINKS+= archive_write.3 archive_write_set_compression_program.3
-MLINKS+= archive_write.3 archive_write_set_format_pax.3
-MLINKS+= archive_write.3 archive_write_set_format_shar.3
-MLINKS+= archive_write.3 archive_write_set_format_ustar.3
+MLINKS+= archive_write_blocksize.3 archive_write_get_bytes_in_last_block.3
+MLINKS+= archive_write_blocksize.3 archive_write_get_bytes_per_block.3
+MLINKS+= archive_write_blocksize.3 archive_write_set_bytes_in_last_block.3
+MLINKS+= archive_write_blocksize.3 archive_write_set_bytes_per_block.3
+MLINKS+= archive_write_disk.3 archive_write_data_block.3
MLINKS+= archive_write_disk.3 archive_write_disk_new.3
MLINKS+= archive_write_disk.3 archive_write_disk_set_group_lookup.3
MLINKS+= archive_write_disk.3 archive_write_disk_set_options.3
MLINKS+= archive_write_disk.3 archive_write_disk_set_skip_file.3
MLINKS+= archive_write_disk.3 archive_write_disk_set_standard_lookup.3
MLINKS+= archive_write_disk.3 archive_write_disk_set_user_lookup.3
+MLINKS+= archive_write_filter.3 archive_write_add_filter_bzip2.3
+MLINKS+= archive_write_filter.3 archive_write_add_filter_compress.3
+MLINKS+= archive_write_filter.3 archive_write_add_filter_gzip.3
+MLINKS+= archive_write_filter.3 archive_write_add_filter_lzip.3
+MLINKS+= archive_write_filter.3 archive_write_add_filter_lzma.3
+MLINKS+= archive_write_filter.3 archive_write_add_filter_none.3
+MLINKS+= archive_write_filter.3 archive_write_add_filter_program.3
+MLINKS+= archive_write_filter.3 archive_write_add_filter_xz.3
+MLINKS+= archive_write_format.3 archive_write_set_format_cpio.3
+MLINKS+= archive_write_format.3 archive_write_set_format_pax.3
+MLINKS+= archive_write_format.3 archive_write_set_format_pax_restricted.3
+MLINKS+= archive_write_format.3 archive_write_set_format_shar.3
+MLINKS+= archive_write_format.3 archive_write_set_format_shar_dump.3
+MLINKS+= archive_write_format.3 archive_write_set_format_ustar.3
+MLINKS+= archive_write_free.3 archive_write_close.3
+MLINKS+= archive_write_free.3 archive_write_finish.3
+MLINKS+= archive_write_open.3 archive_write_open_FILE.3
+MLINKS+= archive_write_open.3 archive_write_open_fd.3
+MLINKS+= archive_write_open.3 archive_write_open_file.3
+MLINKS+= archive_write_open.3 archive_write_open_filename.3
+MLINKS+= archive_write_open.3 archive_write_open_memory.3
+MLINKS+= archive_write_set_options.3 archive_write_set_filter_option.3
+MLINKS+= archive_write_set_options.3 archive_write_set_format_option.3
+MLINKS+= archive_write_set_options.3 archive_write_set_option.3
MLINKS+= libarchive.3 archive.3
.PHONY: check test clean-test
diff --git a/lib/libarchive/config_freebsd.h b/lib/libarchive/config_freebsd.h
index b4694ea1..0a39aa6 100644
--- a/lib/libarchive/config_freebsd.h
+++ b/lib/libarchive/config_freebsd.h
@@ -27,158 +27,210 @@
/* FreeBSD 5.0 and later have ACL and extattr support. */
#if __FreeBSD__ > 4
-#define HAVE_ACL_CREATE_ENTRY 1
-#define HAVE_ACL_GET_LINK_NP 1
-#define HAVE_ACL_GET_PERM_NP 1
-#define HAVE_ACL_INIT 1
-#define HAVE_ACL_SET_FD 1
-#define HAVE_ACL_SET_FD_NP 1
-#define HAVE_ACL_SET_FILE 1
-#define HAVE_ACL_USER 1
-#define HAVE_EXTATTR_GET_FILE 1
-#define HAVE_EXTATTR_LIST_FILE 1
-#define HAVE_EXTATTR_SET_FD 1
-#define HAVE_EXTATTR_SET_FILE 1
-#define HAVE_SYS_ACL_H 1
-#define HAVE_SYS_EXTATTR_H 1
+#define HAVE_ACL_CREATE_ENTRY 1
+#define HAVE_ACL_GET_LINK_NP 1
+#define HAVE_ACL_GET_PERM_NP 1
+#define HAVE_ACL_INIT 1
+#define HAVE_ACL_PERMSET_T 1
+#define HAVE_ACL_SET_FD 1
+#define HAVE_ACL_SET_FD_NP 1
+#define HAVE_ACL_SET_FILE 1
+#define HAVE_ACL_USER 1
+#define HAVE_EXTATTR_GET_FILE 1
+#define HAVE_EXTATTR_LIST_FILE 1
+#define HAVE_EXTATTR_SET_FD 1
+#define HAVE_EXTATTR_SET_FILE 1
+#define HAVE_SYS_ACL_H 1
+#define HAVE_SYS_EXTATTR_H 1
#endif
#ifdef WITH_OPENSSL
-#define HAVE_OPENSSL_MD5_H 1
-#define HAVE_OPENSSL_RIPEMD_H 1
-#define HAVE_OPENSSL_SHA_H 1
-#define HAVE_OPENSSL_SHA256_INIT 1
-#define HAVE_OPENSSL_SHA384_INIT 1
-#define HAVE_OPENSSL_SHA512_INIT 1
-#define HAVE_SHA256 1
-#define HAVE_SHA384 1
-#define HAVE_SHA512 1
+#define HAVE_OPENSSL_MD5_H 1
+#define HAVE_OPENSSL_RIPEMD_H 1
+#define HAVE_OPENSSL_SHA_H 1
+#define HAVE_OPENSSL_SHA256_INIT 1
+#define HAVE_OPENSSL_SHA384_INIT 1
+#define HAVE_OPENSSL_SHA512_INIT 1
+#define HAVE_SHA256 1
+#define HAVE_SHA384 1
+#define HAVE_SHA512 1
#else
-#define HAVE_MD5_H 1
-#define HAVE_MD5INIT 1
-#define HAVE_SHA_H 1
-#define HAVE_SHA1 1
-#define HAVE_SHA1_INIT 1
-#define HAVE_SHA256 1
-#define HAVE_SHA256_H 1
-#define HAVE_SHA256_INIT 1
-#define HAVE_SHA512 1
-#define HAVE_SHA512_H 1
-#define HAVE_SHA512_INIT 1
+#define HAVE_MD5_H 1
+#define HAVE_MD5INIT 1
+#define HAVE_SHA_H 1
+#define HAVE_SHA1 1
+#define HAVE_SHA1_INIT 1
+#define HAVE_SHA256 1
+#define HAVE_SHA256_H 1
+#define HAVE_SHA256_INIT 1
+#define HAVE_SHA512 1
+#define HAVE_SHA512_H 1
+#define HAVE_SHA512_INIT 1
#endif
-#define HAVE_BSDXML_H 1
-#define HAVE_BZLIB_H 1
-#define HAVE_CHFLAGS 1
-#define HAVE_CHOWN 1
-#define HAVE_DECL_EXTATTR_NAMESPACE_USER 1
-#define HAVE_DECL_INT64_MAX 1
-#define HAVE_DECL_INT64_MIN 1
-#define HAVE_DECL_SIZE_MAX 1
-#define HAVE_DECL_SSIZE_MAX 1
-#define HAVE_DECL_STRERROR_R 1
-#define HAVE_DECL_UINT32_MAX 1
-#define HAVE_DECL_UINT64_MAX 1
-#define HAVE_DIRENT_H 1
-#define HAVE_EFTYPE 1
-#define HAVE_EILSEQ 1
-#define HAVE_ERRNO_H 1
-#define HAVE_FCHDIR 1
-#define HAVE_FCHFLAGS 1
-#define HAVE_FCHMOD 1
-#define HAVE_FCHOWN 1
-#define HAVE_FCNTL 1
-#define HAVE_FCNTL_H 1
-#define HAVE_FSEEKO 1
-#define HAVE_FSTAT 1
-#define HAVE_FTRUNCATE 1
-#define HAVE_FUTIMES 1
-#define HAVE_GETEUID 1
-#define HAVE_GETGRGID_R 1
-#define HAVE_GETPID 1
-#define HAVE_GETPWUID_R 1
-#define HAVE_GRP_H 1
-#define HAVE_INTTYPES_H 1
-#define HAVE_LCHFLAGS 1
-#define HAVE_LCHMOD 1
-#define HAVE_LCHOWN 1
-#define HAVE_LIMITS_H 1
-#define HAVE_LINK 1
-#define HAVE_LSTAT 1
-#define HAVE_LUTIMES 1
-#define HAVE_MALLOC 1
-#define HAVE_MD5 1
-#define HAVE_MEMMOVE 1
-#define HAVE_MKDIR 1
-#define HAVE_MKFIFO 1
-#define HAVE_MKNOD 1
-#define HAVE_PIPE 1
-#define HAVE_POLL 1
-#define HAVE_POLL_H 1
-#define HAVE_PWD_H 1
-#define HAVE_READLINK 1
-#define HAVE_RMD160 1
-#define HAVE_SELECT 1
-#define HAVE_SETENV 1
-#define HAVE_SIGNAL_H 1
-#define HAVE_STDINT_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STRCHR 1
-#define HAVE_STRDUP 1
-#define HAVE_STRERROR 1
-#define HAVE_STRERROR_R 1
-#define HAVE_STRINGS_H 1
-#define HAVE_STRING_H 1
-#define HAVE_STRRCHR 1
-#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
-#define HAVE_STRUCT_STAT_ST_BIRTHTIME 1
-#define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1
-#define HAVE_STRUCT_STAT_ST_FLAGS 1
-#define HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 1
-#define HAVE_SYMLINK 1
-#define HAVE_SYS_CDEFS_H 1
-#define HAVE_SYS_IOCTL_H 1
-#define HAVE_SYS_SELECT_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_SYS_TIME_H 1
-#define HAVE_SYS_TYPES_H 1
-#undef HAVE_SYS_UTIME_H
-#define HAVE_SYS_WAIT_H 1
-#define HAVE_TIMEGM 1
-#define HAVE_TZSET 1
-#define HAVE_UNISTD_H 1
-#define HAVE_UNSETENV 1
-#define HAVE_UTIME 1
-#define HAVE_UTIMES 1
-#define HAVE_UTIME_H 1
-#define HAVE_VFORK 1
-#define HAVE_WCHAR_H 1
-#define HAVE_WCSCMP 1
-#define HAVE_WCSCPY 1
-#define HAVE_WCSLEN 1
-#define HAVE_WCTOMB 1
-#define HAVE_WMEMCMP 1
-#define HAVE_WMEMCPY 1
-#define HAVE_ZLIB_H 1
-#define TIME_WITH_SYS_TIME 1
+#define HAVE_BSDXML_H 1
+#define HAVE_BZLIB_H 1
+#define HAVE_CHFLAGS 1
+#define HAVE_CHOWN 1
+#define HAVE_CHROOT 1
+#define HAVE_CTIME_R 1
+#define HAVE_CTYPE_H 1
+#define HAVE_DECL_EXTATTR_NAMESPACE_USER 1
+#define HAVE_DECL_INT64_MAX 1
+#define HAVE_DECL_INT64_MIN 1
+#define HAVE_DECL_SIZE_MAX 1
+#define HAVE_DECL_SSIZE_MAX 1
+#define HAVE_DECL_STRERROR_R 1
+#define HAVE_DECL_UINT32_MAX 1
+#define HAVE_DECL_UINT64_MAX 1
+#define HAVE_DIRENT_H 1
+#define HAVE_DLFCN_H 1
+#define HAVE_D_MD_ORDER 1
+#define HAVE_EFTYPE 1
+#define HAVE_EILSEQ 1
+#define HAVE_ERRNO_H 1
+#define HAVE_FCHDIR 1
+#define HAVE_FCHFLAGS 1
+#define HAVE_FCHMOD 1
+#define HAVE_FCHOWN 1
+#define HAVE_FCNTL 1
+#define HAVE_FCNTL_H 1
+#define HAVE_FDOPENDIR 1
+#define HAVE_FORK 1
+#define HAVE_FSEEKO 1
+#define HAVE_FSTAT 1
+#define HAVE_FSTATAT 1
+#define HAVE_FSTATFS 1
+#define HAVE_FSTATVFS 1
+#define HAVE_FTRUNCATE 1
+#define HAVE_FUTIMES 1
+#define HAVE_FUTIMESAT 1
+#define HAVE_GETEUID 1
+#define HAVE_GETGRGID_R 1
+#define HAVE_GETGRNAM_R 1
+#define HAVE_GETPID 1
+#define HAVE_GETPWNAM_R 1
+#define HAVE_GETPWUID_R 1
+#define HAVE_GETVFSBYNAME 1
+#define HAVE_GMTIME_R 1
+#define HAVE_GRP_H 1
+#define HAVE_INTMAX_T 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_LANGINFO_H 1
+#define HAVE_LCHFLAGS 1
+#define HAVE_LCHMOD 1
+#define HAVE_LCHOWN 1
+#define HAVE_LIBZ 1
+#define HAVE_LIMITS_H 1
+#define HAVE_LINK 1
+#define HAVE_LOCALE_H 1
+#define HAVE_LOCALTIME_R 1
+#define HAVE_LONG_LONG_INT 1
+#define HAVE_LSTAT 1
+#define HAVE_LUTIMES 1
+#define HAVE_MBRTOWC 1
+#define HAVE_MBSNRTOWCS 1
+#define HAVE_MEMMOVE 1
+#define HAVE_MEMORY_H 1
+#define HAVE_MEMSET 1
+#define HAVE_MKDIR 1
+#define HAVE_MKFIFO 1
+#define HAVE_MKNOD 1
+#define HAVE_MKSTEMP 1
+#define HAVE_NL_LANGINFO 1
+#define HAVE_OPENAT 1
+#define HAVE_PATHS_H 1
+#define HAVE_PIPE 1
+#define HAVE_POLL 1
+#define HAVE_POLL_H 1
+#define HAVE_PWD_H 1
+#define HAVE_READDIR_R 1
+#define HAVE_READLINK 1
+#define HAVE_READLINKAT 1
+#define HAVE_REGEX_H 1
+#define HAVE_SELECT 1
+#define HAVE_SETENV 1
+#define HAVE_SETLOCALE 1
+#define HAVE_SIGACTION 1
+#define HAVE_SIGNAL_H 1
+#define HAVE_STATFS 1
+#define HAVE_STATVFS 1
+#define HAVE_STDARG_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRCHR 1
+#define HAVE_STRDUP 1
+#define HAVE_STRERROR 1
+#define HAVE_STRERROR_R 1
+#define HAVE_STRFTIME 1
+#define HAVE_STRINGS_H 1
+#define HAVE_STRING_H 1
+#define HAVE_STRRCHR 1
+#define HAVE_STRUCT_STATFS_F_NAMEMAX 1
+#define HAVE_STRUCT_STAT_ST_BIRTHTIME 1
+#define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1
+#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
+#define HAVE_STRUCT_STAT_ST_FLAGS 1
+#define HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 1
+#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
+#define HAVE_STRUCT_TM_TM_GMTOFF 1
+#define HAVE_SYMLINK 1
+#define HAVE_SYS_CDEFS_H 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_SYS_MOUNT_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_POLL_H 1
+#define HAVE_SYS_SELECT_H 1
+#define HAVE_SYS_STATVFS_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_SYS_TIME_H 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_SYS_UTSNAME_H 1
+#define HAVE_SYS_WAIT_H 1
+#define HAVE_TIMEGM 1
+#define HAVE_TIME_H 1
+#define HAVE_TZSET 1
+#define HAVE_UINTMAX_T 1
+#define HAVE_UNISTD_H 1
+#define HAVE_UNSETENV 1
+#define HAVE_UNSIGNED_LONG_LONG 1
+#define HAVE_UNSIGNED_LONG_LONG_INT 1
+#define HAVE_UTIME 1
+#define HAVE_UTIMES 1
+#define HAVE_UTIME_H 1
+#define HAVE_VFORK 1
+#define HAVE_VPRINTF 1
+#define HAVE_WCHAR_H 1
+#define HAVE_WCHAR_T 1
+#define HAVE_WCRTOMB 1
+#define HAVE_WCSCMP 1
+#define HAVE_WCSCPY 1
+#define HAVE_WCSLEN 1
+#define HAVE_WCSNRTOMBS 1
+#define HAVE_WCTOMB 1
+#define HAVE_WCTYPE_H 1
+#define HAVE_WMEMCMP 1
+#define HAVE_WMEMCPY 1
+#define HAVE_ZLIB_H 1
+#define TIME_WITH_SYS_TIME 1
/* FreeBSD 4 and earlier lack intmax_t/uintmax_t */
#if __FreeBSD__ < 5
-#define intmax_t int64_t
-#define uintmax_t uint64_t
+#define intmax_t int64_t
+#define uintmax_t uint64_t
#endif
/* FreeBSD defines for archive_hash.h */
#ifdef WITH_OPENSSL
-#define ARCHIVE_HASH_MD5_OPENSSL 1
-#define ARCHIVE_HASH_RMD160_OPENSSL 1
-#define ARCHIVE_HASH_SHA1_OPENSSL
-#define ARCHIVE_HASH_SHA256_OPENSSL 1
-#define ARCHIVE_HASH_SHA384_OPENSSL 1
-#define ARCHIVE_HASH_SHA512_OPENSSL 1
+#define ARCHIVE_HASH_MD5_OPENSSL 1
+#define ARCHIVE_HASH_RMD160_OPENSSL 1
+#define ARCHIVE_HASH_SHA1_OPENSSL
+#define ARCHIVE_HASH_SHA256_OPENSSL 1
+#define ARCHIVE_HASH_SHA384_OPENSSL 1
+#define ARCHIVE_HASH_SHA512_OPENSSL 1
#else
-#define ARCHIVE_HASH_MD5_LIBMD 1
-#define ARCHIVE_HASH_SHA1_LIBMD 1
-#define ARCHIVE_HASH_SHA256_LIBMD 1
-#define ARCHIVE_HASH_SHA512_LIBMD 1
+#define ARCHIVE_HASH_MD5_LIBMD 1
+#define ARCHIVE_HASH_SHA1_LIBMD 1
+#define ARCHIVE_HASH_SHA256_LIBMD 1
+#define ARCHIVE_HASH_SHA512_LIBMD 1
#endif
diff --git a/lib/libarchive/test/Makefile b/lib/libarchive/test/Makefile
index c8fc0a6..f4865b9 100644
--- a/lib/libarchive/test/Makefile
+++ b/lib/libarchive/test/Makefile
@@ -10,7 +10,7 @@ DPADD=${LIBBZ2} ${LIBZ} ${LIBMD} ${LIBCRYPTO} ${LIBBSDXML}
LDADD= -L ${.OBJDIR}/.. -larchive
LDADD+= -lz -lbz2 -llzma -lmd -lcrypto -lbsdxml
CFLAGS+= -g
-CFLAGS+= -I${.CURDIR}/.. -I${LIBARCHIVEDIR} -I${.OBJDIR}
+CFLAGS+= -I${.CURDIR}/.. -I${LIBARCHIVEDIR}/libarchive -I${.OBJDIR}
CFLAGS+= -DHAVE_LIBLZMA=1 -DHAVE_LZMA_H=1
# Uncomment to link against dmalloc
@@ -19,17 +19,42 @@ CFLAGS+= -DHAVE_LIBLZMA=1 -DHAVE_LZMA_H=1
.PATH: ${LIBARCHIVEDIR}/libarchive/test
TESTS= \
- test_acl_basic.c \
test_acl_freebsd.c \
+ test_acl_nfs4.c \
test_acl_pax.c \
+ test_acl_posix1e.c \
test_archive_api_feature.c \
+ test_archive_clear_error.c \
+ test_archive_crypto.c \
+ test_archive_read_close_twice.c \
+ test_archive_read_close_twice_open_fd.c \
+ test_archive_read_close_twice_open_filename.c \
+ test_archive_read_next_header_empty.c \
+ test_archive_read_next_header_raw.c \
+ test_archive_read_open2.c \
+ test_archive_read_set_filter_option.c \
+ test_archive_read_set_format_option.c \
+ test_archive_read_set_option.c \
+ test_archive_read_set_options.c \
+ test_archive_read_support.c \
+ test_archive_set_error.c \
+ test_archive_string.c \
+ test_archive_string_conversion.c \
+ test_archive_write_set_filter_option.c \
+ test_archive_write_set_format_option.c \
+ test_archive_write_set_option.c \
+ test_archive_write_set_options.c \
test_bad_fd.c \
test_compat_bzip2.c \
test_compat_cpio.c \
test_compat_gtar.c \
test_compat_gzip.c \
+ test_compat_lzip.c \
test_compat_lzma.c \
+ test_compat_mac.c \
+ test_compat_pax_libarchive_2x.c \
test_compat_solaris_tar_acl.c \
+ test_compat_solaris_pax_sparse.c \
test_compat_tar_hardlink.c \
test_compat_xz.c \
test_compat_zip.c \
@@ -37,7 +62,9 @@ TESTS= \
test_entry.c \
test_entry_strmode.c \
test_extattr_freebsd.c \
+ test_filter_count.c \
test_fuzz.c \
+ test_gnutar_filename_encoding.c \
test_link_resolver.c \
test_open_fd.c \
test_open_failure.c \
@@ -47,86 +74,118 @@ TESTS= \
test_read_compress_program.c \
test_read_data_large.c \
test_read_disk.c \
+ test_read_disk_directory_traversals.c \
test_read_disk_entry_from_file.c \
test_read_extract.c \
test_read_file_nonexistent.c \
+ test_read_format_7zip.c \
test_read_format_ar.c \
+ test_read_format_cab.c \
+ test_read_format_cab_filename.c \
+ test_read_format_cpio_afio.c \
test_read_format_cpio_bin.c \
test_read_format_cpio_bin_Z.c \
test_read_format_cpio_bin_be.c \
test_read_format_cpio_bin_bz2.c \
test_read_format_cpio_bin_gz.c \
+ test_read_format_cpio_bin_lzip.c \
test_read_format_cpio_bin_lzma.c \
test_read_format_cpio_bin_xz.c \
+ test_read_format_cpio_filename.c \
test_read_format_cpio_odc.c \
test_read_format_cpio_svr4_gzip.c \
test_read_format_cpio_svr4c_Z.c \
test_read_format_cpio_svr4_bzip2_rpm.c \
test_read_format_cpio_svr4_gzip_rpm.c \
test_read_format_empty.c \
+ test_read_format_gtar_filename.c \
test_read_format_gtar_gz.c \
test_read_format_gtar_lzma.c \
test_read_format_gtar_sparse.c \
test_read_format_iso_Z.c \
test_read_format_iso_multi_extent.c \
+ test_read_format_iso_xorriso.c \
test_read_format_isorr_rr_moved.c \
test_read_format_isojoliet_bz2.c \
test_read_format_isojoliet_long.c \
test_read_format_isojoliet_rr.c \
+ test_read_format_isojoliet_versioned.c \
test_read_format_isorr_bz2.c \
test_read_format_isorr_ce.c \
test_read_format_isorr_new_bz2.c \
test_read_format_isozisofs_bz2.c \
+ test_read_format_lha.c \
+ test_read_format_lha_filename.c \
test_read_format_mtree.c \
test_read_format_pax_bz2.c \
+ test_read_format_rar.c \
test_read_format_raw.c \
test_read_format_tar.c \
test_read_format_tar_empty_filename.c \
+ test_read_format_tar_filename.c \
test_read_format_tbz.c \
test_read_format_tgz.c \
test_read_format_tlz.c \
test_read_format_txz.c \
test_read_format_tz.c \
+ test_read_format_ustar_filename.c \
test_read_format_xar.c \
test_read_format_zip.c \
+ test_read_format_zip_filename.c \
test_read_large.c \
test_read_pax_truncated.c \
test_read_position.c \
test_read_truncated.c \
+ test_read_truncated_filter.c \
test_read_uu.c \
+ test_sparse_basic.c \
test_tar_filenames.c \
test_tar_large.c \
test_ustar_filenames.c \
+ test_ustar_filename_encoding.c \
test_write_compress.c \
test_write_compress_bzip2.c \
test_write_compress_gzip.c \
+ test_write_compress_lzip.c \
test_write_compress_lzma.c \
test_write_compress_program.c \
test_write_compress_xz.c \
test_write_disk.c \
test_write_disk_failures.c \
test_write_disk_hardlink.c \
+ test_write_disk_lookup.c \
test_write_disk_perms.c \
test_write_disk_secure.c \
test_write_disk_sparse.c \
test_write_disk_symlink.c \
test_write_disk_times.c \
+ test_write_format_7zip.c \
test_write_format_ar.c \
test_write_format_cpio.c \
test_write_format_cpio_empty.c \
test_write_format_cpio_newc.c \
test_write_format_cpio_odc.c \
+ test_write_format_gnutar.c \
+ test_write_format_iso9660.c \
+ test_write_format_iso9660_boot.c \
+ test_write_format_iso9660_empty.c \
+ test_write_format_iso9660_filename.c \
+ test_write_format_iso9660_zisofs.c \
test_write_format_mtree.c \
+ test_write_format_mtree_fflags.c \
test_write_format_pax.c \
test_write_format_shar_empty.c \
test_write_format_tar.c \
test_write_format_tar_empty.c \
+ test_write_format_tar_sparse.c \
test_write_format_tar_ustar.c \
+ test_write_format_xar.c \
+ test_write_format_xar_empty.c \
test_write_format_zip.c \
test_write_format_zip_empty.c \
test_write_format_zip_no_compression.c \
- test_write_open_memory.c
-
+ test_write_open_memory.c \
+ test_zip_filename_encoding.c
# Build the test program.
SRCS= \
OpenPOWER on IntegriCloud