2228e32755
This commit implements storing/reading POSIX.1e-style extended attribute information in "pax" format archives. An outline of the storage format is in the tar.5 manpage. The archive_read_extract() function has code to restore those archives to disk for Linux; FreeBSD implementation is forthcoming. Many thanks to Jaakko Heinonen for finding flaws in earlier proposals and doing the bulk of the coding in this work.
198 lines
8.0 KiB
Makefile
198 lines
8.0 KiB
Makefile
# $FreeBSD$
|
|
|
|
LIB= archive
|
|
DPADD= ${LIBBZ2} ${LIBZ}
|
|
LDADD= -lbz2 -lz
|
|
|
|
# The libarchive version stamp.
|
|
# Version is three numbers:
|
|
# Major: Bumped ONLY when API/ABI breakage happens.
|
|
# Minor: Bumped when significant new features are added (see SHLIB_MAJOR)
|
|
# Revision: Bumped on any notable change
|
|
VERSION= 1.2.51
|
|
ARCHIVE_API_MAJOR!= echo ${VERSION} | sed -e 's/\..*//'
|
|
ARCHIVE_API_MINOR!= echo ${VERSION} | sed -e 's/[0-9]*\.//' | sed -e 's/\..*//'
|
|
|
|
# The FreeBSD SHLIB_MAJOR is computed from the above values.
|
|
# To bump SHLIB_MAJOR, increase the MINOR number in "version" file.
|
|
SHLIB_MAJOR!= echo $$((${ARCHIVE_API_MAJOR} + ${ARCHIVE_API_MINOR}))
|
|
# The SHLIB_MAJOR computation above attempts to match the
|
|
# version number generated by libtool. (This may change
|
|
# when the FreeBSD port of libtool gets fixed.)
|
|
|
|
CFLAGS+= -DPACKAGE_NAME=\"lib${LIB}\"
|
|
CFLAGS+= -DPACKAGE_VERSION=\"${VERSION}\"
|
|
CFLAGS+= -I${.OBJDIR}
|
|
|
|
# FreeBSD/arm has some limitations.
|
|
.if ${MACHINE_ARCH} == "arm"
|
|
WARNS?= 3
|
|
.else
|
|
WARNS?= 6
|
|
.endif
|
|
|
|
# Headers to be installed in /usr/include
|
|
INCS= archive.h archive_entry.h
|
|
|
|
# Build archive.h from archive.h.in by substituting version information.
|
|
archive.h: archive.h.in Makefile
|
|
cat ${.CURDIR}/archive.h.in | \
|
|
sed 's/@VERSION@/${VERSION}/g' | \
|
|
sed 's/@SHLIB_MAJOR@/${SHLIB_MAJOR}/g' | \
|
|
sed 's/@ARCHIVE_API_MAJOR@/${ARCHIVE_API_MAJOR}/g' | \
|
|
sed 's/@ARCHIVE_API_MINOR@/${ARCHIVE_API_MINOR}/g' | \
|
|
cat > archive.h
|
|
|
|
# archive.h needs to be cleaned
|
|
CLEANFILES+= archive.h
|
|
|
|
# Sources to be compiled.
|
|
SRCS= archive.h \
|
|
archive_check_magic.c \
|
|
archive_entry.c \
|
|
archive_read.c \
|
|
archive_read_data_into_buffer.c \
|
|
archive_read_data_into_fd.c \
|
|
archive_read_extract.c \
|
|
archive_read_open_fd.c \
|
|
archive_read_open_file.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_format_all.c \
|
|
archive_read_support_format_cpio.c \
|
|
archive_read_support_format_iso9660.c \
|
|
archive_read_support_format_tar.c \
|
|
archive_read_support_format_zip.c \
|
|
archive_string.c \
|
|
archive_string_sprintf.c \
|
|
archive_util.c \
|
|
archive_write.c \
|
|
archive_write_open_fd.c \
|
|
archive_write_open_file.c \
|
|
archive_write_set_compression_bzip2.c \
|
|
archive_write_set_compression_gzip.c \
|
|
archive_write_set_compression_none.c \
|
|
archive_write_set_format.c \
|
|
archive_write_set_format_by_name.c \
|
|
archive_write_set_format_cpio.c \
|
|
archive_write_set_format_pax.c \
|
|
archive_write_set_format_shar.c \
|
|
archive_write_set_format_ustar.c
|
|
|
|
# Man pages to be installed.
|
|
MAN= archive_entry.3 \
|
|
archive_read.3 \
|
|
archive_util.3 \
|
|
archive_write.3 \
|
|
libarchive.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_w.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_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_w.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_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_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_pathname.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_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_open.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_set_bytes_per_block.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_none.3
|
|
MLINKS+= archive_read.3 archive_read_support_format_all.3
|
|
MLINKS+= archive_read.3 archive_read_support_format_cpio.3
|
|
MLINKS+= archive_read.3 archive_read_support_format_iso9660.3
|
|
MLINKS+= archive_read.3 archive_read_support_format_tar.3
|
|
MLINKS+= archive_read.3 archive_read_support_format_zip.3
|
|
MLINKS+= archive_util.3 archive_compression.3
|
|
MLINKS+= archive_util.3 archive_compression_name.3
|
|
MLINKS+= archive_util.3 archive_errno.3
|
|
MLINKS+= archive_util.3 archive_error_string.3
|
|
MLINKS+= archive_util.3 archive_format.3
|
|
MLINKS+= archive_util.3 archive_format_name.3
|
|
MLINKS+= archive_util.3 archive_set_error.3
|
|
MLINKS+= archive_write.3 archive_write_data.3
|
|
MLINKS+= archive_write.3 archive_write_finish.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_fd.3
|
|
MLINKS+= archive_write.3 archive_write_open_file.3
|
|
MLINKS+= archive_write.3 archive_write_prepare.3
|
|
MLINKS+= archive_write.3 archive_write_set_bytes_per_block.3
|
|
MLINKS+= archive_write.3 archive_write_set_bytes_in_last_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_gzip.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+= libarchive.3 archive.3
|
|
|
|
.include <bsd.lib.mk>
|