Revision history for Perl extension LibArchive.
+3.0.4 Tue Sep 23 11:50:00 CEST 2014
+
+ - make it compile with libarchive-dev 3.0.4-3 from debian wheezy
+
2.2.4 Wed Jul 18 10:50:00 CEST 2007
- code cleanup
0.01 Fri Jul 13 12:41:39 2007
- original version; created by h2xs 1.23 with options
-
+ -an LibArchive /usr/include/archive.h /usr/include/archive_entry.h
INCLUDE: const-xs.inc
-int
-archive_api_feature()
-
-int
-archive_api_version()
-
void
archive_clear_error(arg0)
struct archive * arg0
archive_read_support_format_zip(arg0)
struct archive * arg0
-
-const char *
-archive_version()
-
-int
-archive_version_stamp()
-
time_t
archive_entry_atime(arg0)
struct archive_entry * arg0
archive_entry_uname(arg0)
struct archive_entry * arg0
-
MANIFEST
ppport.h
README
-typemap
t/LibArchive.t
+fallback/const-c.inc
+fallback/const-xs.inc
lib/LibArchive.pm
-use 5.008008;
+use 5.014002;
use ExtUtils::MakeMaker;
-use ExtUtils::Constant;
-
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
NAME => 'LibArchive',
- PREFIX => '/usr',
VERSION_FROM => 'lib/LibArchive.pm', # finds $VERSION
PREREQ_PM => {}, # e.g., Module::Name => 1.1
($] >= 5.005 ? ## Add these new keywords supported since 5.005
# Un-comment this if you add C files to link with later:
# OBJECT => '$(O_FILES)', # link all the C files too
);
+if (eval {require ExtUtils::Constant; 1}) {
+ # If you edit these definitions to change the constants used by this module,
+ # 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
+ 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_INHERIT_ONLY
+ ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT
+ ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS
+ ARCHIVE_ENTRY_ACL_EVERYONE ARCHIVE_ENTRY_ACL_EXECUTE
+ ARCHIVE_ENTRY_ACL_GROUP ARCHIVE_ENTRY_ACL_GROUP_OBJ
+ ARCHIVE_ENTRY_ACL_INHERITANCE_NFS4
+ ARCHIVE_ENTRY_ACL_LIST_DIRECTORY ARCHIVE_ENTRY_ACL_MASK
+ ARCHIVE_ENTRY_ACL_OTHER ARCHIVE_ENTRY_ACL_PERMS_NFS4
+ 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_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_NO_OVERWRITE_NEWER ARCHIVE_EXTRACT_OWNER
+ ARCHIVE_EXTRACT_PERM 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_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_VERSION_NUMBER ARCHIVE_WARN));
+ ExtUtils::Constant::WriteConstants(
+ NAME => 'LibArchive',
+ NAMES => \@names,
+ DEFAULT_TYPE => 'IV',
+ C_FILE => 'const-c.inc',
+ XS_FILE => 'const-xs.inc',
+ );
-
-my @names = (qw(ARCHIVE_API_FEATURE ARCHIVE_API_VERSION
- ARCHIVE_BYTES_PER_RECORD ARCHIVE_COMPRESSION_BZIP2
- ARCHIVE_COMPRESSION_COMPRESS ARCHIVE_COMPRESSION_GZIP
- ARCHIVE_COMPRESSION_NONE ARCHIVE_COMPRESSION_PROGRAM
- ARCHIVE_DEFAULT_BYTES_PER_BLOCK ARCHIVE_EOF
- ARCHIVE_EXTRACT_ACL ARCHIVE_EXTRACT_FFLAGS
- 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_SECURE_SYMLINKS ARCHIVE_EXTRACT_TIME
- ARCHIVE_EXTRACT_UNLINK ARCHIVE_EXTRACT_XATTR ARCHIVE_FAILED
- ARCHIVE_FATAL ARCHIVE_FORMAT_AR ARCHIVE_FORMAT_AR_BSD
- ARCHIVE_FORMAT_AR_GNU ARCHIVE_FORMAT_BASE_MASK
- ARCHIVE_FORMAT_CPIO 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_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_ZIP ARCHIVE_OK ARCHIVE_RETRY
- ARCHIVE_VERSION_STAMP ARCHIVE_WARN));
-
-ExtUtils::Constant::WriteConstants(
- NAME => 'LibArchive',
- NAMES => \@names,
- DEFAULT_TYPE => 'IV',
- C_FILE => 'const-c.inc',
- XS_FILE => 'const-xs.inc',
- );
-
+}
+else {
+ use File::Copy;
+ use File::Spec;
+ foreach my $file ('const-c.inc', 'const-xs.inc') {
+ my $fallback = File::Spec->catfile('fallback', $file);
+ copy ($fallback, $file) or die "Can't copy $fallback to $file: $!";
+ }
+}
package LibArchive;
-use 5.008008;
+use 5.014002;
use strict;
use warnings;
use Carp;
AE_IFLNK
AE_IFMT
AE_IFREG
- ARCHIVE_API_FEATURE
- ARCHIVE_API_VERSION
- ARCHIVE_BYTES_PER_RECORD
+ AE_IFSOCK
ARCHIVE_COMPRESSION_BZIP2
ARCHIVE_COMPRESSION_COMPRESS
ARCHIVE_COMPRESSION_GZIP
+ ARCHIVE_COMPRESSION_LZIP
+ ARCHIVE_COMPRESSION_LZMA
ARCHIVE_COMPRESSION_NONE
ARCHIVE_COMPRESSION_PROGRAM
- ARCHIVE_DEFAULT_BYTES_PER_BLOCK
+ 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_INHERIT_ONLY
+ ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT
+ ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS
+ ARCHIVE_ENTRY_ACL_EVERYONE
+ ARCHIVE_ENTRY_ACL_EXECUTE
+ ARCHIVE_ENTRY_ACL_GROUP
+ ARCHIVE_ENTRY_ACL_GROUP_OBJ
+ ARCHIVE_ENTRY_ACL_INHERITANCE_NFS4
+ ARCHIVE_ENTRY_ACL_LIST_DIRECTORY
+ ARCHIVE_ENTRY_ACL_MASK
+ ARCHIVE_ENTRY_ACL_OTHER
+ ARCHIVE_ENTRY_ACL_PERMS_NFS4
+ 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_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_NO_OVERWRITE_NEWER
ARCHIVE_EXTRACT_PERM
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_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_SHAR_BASE
ARCHIVE_FORMAT_SHAR_DUMP
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_VERSION_STAMP
+ ARCHIVE_VERSION_NUMBER
ARCHIVE_WARN
) ] );
AE_IFLNK
AE_IFMT
AE_IFREG
- ARCHIVE_API_FEATURE
- ARCHIVE_API_VERSION
- ARCHIVE_BYTES_PER_RECORD
+ AE_IFSOCK
ARCHIVE_COMPRESSION_BZIP2
ARCHIVE_COMPRESSION_COMPRESS
ARCHIVE_COMPRESSION_GZIP
+ ARCHIVE_COMPRESSION_LZIP
+ ARCHIVE_COMPRESSION_LZMA
ARCHIVE_COMPRESSION_NONE
ARCHIVE_COMPRESSION_PROGRAM
- ARCHIVE_DEFAULT_BYTES_PER_BLOCK
+ 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_INHERIT_ONLY
+ ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT
+ ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS
+ ARCHIVE_ENTRY_ACL_EVERYONE
+ ARCHIVE_ENTRY_ACL_EXECUTE
+ ARCHIVE_ENTRY_ACL_GROUP
+ ARCHIVE_ENTRY_ACL_GROUP_OBJ
+ ARCHIVE_ENTRY_ACL_INHERITANCE_NFS4
+ ARCHIVE_ENTRY_ACL_LIST_DIRECTORY
+ ARCHIVE_ENTRY_ACL_MASK
+ ARCHIVE_ENTRY_ACL_OTHER
+ ARCHIVE_ENTRY_ACL_PERMS_NFS4
+ 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_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_NO_OVERWRITE_NEWER
ARCHIVE_EXTRACT_PERM
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_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_SHAR_BASE
ARCHIVE_FORMAT_SHAR_DUMP
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_VERSION_STAMP
+ ARCHIVE_VERSION_NUMBER
ARCHIVE_WARN
);
-our $VERSION = '2.2.4';
+our $VERSION = '3.0.4';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
if ($error) { croak $error; }
{
no strict 'refs';
- *$AUTOLOAD = sub { $val };
+ # Fixed between 5.005_53 and 5.005_61
+#XXX if ($] >= 5.00561) {
+#XXX *$AUTOLOAD = sub () { $val };
+#XXX }
+#XXX else {
+ *$AUTOLOAD = sub { $val };
+#XXX }
}
goto &$AUTOLOAD;
}
use LibArchive;
-
=head1 DESCRIPTION
We currently support only a limited interface for reading archives.
AE_IFLNK
AE_IFMT
AE_IFREG
- ARCHIVE_API_FEATURE
- ARCHIVE_API_VERSION
- ARCHIVE_BYTES_PER_RECORD
+ AE_IFSOCK
ARCHIVE_COMPRESSION_BZIP2
ARCHIVE_COMPRESSION_COMPRESS
ARCHIVE_COMPRESSION_GZIP
+ ARCHIVE_COMPRESSION_LZIP
+ ARCHIVE_COMPRESSION_LZMA
ARCHIVE_COMPRESSION_NONE
ARCHIVE_COMPRESSION_PROGRAM
- ARCHIVE_DEFAULT_BYTES_PER_BLOCK
+ 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_INHERIT_ONLY
+ ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT
+ ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS
+ ARCHIVE_ENTRY_ACL_EVERYONE
+ ARCHIVE_ENTRY_ACL_EXECUTE
+ ARCHIVE_ENTRY_ACL_GROUP
+ ARCHIVE_ENTRY_ACL_GROUP_OBJ
+ ARCHIVE_ENTRY_ACL_INHERITANCE_NFS4
+ ARCHIVE_ENTRY_ACL_LIST_DIRECTORY
+ ARCHIVE_ENTRY_ACL_MASK
+ ARCHIVE_ENTRY_ACL_OTHER
+ ARCHIVE_ENTRY_ACL_PERMS_NFS4
+ 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_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_NO_OVERWRITE_NEWER
ARCHIVE_EXTRACT_PERM
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_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_SHAR_BASE
ARCHIVE_FORMAT_SHAR_DUMP
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_VERSION_STAMP
+ ARCHIVE_VERSION_NUMBER
ARCHIVE_WARN
-=head2 Exportable functions
-
- int archive_api_feature(void)
- int archive_api_version(void)
-
- void archive_clear_error(struct archive *)
- int archive_compression(struct archive *)
- const char *archive_compression_name(struct archive *)
- void archive_copy_error(struct archive *dest, struct archive *src)
- int archive_errno(struct archive *)
- const char *archive_error_string(struct archive *)
- int archive_format(struct archive *)
- int archive_read_close(struct archive *)
- ssize_t archive_read_data(struct archive *, void *, size_t)
- int archive_read_data_skip(struct archive *)
- int archive_read_finish(struct archive *)
- struct archive *archive_read_new(void)
- int archive_read_next_header(struct archive *,
- struct archive_entry **)
- int archive_read_open(struct archive *, void *_client_data,
- archive_open_callback *, archive_read_callback *,
- archive_close_callback *)
- int archive_read_open_FILE(struct archive *, FILE *_file)
- int archive_read_open_fd(struct archive *, int _fd,
- size_t _block_size)
- int archive_read_open_file(struct archive *,
- const char *_filename, size_t _block_size)
- int archive_read_open_filename(struct archive *,
- const char *_filename, size_t _block_size)
- int archive_read_support_compression_all(struct archive *)
- int archive_read_support_compression_bzip2(struct archive *)
- int archive_read_support_compression_compress(struct archive *)
- int archive_read_support_compression_gzip(struct archive *)
- int archive_read_support_compression_none(struct archive *)
- int archive_read_support_compression_program(struct archive *,
- const char *command)
- int archive_read_support_format_all(struct archive *)
- int archive_read_support_format_ar(struct archive *)
- int archive_read_support_format_cpio(struct archive *)
- int archive_read_support_format_empty(struct archive *)
- int archive_read_support_format_gnutar(struct archive *)
- int archive_read_support_format_iso9660(struct archive *)
- int archive_read_support_format_tar(struct archive *)
- int archive_read_support_format_zip(struct archive *)
- const char * archive_version(void)
- int archive_version_stamp(void)
-
- time_t archive_entry_atime(struct archive_entry *)
- long archive_entry_atime_nsec(struct archive_entry *)
- time_t archive_entry_ctime(struct archive_entry *)
- long archive_entry_ctime_nsec(struct archive_entry *)
- mode_t archive_entry_mode(struct archive_entry *)
- const char * archive_entry_gname(struct archive_entry *)
- const char * archive_entry_hardlink(struct archive_entry *)
- time_t archive_entry_mtime(struct archive_entry *)
- long archive_entry_mtime_nsec(struct archive_entry *)
- unsigned int archive_entry_nlink(struct archive_entry *)
- const char * archive_entry_pathname(struct archive_entry *)
- long archive_entry_size(struct archive_entry *)
- const char * archive_entry_symlink(struct archive_entry *)
- const char * archive_entry_uname(struct archive_entry *)
-
-
=head1 SEE ALSO
- man libarchive
+ man libarchive
=head1 AUTHOR
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2007 by Dietmar Maurer
+Copyright (C) 2007-2014 by Dietmar Maurer
This library (perl bindings) is free software; you can redistribute it
and/or modify it under the same terms as Perl itself, either Perl
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
=cut
+
# change 'tests => 2' to 'tests => last_test_to_print';
+use strict;
+use warnings;
+
use Test::More tests => 2;
BEGIN { use_ok('LibArchive') };
my $fail = 0;
foreach my $constname (qw(
- ARCHIVE_API_FEATURE ARCHIVE_API_VERSION ARCHIVE_BYTES_PER_RECORD
+ 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_NONE
- ARCHIVE_COMPRESSION_PROGRAM ARCHIVE_DEFAULT_BYTES_PER_BLOCK ARCHIVE_EOF
- ARCHIVE_EXTRACT_ACL ARCHIVE_EXTRACT_FFLAGS 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_SECURE_SYMLINKS
+ 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_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_INHERIT_ONLY
+ ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT
+ ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS ARCHIVE_ENTRY_ACL_EVERYONE
+ ARCHIVE_ENTRY_ACL_EXECUTE ARCHIVE_ENTRY_ACL_GROUP
+ ARCHIVE_ENTRY_ACL_GROUP_OBJ ARCHIVE_ENTRY_ACL_INHERITANCE_NFS4
+ ARCHIVE_ENTRY_ACL_LIST_DIRECTORY ARCHIVE_ENTRY_ACL_MASK
+ ARCHIVE_ENTRY_ACL_OTHER ARCHIVE_ENTRY_ACL_PERMS_NFS4
+ 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_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_NO_OVERWRITE_NEWER ARCHIVE_EXTRACT_OWNER
+ ARCHIVE_EXTRACT_PERM 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_FORMAT_AR ARCHIVE_FORMAT_AR_BSD
- ARCHIVE_FORMAT_AR_GNU ARCHIVE_FORMAT_BASE_MASK ARCHIVE_FORMAT_CPIO
+ 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_SHAR ARCHIVE_FORMAT_SHAR_BASE ARCHIVE_FORMAT_SHAR_DUMP
- ARCHIVE_FORMAT_TAR ARCHIVE_FORMAT_TAR_GNUTAR
+ ARCHIVE_FORMAT_LHA ARCHIVE_FORMAT_MTREE ARCHIVE_FORMAT_RAR
+ 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_ZIP ARCHIVE_OK ARCHIVE_RETRY
- ARCHIVE_VERSION_STAMP ARCHIVE_WARN)) {
+ 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_VERSION_NUMBER ARCHIVE_WARN)) {
next if (eval "my \$a = $constname; 1");
if ($@ =~ /^Your vendor has not defined LibArchive macro $constname/) {
print "# pass: $@";
-archive_close_callback * T_PTROBJ
-archive_open_callback * T_PTROBJ
-archive_read_callback * T_PTROBJ
-archive_skip_callback * T_PTROBJ
-archive_write_callback * T_PTROBJ
-const void * T_PTROBJ
-const void ** T_PTROBJ
-off_t T_NV
-off_t * T_PTROBJ
-size_t * T_OPAQUEPTR
-struct archive * T_PTROBJ
-struct archive_entry * T_PTROBJ
-mode_t T_NV
-
-# basic C types
-int T_IV
-unsigned T_UV
-unsigned int T_UV
-long T_IV
-unsigned long T_UV
-short T_IV
-unsigned short T_UV
-char T_CHAR
-unsigned char T_U_CHAR
-char * T_PV
-unsigned char * T_PV
-const char * T_PV
-caddr_t T_PV
-wchar_t * T_PV
-wchar_t T_IV
-# bool_t is defined in <rpc/rpc.h>
-bool_t T_IV
-size_t T_UV
-ssize_t T_IV
-time_t T_NV
-unsigned long * T_OPAQUEPTR
-char ** T_PACKEDARRAY
-void * T_PTR
-Time_t * T_PV
-SV * T_SV
-SVREF T_SVREF
-AV * T_AVREF
-HV * T_HVREF
-CV * T_CVREF
-
-IV T_IV
-UV T_UV
-NV T_NV
-I32 T_IV
-I16 T_IV
-I8 T_IV
-STRLEN T_UV
-U32 T_U_LONG
-U16 T_U_SHORT
-U8 T_UV
-Result T_U_CHAR
-Boolean T_BOOL
-float T_FLOAT
-double T_DOUBLE
-SysRet T_SYSRET
-SysRetLong T_SYSRET
-FILE * T_STDIO
-PerlIO * T_INOUT
-FileHandle T_PTROBJ
-InputStream T_IN
-InOutStream T_INOUT
-OutputStream T_OUT
-bool T_BOOL
-
-#############################################################################
-INPUT
-T_SV
- $var = $arg
-T_SVREF
- if (SvROK($arg))
- $var = (SV*)SvRV($arg);
- else
- Perl_croak(aTHX_ \"$var is not a reference\")
-T_AVREF
- if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVAV)
- $var = (AV*)SvRV($arg);
- else
- Perl_croak(aTHX_ \"$var is not an array reference\")
-T_HVREF
- if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVHV)
- $var = (HV*)SvRV($arg);
- else
- Perl_croak(aTHX_ \"$var is not a hash reference\")
-T_CVREF
- if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVCV)
- $var = (CV*)SvRV($arg);
- else
- Perl_croak(aTHX_ \"$var is not a code reference\")
-T_SYSRET
- $var NOT IMPLEMENTED
-T_UV
- $var = ($type)SvUV($arg)
-T_IV
- $var = ($type)SvIV($arg)
-T_INT
- $var = (int)SvIV($arg)
-T_ENUM
- $var = ($type)SvIV($arg)
-T_BOOL
- $var = (bool)SvTRUE($arg)
-T_U_INT
- $var = (unsigned int)SvUV($arg)
-T_SHORT
- $var = (short)SvIV($arg)
-T_U_SHORT
- $var = (unsigned short)SvUV($arg)
-T_LONG
- $var = (long)SvIV($arg)
-T_U_LONG
- $var = (unsigned long)SvUV($arg)
-T_CHAR
- $var = (char)*SvPV_nolen($arg)
-T_U_CHAR
- $var = (unsigned char)SvUV($arg)
-T_FLOAT
- $var = (float)SvNV($arg)
-T_NV
- $var = ($type)SvNV($arg)
-T_DOUBLE
- $var = (double)SvNV($arg)
-T_PV
- $var = ($type)SvPV_nolen($arg)
-T_PTR
- $var = INT2PTR($type,SvIV($arg))
-T_PTRREF
- if (SvROK($arg)) {
- IV tmp = SvIV((SV*)SvRV($arg));
- $var = INT2PTR($type,tmp);
- }
- else
- Perl_croak(aTHX_ \"$var is not a reference\")
-T_REF_IV_REF
- if (sv_isa($arg, \"${ntype}\")) {
- IV tmp = SvIV((SV*)SvRV($arg));
- $var = *INT2PTR($type *, tmp);
- }
- else
- Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
-T_REF_IV_PTR
- if (sv_isa($arg, \"${ntype}\")) {
- IV tmp = SvIV((SV*)SvRV($arg));
- $var = INT2PTR($type, tmp);
- }
- else
- Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
-T_PTROBJ
- if (sv_derived_from($arg, \"${ntype}\")) {
- IV tmp = SvIV((SV*)SvRV($arg));
- $var = INT2PTR($type,tmp);
- }
- else
- Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
-T_PTRDESC
- if (sv_isa($arg, \"${ntype}\")) {
- IV tmp = SvIV((SV*)SvRV($arg));
- ${type}_desc = (\U${type}_DESC\E*) tmp;
- $var = ${type}_desc->ptr;
- }
- else
- Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
-T_REFREF
- if (SvROK($arg)) {
- IV tmp = SvIV((SV*)SvRV($arg));
- $var = *INT2PTR($type,tmp);
- }
- else
- Perl_croak(aTHX_ \"$var is not a reference\")
-T_REFOBJ
- if (sv_isa($arg, \"${ntype}\")) {
- IV tmp = SvIV((SV*)SvRV($arg));
- $var = *INT2PTR($type,tmp);
- }
- else
- Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
-T_OPAQUE
- $var = *($type *)SvPV_nolen($arg)
-T_OPAQUEPTR
- $var = ($type)SvPV_nolen($arg)
-T_PACKED
- $var = XS_unpack_$ntype($arg)
-T_PACKEDARRAY
- $var = XS_unpack_$ntype($arg)
-T_CALLBACK
- $var = make_perl_cb_$type($arg)
-T_ARRAY
- U32 ix_$var = $argoff;
- $var = $ntype(items -= $argoff);
- while (items--) {
- DO_ARRAY_ELEM;
- ix_$var++;
- }
- /* this is the number of elements in the array */
- ix_$var -= $argoff
-T_STDIO
- $var = PerlIO_findFILE(IoIFP(sv_2io($arg)))
-T_IN
- $var = IoIFP(sv_2io($arg))
-T_INOUT
- $var = IoIFP(sv_2io($arg))
-T_OUT
- $var = IoOFP(sv_2io($arg))
-#############################################################################
-OUTPUT
-T_SV
- $arg = $var;
-T_SVREF
- $arg = newRV((SV*)$var);
-T_AVREF
- $arg = newRV((SV*)$var);
-T_HVREF
- $arg = newRV((SV*)$var);
-T_CVREF
- $arg = newRV((SV*)$var);
-T_IV
- sv_setiv($arg, (IV)$var);
-T_UV
- sv_setuv($arg, (UV)$var);
-T_INT
- sv_setiv($arg, (IV)$var);
-T_SYSRET
- if ($var != -1) {
- if ($var == 0)
- sv_setpvn($arg, "0 but true", 10);
- else
- sv_setiv($arg, (IV)$var);
- }
-T_ENUM
- sv_setiv($arg, (IV)$var);
-T_BOOL
- $arg = boolSV($var);
-T_U_INT
- sv_setuv($arg, (UV)$var);
-T_SHORT
- sv_setiv($arg, (IV)$var);
-T_U_SHORT
- sv_setuv($arg, (UV)$var);
-T_LONG
- sv_setiv($arg, (IV)$var);
-T_U_LONG
- sv_setuv($arg, (UV)$var);
-T_CHAR
- sv_setpvn($arg, (char *)&$var, 1);
-T_U_CHAR
- sv_setuv($arg, (UV)$var);
-T_FLOAT
- sv_setnv($arg, (double)$var);
-T_NV
- sv_setnv($arg, (NV)$var);
-T_DOUBLE
- sv_setnv($arg, (double)$var);
-T_PV
- sv_setpv((SV*)$arg, $var);
-T_PTR
- sv_setiv($arg, PTR2IV($var));
-T_PTRREF
- sv_setref_pv($arg, Nullch, (void*)$var);
-T_REF_IV_REF
- sv_setref_pv($arg, \"${ntype}\", (void*)new $ntype($var));
-T_REF_IV_PTR
- sv_setref_pv($arg, \"${ntype}\", (void*)$var);
-T_PTROBJ
- sv_setref_pv($arg, \"${ntype}\", (void*)$var);
-T_PTRDESC
- sv_setref_pv($arg, \"${ntype}\", (void*)new\U${type}_DESC\E($var));
-T_REFREF
- NOT_IMPLEMENTED
-T_REFOBJ
- NOT IMPLEMENTED
-T_OPAQUE
- sv_setpvn($arg, (char *)&$var, sizeof($var));
-T_OPAQUEPTR
- sv_setpvn($arg, (char *)$var, sizeof(*$var));
-T_PACKED
- XS_pack_$ntype($arg, $var);
-T_PACKEDARRAY
- XS_pack_$ntype($arg, $var, count_$ntype);
-T_DATAUNIT
- sv_setpvn($arg, $var.chp(), $var.size());
-T_CALLBACK
- sv_setpvn($arg, $var.context.value().chp(),
- $var.context.value().size());
-T_ARRAY
- {
- U32 ix_$var;
- EXTEND(SP,size_$var);
- for (ix_$var = 0; ix_$var < size_$var; ix_$var++) {
- ST(ix_$var) = sv_newmortal();
- DO_ARRAY_ELEM
- }
- }
-T_STDIO
- {
- GV *gv = newGVgen("$Package");
- PerlIO *fp = PerlIO_importFILE($var,0);
- if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp) )
- sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
- else
- $arg = &PL_sv_undef;
- }
-T_IN
- {
- GV *gv = newGVgen("$Package");
- if ( do_open(gv, "<&", 2, FALSE, 0, 0, $var) )
- sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
- else
- $arg = &PL_sv_undef;
- }
-T_INOUT
- {
- GV *gv = newGVgen("$Package");
- if ( do_open(gv, "+<&", 3, FALSE, 0, 0, $var) )
- sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
- else
- $arg = &PL_sv_undef;
- }
-T_OUT
- {
- GV *gv = newGVgen("$Package");
- if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) )
- sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
- else
- $arg = &PL_sv_undef;
- }
+struct archive * T_PTROBJ
+struct archive_entry * T_PTROBJ
+mode_t T_NV
-RELEASE=3.0
+RELEASE=4.0
# h2xs -Afn LibArchive
# h2xs -an LibArchive /usr/include/archive.h /usr/include/archive_entry.h
#DEVDEB = libarchive-dev_2.2.4-1_i386.deb
PPSRC = LibArchive
-PDEB = libarchive-perl_2.8.4-1_amd64.deb
+PDEB = libarchive-perl_3.0.4-1_amd64.deb
all: ${PDEB}
+libarchive-perl (3.0.4-1) unstable; urgency=low
+
+ * update for debian wheezy amd64
+
+ -- root <root@pmg4.maurer-it.com> Tue, 23 Sep 2014 11:49:00 +0200
+
libarchive-perl (2.8.4-1) unstable; urgency=low
* update for debian squeeze amd64
Package: libarchive-perl
Architecture: any
-Depends: ${perl:Depends}, ${shlibs:Depends}, ${misc:Depends}, libarchive1
+Depends: ${perl:Depends}, ${shlibs:Depends}, ${misc:Depends}, libarchive12
Description: Perl extension to access libarchive functions
This module provides access to various archive formats using libarchive.