Revision history for Perl extension LibArchive.
+3.4.0 Tue Jun 1 18:43:02 2021
+ - updated based on h2xs 1.23 with options
+ -M '^(archive|ARCHIVE)_' -v 3.4.0 -On LibArchive /usr/include/archive.h /usr/include/archive_entry.h -larchive
3.0.4 Tue Sep 23 11:50:00 CEST 2014
- make it compile with libarchive-dev 3.0.4-3 from debian wheezy
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
MANIFEST
ppport.h
README
+typemap
t/LibArchive.t
-fallback/const-c.inc
-fallback/const-xs.inc
lib/LibArchive.pm
-use 5.014002;
+use 5.032001;
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
NAME => 'LibArchive',
- VERSION_FROM => 'lib/LibArchive.pm', # finds $VERSION
+ VERSION_FROM => 'lib/LibArchive.pm', # finds $VERSION, requires EU::MM from perl >= 5.5
PREREQ_PM => {}, # e.g., Module::Name => 1.1
- ($] >= 5.005 ? ## Add these new keywords supported since 5.005
- (ABSTRACT_FROM => 'lib/LibArchive.pm', # retrieve abstract from module
- AUTHOR => 'Proxmox Support Team <support@proxmox.com>') : ()),
+ ABSTRACT_FROM => 'lib/LibArchive.pm', # retrieve abstract from module
+ AUTHOR => 'Proxmox Support Team <support@proxmox.com>',
LIBS => ['-larchive'], # e.g., '-lm'
DEFINE => '', # e.g., '-DHAVE_SOMETHING'
INC => '-I.', # e.g., '-I. -I/usr/include/other'
# you will need to use the generated const-c.inc and const-xs.inc
# files to replace their "fallback" counterparts before distributing your
# changes.
- my @names = (qw(AE_IFBLK AE_IFCHR AE_IFDIR AE_IFIFO AE_IFLNK AE_IFMT AE_IFREG
- AE_IFSOCK ARCHIVE_COMPRESSION_BZIP2
- ARCHIVE_COMPRESSION_COMPRESS ARCHIVE_COMPRESSION_GZIP
+ my @names = (qw(ARCHIVE_COMPRESSION_BZIP2 ARCHIVE_COMPRESSION_COMPRESS
+ ARCHIVE_COMPRESSION_GZIP ARCHIVE_COMPRESSION_LRZIP
ARCHIVE_COMPRESSION_LZIP ARCHIVE_COMPRESSION_LZMA
ARCHIVE_COMPRESSION_NONE ARCHIVE_COMPRESSION_PROGRAM
ARCHIVE_COMPRESSION_RPM ARCHIVE_COMPRESSION_UU
ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT
ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS
ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT
+ ARCHIVE_ENTRY_ACL_ENTRY_INHERITED
ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY
ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT
ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS
ARCHIVE_ENTRY_ACL_PERMS_POSIX1E ARCHIVE_ENTRY_ACL_READ
ARCHIVE_ENTRY_ACL_READ_ACL ARCHIVE_ENTRY_ACL_READ_ATTRIBUTES
ARCHIVE_ENTRY_ACL_READ_DATA ARCHIVE_ENTRY_ACL_READ_NAMED_ATTRS
+ ARCHIVE_ENTRY_ACL_STYLE_COMPACT
ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID
ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT
- ARCHIVE_ENTRY_ACL_SYNCHRONIZE ARCHIVE_ENTRY_ACL_TYPE_ACCESS
- ARCHIVE_ENTRY_ACL_TYPE_ALARM ARCHIVE_ENTRY_ACL_TYPE_ALLOW
- ARCHIVE_ENTRY_ACL_TYPE_AUDIT ARCHIVE_ENTRY_ACL_TYPE_DEFAULT
- ARCHIVE_ENTRY_ACL_TYPE_DENY ARCHIVE_ENTRY_ACL_TYPE_NFS4
- ARCHIVE_ENTRY_ACL_TYPE_POSIX1E ARCHIVE_ENTRY_ACL_USER
- ARCHIVE_ENTRY_ACL_USER_OBJ ARCHIVE_ENTRY_ACL_WRITE
- ARCHIVE_ENTRY_ACL_WRITE_ACL ARCHIVE_ENTRY_ACL_WRITE_ATTRIBUTES
+ ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA
+ ARCHIVE_ENTRY_ACL_STYLE_SOLARIS ARCHIVE_ENTRY_ACL_SYNCHRONIZE
+ ARCHIVE_ENTRY_ACL_TYPE_ACCESS ARCHIVE_ENTRY_ACL_TYPE_ALARM
+ ARCHIVE_ENTRY_ACL_TYPE_ALLOW ARCHIVE_ENTRY_ACL_TYPE_AUDIT
+ ARCHIVE_ENTRY_ACL_TYPE_DEFAULT ARCHIVE_ENTRY_ACL_TYPE_DENY
+ ARCHIVE_ENTRY_ACL_TYPE_NFS4 ARCHIVE_ENTRY_ACL_TYPE_POSIX1E
+ ARCHIVE_ENTRY_ACL_USER ARCHIVE_ENTRY_ACL_USER_OBJ
+ ARCHIVE_ENTRY_ACL_WRITE ARCHIVE_ENTRY_ACL_WRITE_ACL
+ ARCHIVE_ENTRY_ACL_WRITE_ATTRIBUTES
ARCHIVE_ENTRY_ACL_WRITE_DATA
ARCHIVE_ENTRY_ACL_WRITE_NAMED_ATTRS
ARCHIVE_ENTRY_ACL_WRITE_OWNER ARCHIVE_EOF ARCHIVE_EXTRACT_ACL
- ARCHIVE_EXTRACT_FFLAGS ARCHIVE_EXTRACT_MAC_METADATA
- ARCHIVE_EXTRACT_NO_AUTODIR ARCHIVE_EXTRACT_NO_OVERWRITE
+ ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS ARCHIVE_EXTRACT_FFLAGS
+ ARCHIVE_EXTRACT_HFS_COMPRESSION_FORCED
+ ARCHIVE_EXTRACT_MAC_METADATA ARCHIVE_EXTRACT_NO_AUTODIR
+ ARCHIVE_EXTRACT_NO_HFS_COMPRESSION
+ ARCHIVE_EXTRACT_NO_OVERWRITE
ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER ARCHIVE_EXTRACT_OWNER
- ARCHIVE_EXTRACT_PERM ARCHIVE_EXTRACT_SECURE_NODOTDOT
+ ARCHIVE_EXTRACT_PERM ARCHIVE_EXTRACT_SAFE_WRITES
+ ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS
+ ARCHIVE_EXTRACT_SECURE_NODOTDOT
ARCHIVE_EXTRACT_SECURE_SYMLINKS ARCHIVE_EXTRACT_SPARSE
ARCHIVE_EXTRACT_TIME ARCHIVE_EXTRACT_UNLINK
ARCHIVE_EXTRACT_XATTR ARCHIVE_FAILED ARCHIVE_FATAL
ARCHIVE_FILTER_BZIP2 ARCHIVE_FILTER_COMPRESS
- ARCHIVE_FILTER_GZIP ARCHIVE_FILTER_LZIP ARCHIVE_FILTER_LZMA
- ARCHIVE_FILTER_NONE ARCHIVE_FILTER_PROGRAM ARCHIVE_FILTER_RPM
- ARCHIVE_FILTER_UU ARCHIVE_FILTER_XZ ARCHIVE_FORMAT_7ZIP
- ARCHIVE_FORMAT_AR ARCHIVE_FORMAT_AR_BSD ARCHIVE_FORMAT_AR_GNU
+ ARCHIVE_FILTER_GRZIP ARCHIVE_FILTER_GZIP ARCHIVE_FILTER_LRZIP
+ ARCHIVE_FILTER_LZ4 ARCHIVE_FILTER_LZIP ARCHIVE_FILTER_LZMA
+ ARCHIVE_FILTER_LZOP ARCHIVE_FILTER_NONE ARCHIVE_FILTER_PROGRAM
+ ARCHIVE_FILTER_RPM ARCHIVE_FILTER_UU ARCHIVE_FILTER_XZ
+ ARCHIVE_FILTER_ZSTD ARCHIVE_FORMAT_7ZIP ARCHIVE_FORMAT_AR
+ ARCHIVE_FORMAT_AR_BSD ARCHIVE_FORMAT_AR_GNU
ARCHIVE_FORMAT_BASE_MASK ARCHIVE_FORMAT_CAB
ARCHIVE_FORMAT_CPIO ARCHIVE_FORMAT_CPIO_AFIO_LARGE
ARCHIVE_FORMAT_CPIO_BIN_BE ARCHIVE_FORMAT_CPIO_BIN_LE
ARCHIVE_FORMAT_CPIO_SVR4_NOCRC ARCHIVE_FORMAT_EMPTY
ARCHIVE_FORMAT_ISO9660 ARCHIVE_FORMAT_ISO9660_ROCKRIDGE
ARCHIVE_FORMAT_LHA ARCHIVE_FORMAT_MTREE ARCHIVE_FORMAT_RAR
- ARCHIVE_FORMAT_RAW ARCHIVE_FORMAT_SHAR
+ ARCHIVE_FORMAT_RAR_V5 ARCHIVE_FORMAT_RAW ARCHIVE_FORMAT_SHAR
ARCHIVE_FORMAT_SHAR_BASE ARCHIVE_FORMAT_SHAR_DUMP
ARCHIVE_FORMAT_TAR ARCHIVE_FORMAT_TAR_GNUTAR
ARCHIVE_FORMAT_TAR_PAX_INTERCHANGE
ARCHIVE_FORMAT_TAR_PAX_RESTRICTED ARCHIVE_FORMAT_TAR_USTAR
- ARCHIVE_FORMAT_XAR ARCHIVE_FORMAT_ZIP ARCHIVE_MATCH_CTIME
- ARCHIVE_MATCH_EQUAL ARCHIVE_MATCH_MTIME ARCHIVE_MATCH_NEWER
- ARCHIVE_MATCH_OLDER ARCHIVE_OK ARCHIVE_READDISK_HONOR_NODUMP
- ARCHIVE_READDISK_MAC_COPYFILE
- ARCHIVE_READDISK_NO_TRAVERSE_MOUNTS
- ARCHIVE_READDISK_RESTORE_ATIME ARCHIVE_RETRY
+ ARCHIVE_FORMAT_WARC ARCHIVE_FORMAT_XAR ARCHIVE_FORMAT_ZIP
+ ARCHIVE_MATCH_CTIME ARCHIVE_MATCH_EQUAL ARCHIVE_MATCH_MTIME
+ ARCHIVE_MATCH_NEWER ARCHIVE_MATCH_OLDER ARCHIVE_OK
+ ARCHIVE_READDISK_HONOR_NODUMP ARCHIVE_READDISK_MAC_COPYFILE
+ ARCHIVE_READDISK_NO_ACL ARCHIVE_READDISK_NO_FFLAGS
+ ARCHIVE_READDISK_NO_TRAVERSE_MOUNTS ARCHIVE_READDISK_NO_XATTR
+ ARCHIVE_READDISK_RESTORE_ATIME
+ ARCHIVE_READ_FORMAT_CAPS_ENCRYPT_DATA
+ ARCHIVE_READ_FORMAT_CAPS_ENCRYPT_METADATA
+ ARCHIVE_READ_FORMAT_CAPS_NONE
+ ARCHIVE_READ_FORMAT_ENCRYPTION_DONT_KNOW
+ ARCHIVE_READ_FORMAT_ENCRYPTION_UNSUPPORTED ARCHIVE_RETRY
ARCHIVE_VERSION_NUMBER ARCHIVE_WARN));
ExtUtils::Constant::WriteConstants(
NAME => 'LibArchive',
This module requires these other modules and libraries:
- libarchive version 2.2.4
+ libarchive version 3.4.3
COPYRIGHT AND LICENCE
Copyright (C) 2007 by Dietmar Maurer <dietmar@proxmox.com>
+Copyright (C) 2010-2021 Proxmox Server Solutions GmbH
+This software is written by Proxmox Server Solutions GmbH <support@proxmox.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+-------------
This library (perl bindings) is free software; you can redistribute it
and/or modify it under the same terms as Perl itself, either Perl
version 5.8.8 or, at your option, any later version of Perl 5 you may
package LibArchive;
-use 5.014002;
+use 5.032001;
use strict;
use warnings;
use Carp;
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = ( 'all' => [ qw(
- AE_IFBLK
- AE_IFCHR
- AE_IFDIR
- AE_IFIFO
- AE_IFLNK
- AE_IFMT
- AE_IFREG
- AE_IFSOCK
ARCHIVE_COMPRESSION_BZIP2
ARCHIVE_COMPRESSION_COMPRESS
ARCHIVE_COMPRESSION_GZIP
+ ARCHIVE_COMPRESSION_LRZIP
ARCHIVE_COMPRESSION_LZIP
ARCHIVE_COMPRESSION_LZMA
ARCHIVE_COMPRESSION_NONE
ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT
ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS
ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT
+ ARCHIVE_ENTRY_ACL_ENTRY_INHERITED
ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY
ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT
ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS
ARCHIVE_ENTRY_ACL_READ_ATTRIBUTES
ARCHIVE_ENTRY_ACL_READ_DATA
ARCHIVE_ENTRY_ACL_READ_NAMED_ATTRS
+ ARCHIVE_ENTRY_ACL_STYLE_COMPACT
ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID
ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT
+ ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA
+ ARCHIVE_ENTRY_ACL_STYLE_SOLARIS
ARCHIVE_ENTRY_ACL_SYNCHRONIZE
ARCHIVE_ENTRY_ACL_TYPE_ACCESS
ARCHIVE_ENTRY_ACL_TYPE_ALARM
ARCHIVE_ENTRY_ACL_WRITE_OWNER
ARCHIVE_EOF
ARCHIVE_EXTRACT_ACL
+ ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS
ARCHIVE_EXTRACT_FFLAGS
+ ARCHIVE_EXTRACT_HFS_COMPRESSION_FORCED
ARCHIVE_EXTRACT_MAC_METADATA
ARCHIVE_EXTRACT_NO_AUTODIR
+ ARCHIVE_EXTRACT_NO_HFS_COMPRESSION
ARCHIVE_EXTRACT_NO_OVERWRITE
ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER
ARCHIVE_EXTRACT_OWNER
ARCHIVE_EXTRACT_PERM
+ ARCHIVE_EXTRACT_SAFE_WRITES
+ ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS
ARCHIVE_EXTRACT_SECURE_NODOTDOT
ARCHIVE_EXTRACT_SECURE_SYMLINKS
ARCHIVE_EXTRACT_SPARSE
ARCHIVE_FATAL
ARCHIVE_FILTER_BZIP2
ARCHIVE_FILTER_COMPRESS
+ ARCHIVE_FILTER_GRZIP
ARCHIVE_FILTER_GZIP
+ ARCHIVE_FILTER_LRZIP
+ ARCHIVE_FILTER_LZ4
ARCHIVE_FILTER_LZIP
ARCHIVE_FILTER_LZMA
+ ARCHIVE_FILTER_LZOP
ARCHIVE_FILTER_NONE
ARCHIVE_FILTER_PROGRAM
ARCHIVE_FILTER_RPM
ARCHIVE_FILTER_UU
ARCHIVE_FILTER_XZ
+ ARCHIVE_FILTER_ZSTD
ARCHIVE_FORMAT_7ZIP
ARCHIVE_FORMAT_AR
ARCHIVE_FORMAT_AR_BSD
ARCHIVE_FORMAT_LHA
ARCHIVE_FORMAT_MTREE
ARCHIVE_FORMAT_RAR
+ ARCHIVE_FORMAT_RAR_V5
ARCHIVE_FORMAT_RAW
ARCHIVE_FORMAT_SHAR
ARCHIVE_FORMAT_SHAR_BASE
ARCHIVE_FORMAT_TAR_PAX_INTERCHANGE
ARCHIVE_FORMAT_TAR_PAX_RESTRICTED
ARCHIVE_FORMAT_TAR_USTAR
+ ARCHIVE_FORMAT_WARC
ARCHIVE_FORMAT_XAR
ARCHIVE_FORMAT_ZIP
ARCHIVE_MATCH_CTIME
ARCHIVE_OK
ARCHIVE_READDISK_HONOR_NODUMP
ARCHIVE_READDISK_MAC_COPYFILE
+ ARCHIVE_READDISK_NO_ACL
+ ARCHIVE_READDISK_NO_FFLAGS
ARCHIVE_READDISK_NO_TRAVERSE_MOUNTS
+ ARCHIVE_READDISK_NO_XATTR
ARCHIVE_READDISK_RESTORE_ATIME
+ ARCHIVE_READ_FORMAT_CAPS_ENCRYPT_DATA
+ ARCHIVE_READ_FORMAT_CAPS_ENCRYPT_METADATA
+ ARCHIVE_READ_FORMAT_CAPS_NONE
+ ARCHIVE_READ_FORMAT_ENCRYPTION_DONT_KNOW
+ ARCHIVE_READ_FORMAT_ENCRYPTION_UNSUPPORTED
ARCHIVE_RETRY
ARCHIVE_VERSION_NUMBER
ARCHIVE_WARN
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw(
- AE_IFBLK
- AE_IFCHR
- AE_IFDIR
- AE_IFIFO
- AE_IFLNK
- AE_IFMT
- AE_IFREG
- AE_IFSOCK
ARCHIVE_COMPRESSION_BZIP2
ARCHIVE_COMPRESSION_COMPRESS
ARCHIVE_COMPRESSION_GZIP
+ ARCHIVE_COMPRESSION_LRZIP
ARCHIVE_COMPRESSION_LZIP
ARCHIVE_COMPRESSION_LZMA
ARCHIVE_COMPRESSION_NONE
ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT
ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS
ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT
+ ARCHIVE_ENTRY_ACL_ENTRY_INHERITED
ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY
ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT
ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS
ARCHIVE_ENTRY_ACL_READ_ATTRIBUTES
ARCHIVE_ENTRY_ACL_READ_DATA
ARCHIVE_ENTRY_ACL_READ_NAMED_ATTRS
+ ARCHIVE_ENTRY_ACL_STYLE_COMPACT
ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID
ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT
+ ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA
+ ARCHIVE_ENTRY_ACL_STYLE_SOLARIS
ARCHIVE_ENTRY_ACL_SYNCHRONIZE
ARCHIVE_ENTRY_ACL_TYPE_ACCESS
ARCHIVE_ENTRY_ACL_TYPE_ALARM
ARCHIVE_ENTRY_ACL_WRITE_OWNER
ARCHIVE_EOF
ARCHIVE_EXTRACT_ACL
+ ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS
ARCHIVE_EXTRACT_FFLAGS
+ ARCHIVE_EXTRACT_HFS_COMPRESSION_FORCED
ARCHIVE_EXTRACT_MAC_METADATA
ARCHIVE_EXTRACT_NO_AUTODIR
+ ARCHIVE_EXTRACT_NO_HFS_COMPRESSION
ARCHIVE_EXTRACT_NO_OVERWRITE
ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER
ARCHIVE_EXTRACT_OWNER
ARCHIVE_EXTRACT_PERM
+ ARCHIVE_EXTRACT_SAFE_WRITES
+ ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS
ARCHIVE_EXTRACT_SECURE_NODOTDOT
ARCHIVE_EXTRACT_SECURE_SYMLINKS
ARCHIVE_EXTRACT_SPARSE
ARCHIVE_FATAL
ARCHIVE_FILTER_BZIP2
ARCHIVE_FILTER_COMPRESS
+ ARCHIVE_FILTER_GRZIP
ARCHIVE_FILTER_GZIP
+ ARCHIVE_FILTER_LRZIP
+ ARCHIVE_FILTER_LZ4
ARCHIVE_FILTER_LZIP
ARCHIVE_FILTER_LZMA
+ ARCHIVE_FILTER_LZOP
ARCHIVE_FILTER_NONE
ARCHIVE_FILTER_PROGRAM
ARCHIVE_FILTER_RPM
ARCHIVE_FILTER_UU
ARCHIVE_FILTER_XZ
+ ARCHIVE_FILTER_ZSTD
ARCHIVE_FORMAT_7ZIP
ARCHIVE_FORMAT_AR
ARCHIVE_FORMAT_AR_BSD
ARCHIVE_FORMAT_LHA
ARCHIVE_FORMAT_MTREE
ARCHIVE_FORMAT_RAR
+ ARCHIVE_FORMAT_RAR_V5
ARCHIVE_FORMAT_RAW
ARCHIVE_FORMAT_SHAR
ARCHIVE_FORMAT_SHAR_BASE
ARCHIVE_FORMAT_TAR_PAX_INTERCHANGE
ARCHIVE_FORMAT_TAR_PAX_RESTRICTED
ARCHIVE_FORMAT_TAR_USTAR
+ ARCHIVE_FORMAT_WARC
ARCHIVE_FORMAT_XAR
ARCHIVE_FORMAT_ZIP
ARCHIVE_MATCH_CTIME
ARCHIVE_OK
ARCHIVE_READDISK_HONOR_NODUMP
ARCHIVE_READDISK_MAC_COPYFILE
+ ARCHIVE_READDISK_NO_ACL
+ ARCHIVE_READDISK_NO_FFLAGS
ARCHIVE_READDISK_NO_TRAVERSE_MOUNTS
+ ARCHIVE_READDISK_NO_XATTR
ARCHIVE_READDISK_RESTORE_ATIME
+ ARCHIVE_READ_FORMAT_CAPS_ENCRYPT_DATA
+ ARCHIVE_READ_FORMAT_CAPS_ENCRYPT_METADATA
+ ARCHIVE_READ_FORMAT_CAPS_NONE
+ ARCHIVE_READ_FORMAT_ENCRYPTION_DONT_KNOW
+ ARCHIVE_READ_FORMAT_ENCRYPTION_UNSUPPORTED
ARCHIVE_RETRY
ARCHIVE_VERSION_NUMBER
ARCHIVE_WARN
);
-our $VERSION = '3.0.4';
+our $VERSION = '3.4.0';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
=head2 Exportable constants
- AE_IFBLK
- AE_IFCHR
- AE_IFDIR
- AE_IFIFO
- AE_IFLNK
- AE_IFMT
- AE_IFREG
- AE_IFSOCK
ARCHIVE_COMPRESSION_BZIP2
ARCHIVE_COMPRESSION_COMPRESS
ARCHIVE_COMPRESSION_GZIP
+ ARCHIVE_COMPRESSION_LRZIP
ARCHIVE_COMPRESSION_LZIP
ARCHIVE_COMPRESSION_LZMA
ARCHIVE_COMPRESSION_NONE
ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT
ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS
ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT
+ ARCHIVE_ENTRY_ACL_ENTRY_INHERITED
ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY
ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT
ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS
ARCHIVE_ENTRY_ACL_READ_ATTRIBUTES
ARCHIVE_ENTRY_ACL_READ_DATA
ARCHIVE_ENTRY_ACL_READ_NAMED_ATTRS
+ ARCHIVE_ENTRY_ACL_STYLE_COMPACT
ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID
ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT
+ ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA
+ ARCHIVE_ENTRY_ACL_STYLE_SOLARIS
ARCHIVE_ENTRY_ACL_SYNCHRONIZE
ARCHIVE_ENTRY_ACL_TYPE_ACCESS
ARCHIVE_ENTRY_ACL_TYPE_ALARM
ARCHIVE_ENTRY_ACL_WRITE_OWNER
ARCHIVE_EOF
ARCHIVE_EXTRACT_ACL
+ ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS
ARCHIVE_EXTRACT_FFLAGS
+ ARCHIVE_EXTRACT_HFS_COMPRESSION_FORCED
ARCHIVE_EXTRACT_MAC_METADATA
ARCHIVE_EXTRACT_NO_AUTODIR
+ ARCHIVE_EXTRACT_NO_HFS_COMPRESSION
ARCHIVE_EXTRACT_NO_OVERWRITE
ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER
ARCHIVE_EXTRACT_OWNER
ARCHIVE_EXTRACT_PERM
+ ARCHIVE_EXTRACT_SAFE_WRITES
+ ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS
ARCHIVE_EXTRACT_SECURE_NODOTDOT
ARCHIVE_EXTRACT_SECURE_SYMLINKS
ARCHIVE_EXTRACT_SPARSE
ARCHIVE_FATAL
ARCHIVE_FILTER_BZIP2
ARCHIVE_FILTER_COMPRESS
+ ARCHIVE_FILTER_GRZIP
ARCHIVE_FILTER_GZIP
+ ARCHIVE_FILTER_LRZIP
+ ARCHIVE_FILTER_LZ4
ARCHIVE_FILTER_LZIP
ARCHIVE_FILTER_LZMA
+ ARCHIVE_FILTER_LZOP
ARCHIVE_FILTER_NONE
ARCHIVE_FILTER_PROGRAM
ARCHIVE_FILTER_RPM
ARCHIVE_FILTER_UU
ARCHIVE_FILTER_XZ
+ ARCHIVE_FILTER_ZSTD
ARCHIVE_FORMAT_7ZIP
ARCHIVE_FORMAT_AR
ARCHIVE_FORMAT_AR_BSD
ARCHIVE_FORMAT_LHA
ARCHIVE_FORMAT_MTREE
ARCHIVE_FORMAT_RAR
+ ARCHIVE_FORMAT_RAR_V5
ARCHIVE_FORMAT_RAW
ARCHIVE_FORMAT_SHAR
ARCHIVE_FORMAT_SHAR_BASE
ARCHIVE_FORMAT_TAR_PAX_INTERCHANGE
ARCHIVE_FORMAT_TAR_PAX_RESTRICTED
ARCHIVE_FORMAT_TAR_USTAR
+ ARCHIVE_FORMAT_WARC
ARCHIVE_FORMAT_XAR
ARCHIVE_FORMAT_ZIP
ARCHIVE_MATCH_CTIME
ARCHIVE_OK
ARCHIVE_READDISK_HONOR_NODUMP
ARCHIVE_READDISK_MAC_COPYFILE
+ ARCHIVE_READDISK_NO_ACL
+ ARCHIVE_READDISK_NO_FFLAGS
ARCHIVE_READDISK_NO_TRAVERSE_MOUNTS
+ ARCHIVE_READDISK_NO_XATTR
ARCHIVE_READDISK_RESTORE_ATIME
+ ARCHIVE_READ_FORMAT_CAPS_ENCRYPT_DATA
+ ARCHIVE_READ_FORMAT_CAPS_ENCRYPT_METADATA
+ ARCHIVE_READ_FORMAT_CAPS_NONE
+ ARCHIVE_READ_FORMAT_ENCRYPTION_DONT_KNOW
+ ARCHIVE_READ_FORMAT_ENCRYPTION_UNSUPPORTED
ARCHIVE_RETRY
ARCHIVE_VERSION_NUMBER
ARCHIVE_WARN
+
+
=head1 SEE ALSO
man libarchive
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
=cut
-
-# Before `make install' is performed this script should be runnable with
-# `make test'. After `make install' it should work as `perl LibArchive.t'
+# Before 'make install' is performed this script should be runnable with
+# 'make test'. After 'make install' it should work as 'perl LibArchive.t'
#########################
my $fail = 0;
foreach my $constname (qw(
- AE_IFBLK AE_IFCHR AE_IFDIR AE_IFIFO AE_IFLNK AE_IFMT AE_IFREG AE_IFSOCK
ARCHIVE_COMPRESSION_BZIP2 ARCHIVE_COMPRESSION_COMPRESS
- ARCHIVE_COMPRESSION_GZIP ARCHIVE_COMPRESSION_LZIP
- ARCHIVE_COMPRESSION_LZMA ARCHIVE_COMPRESSION_NONE
- ARCHIVE_COMPRESSION_PROGRAM ARCHIVE_COMPRESSION_RPM
- ARCHIVE_COMPRESSION_UU ARCHIVE_COMPRESSION_XZ
+ ARCHIVE_COMPRESSION_GZIP ARCHIVE_COMPRESSION_LRZIP
+ ARCHIVE_COMPRESSION_LZIP ARCHIVE_COMPRESSION_LZMA
+ ARCHIVE_COMPRESSION_NONE ARCHIVE_COMPRESSION_PROGRAM
+ ARCHIVE_COMPRESSION_RPM ARCHIVE_COMPRESSION_UU ARCHIVE_COMPRESSION_XZ
ARCHIVE_ENTRY_ACL_ADD_FILE ARCHIVE_ENTRY_ACL_ADD_SUBDIRECTORY
ARCHIVE_ENTRY_ACL_APPEND_DATA ARCHIVE_ENTRY_ACL_DELETE
ARCHIVE_ENTRY_ACL_DELETE_CHILD
ARCHIVE_ENTRY_ACL_ENTRY_DIRECTORY_INHERIT
ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS
- ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT
+ ARCHIVE_ENTRY_ACL_ENTRY_FILE_INHERIT ARCHIVE_ENTRY_ACL_ENTRY_INHERITED
ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY
ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT
ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS ARCHIVE_ENTRY_ACL_EVERYONE
ARCHIVE_ENTRY_ACL_PERMS_POSIX1E ARCHIVE_ENTRY_ACL_READ
ARCHIVE_ENTRY_ACL_READ_ACL ARCHIVE_ENTRY_ACL_READ_ATTRIBUTES
ARCHIVE_ENTRY_ACL_READ_DATA ARCHIVE_ENTRY_ACL_READ_NAMED_ATTRS
- ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT
+ ARCHIVE_ENTRY_ACL_STYLE_COMPACT ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID
+ ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT
+ ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA ARCHIVE_ENTRY_ACL_STYLE_SOLARIS
ARCHIVE_ENTRY_ACL_SYNCHRONIZE ARCHIVE_ENTRY_ACL_TYPE_ACCESS
ARCHIVE_ENTRY_ACL_TYPE_ALARM ARCHIVE_ENTRY_ACL_TYPE_ALLOW
ARCHIVE_ENTRY_ACL_TYPE_AUDIT ARCHIVE_ENTRY_ACL_TYPE_DEFAULT
ARCHIVE_ENTRY_ACL_WRITE_ACL ARCHIVE_ENTRY_ACL_WRITE_ATTRIBUTES
ARCHIVE_ENTRY_ACL_WRITE_DATA ARCHIVE_ENTRY_ACL_WRITE_NAMED_ATTRS
ARCHIVE_ENTRY_ACL_WRITE_OWNER ARCHIVE_EOF ARCHIVE_EXTRACT_ACL
- ARCHIVE_EXTRACT_FFLAGS ARCHIVE_EXTRACT_MAC_METADATA
- ARCHIVE_EXTRACT_NO_AUTODIR ARCHIVE_EXTRACT_NO_OVERWRITE
- ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER ARCHIVE_EXTRACT_OWNER
- ARCHIVE_EXTRACT_PERM ARCHIVE_EXTRACT_SECURE_NODOTDOT
+ ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS ARCHIVE_EXTRACT_FFLAGS
+ ARCHIVE_EXTRACT_HFS_COMPRESSION_FORCED ARCHIVE_EXTRACT_MAC_METADATA
+ ARCHIVE_EXTRACT_NO_AUTODIR ARCHIVE_EXTRACT_NO_HFS_COMPRESSION
+ ARCHIVE_EXTRACT_NO_OVERWRITE ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER
+ ARCHIVE_EXTRACT_OWNER ARCHIVE_EXTRACT_PERM ARCHIVE_EXTRACT_SAFE_WRITES
+ ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS ARCHIVE_EXTRACT_SECURE_NODOTDOT
ARCHIVE_EXTRACT_SECURE_SYMLINKS ARCHIVE_EXTRACT_SPARSE
ARCHIVE_EXTRACT_TIME ARCHIVE_EXTRACT_UNLINK ARCHIVE_EXTRACT_XATTR
ARCHIVE_FAILED ARCHIVE_FATAL ARCHIVE_FILTER_BZIP2
- ARCHIVE_FILTER_COMPRESS ARCHIVE_FILTER_GZIP ARCHIVE_FILTER_LZIP
- ARCHIVE_FILTER_LZMA ARCHIVE_FILTER_NONE ARCHIVE_FILTER_PROGRAM
- ARCHIVE_FILTER_RPM ARCHIVE_FILTER_UU ARCHIVE_FILTER_XZ
- ARCHIVE_FORMAT_7ZIP ARCHIVE_FORMAT_AR ARCHIVE_FORMAT_AR_BSD
- ARCHIVE_FORMAT_AR_GNU ARCHIVE_FORMAT_BASE_MASK ARCHIVE_FORMAT_CAB
- ARCHIVE_FORMAT_CPIO ARCHIVE_FORMAT_CPIO_AFIO_LARGE
- ARCHIVE_FORMAT_CPIO_BIN_BE ARCHIVE_FORMAT_CPIO_BIN_LE
- ARCHIVE_FORMAT_CPIO_POSIX ARCHIVE_FORMAT_CPIO_SVR4_CRC
- ARCHIVE_FORMAT_CPIO_SVR4_NOCRC ARCHIVE_FORMAT_EMPTY
- ARCHIVE_FORMAT_ISO9660 ARCHIVE_FORMAT_ISO9660_ROCKRIDGE
- ARCHIVE_FORMAT_LHA ARCHIVE_FORMAT_MTREE ARCHIVE_FORMAT_RAR
+ ARCHIVE_FILTER_COMPRESS ARCHIVE_FILTER_GRZIP ARCHIVE_FILTER_GZIP
+ ARCHIVE_FILTER_LRZIP ARCHIVE_FILTER_LZ4 ARCHIVE_FILTER_LZIP
+ ARCHIVE_FILTER_LZMA ARCHIVE_FILTER_LZOP ARCHIVE_FILTER_NONE
+ ARCHIVE_FILTER_PROGRAM ARCHIVE_FILTER_RPM ARCHIVE_FILTER_UU
+ ARCHIVE_FILTER_XZ ARCHIVE_FILTER_ZSTD ARCHIVE_FORMAT_7ZIP
+ ARCHIVE_FORMAT_AR ARCHIVE_FORMAT_AR_BSD ARCHIVE_FORMAT_AR_GNU
+ ARCHIVE_FORMAT_BASE_MASK ARCHIVE_FORMAT_CAB ARCHIVE_FORMAT_CPIO
+ ARCHIVE_FORMAT_CPIO_AFIO_LARGE ARCHIVE_FORMAT_CPIO_BIN_BE
+ ARCHIVE_FORMAT_CPIO_BIN_LE ARCHIVE_FORMAT_CPIO_POSIX
+ ARCHIVE_FORMAT_CPIO_SVR4_CRC ARCHIVE_FORMAT_CPIO_SVR4_NOCRC
+ ARCHIVE_FORMAT_EMPTY ARCHIVE_FORMAT_ISO9660
+ ARCHIVE_FORMAT_ISO9660_ROCKRIDGE ARCHIVE_FORMAT_LHA
+ ARCHIVE_FORMAT_MTREE ARCHIVE_FORMAT_RAR ARCHIVE_FORMAT_RAR_V5
ARCHIVE_FORMAT_RAW ARCHIVE_FORMAT_SHAR ARCHIVE_FORMAT_SHAR_BASE
ARCHIVE_FORMAT_SHAR_DUMP ARCHIVE_FORMAT_TAR ARCHIVE_FORMAT_TAR_GNUTAR
ARCHIVE_FORMAT_TAR_PAX_INTERCHANGE ARCHIVE_FORMAT_TAR_PAX_RESTRICTED
- ARCHIVE_FORMAT_TAR_USTAR ARCHIVE_FORMAT_XAR ARCHIVE_FORMAT_ZIP
- ARCHIVE_MATCH_CTIME ARCHIVE_MATCH_EQUAL ARCHIVE_MATCH_MTIME
- ARCHIVE_MATCH_NEWER ARCHIVE_MATCH_OLDER ARCHIVE_OK
+ ARCHIVE_FORMAT_TAR_USTAR ARCHIVE_FORMAT_WARC ARCHIVE_FORMAT_XAR
+ ARCHIVE_FORMAT_ZIP ARCHIVE_MATCH_CTIME ARCHIVE_MATCH_EQUAL
+ ARCHIVE_MATCH_MTIME ARCHIVE_MATCH_NEWER ARCHIVE_MATCH_OLDER ARCHIVE_OK
ARCHIVE_READDISK_HONOR_NODUMP ARCHIVE_READDISK_MAC_COPYFILE
- ARCHIVE_READDISK_NO_TRAVERSE_MOUNTS ARCHIVE_READDISK_RESTORE_ATIME
- ARCHIVE_RETRY ARCHIVE_VERSION_NUMBER ARCHIVE_WARN)) {
+ ARCHIVE_READDISK_NO_ACL ARCHIVE_READDISK_NO_FFLAGS
+ ARCHIVE_READDISK_NO_TRAVERSE_MOUNTS ARCHIVE_READDISK_NO_XATTR
+ ARCHIVE_READDISK_RESTORE_ATIME ARCHIVE_READ_FORMAT_CAPS_ENCRYPT_DATA
+ ARCHIVE_READ_FORMAT_CAPS_ENCRYPT_METADATA ARCHIVE_READ_FORMAT_CAPS_NONE
+ ARCHIVE_READ_FORMAT_ENCRYPTION_DONT_KNOW
+ ARCHIVE_READ_FORMAT_ENCRYPTION_UNSUPPORTED ARCHIVE_RETRY
+ ARCHIVE_VERSION_NUMBER ARCHIVE_WARN)) {
next if (eval "my \$a = $constname; 1");
if ($@ =~ /^Your vendor has not defined LibArchive macro $constname/) {
print "# pass: $@";