]> git.proxmox.com Git - libarchive-perl.git/commitdiff
updated for debian wheezy
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 23 Sep 2014 09:59:49 +0000 (11:59 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 23 Sep 2014 09:59:49 +0000 (11:59 +0200)
LibArchive/Changes
LibArchive/LibArchive.xs
LibArchive/MANIFEST
LibArchive/Makefile.PL
LibArchive/lib/LibArchive.pm
LibArchive/t/LibArchive.t
LibArchive/typemap
Makefile
debian/changelog
debian/control

index 7a3b741a56306ad8aabd3072dd09835acce0e4ab..3deffa49120db2192cb8149882de0e6633057e8c 100644 (file)
@@ -1,5 +1,9 @@
 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
        
@@ -11,5 +15,5 @@ Revision history for Perl extension LibArchive.
 
 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
 
index 50801bfc9a939122dbe360e71a37956ef6d6175b..f52235a7e8e9006c88661062478d214ead2daac2 100644 (file)
@@ -13,12 +13,6 @@ MODULE = LibArchive          PACKAGE = LibArchive
 
 INCLUDE: const-xs.inc
 
-int
-archive_api_feature()
-
-int
-archive_api_version()
-
 void
 archive_clear_error(arg0)
        struct archive *        arg0
@@ -171,13 +165,6 @@ int
 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
@@ -244,4 +231,3 @@ const char *
 archive_entry_uname(arg0)
        struct archive_entry *  arg0
 
-
index d998a4894a8c6b3ba0946e472c2ff9e4904d1e2f..2442a19c5529b4d69667b100aafeb2b7d24d5491 100644 (file)
@@ -4,6 +4,7 @@ Makefile.PL
 MANIFEST
 ppport.h
 README
-typemap
 t/LibArchive.t
+fallback/const-c.inc
+fallback/const-xs.inc
 lib/LibArchive.pm
index 9e3380f885542aaa9fe31fafa56c9c69c6cdf99d..bb6994dab26d00a38d388a7d4cf09ea5ddaa7429 100644 (file)
@@ -1,12 +1,9 @@
-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
@@ -18,38 +15,92 @@ WriteMakefile(
        # 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: $!";
+  }
+}
index 8a9952f47e3041acfd7c1302632665bfe272ee3d..f4e5bf9ddfc4ff7721e09f4a2b2e5a06931e8721 100644 (file)
@@ -1,6 +1,6 @@
 package LibArchive;
 
-use 5.008008;
+use 5.014002;
 use strict;
 use warnings;
 use Carp;
@@ -25,18 +25,66 @@ our %EXPORT_TAGS = ( 'all' => [ qw(
        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
@@ -44,16 +92,30 @@ our %EXPORT_TAGS = ( 'all' => [ qw(
        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
@@ -62,6 +124,10 @@ our %EXPORT_TAGS = ( 'all' => [ qw(
        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
@@ -70,10 +136,20 @@ our %EXPORT_TAGS = ( 'all' => [ qw(
        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
 ) ] );
 
@@ -87,18 +163,66 @@ our @EXPORT = qw(
        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
@@ -106,16 +230,30 @@ our @EXPORT = qw(
        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
@@ -124,6 +262,10 @@ our @EXPORT = qw(
        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
@@ -132,14 +274,24 @@ our @EXPORT = qw(
        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()
@@ -153,7 +305,13 @@ sub AUTOLOAD {
     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;
 }
@@ -177,7 +335,6 @@ LibArchive - Perl extension to access libarchive functions
 
   use LibArchive;
 
-
 =head1 DESCRIPTION
 
 We currently support only a limited interface for reading archives.
@@ -195,18 +352,66 @@ None by default.
   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
@@ -214,16 +419,30 @@ None by default.
   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
@@ -232,6 +451,10 @@ None by default.
   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
@@ -240,78 +463,25 @@ None by default.
   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
 
@@ -321,7 +491,7 @@ libarchive: Tim Kientzle
 
 =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
@@ -354,5 +524,5 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (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
+
index 4a4a892e831ec88df1d78de7724500b9fb541b58..9a1a262d6cc13920f3d7960f48abdc4a97d47621 100644 (file)
@@ -5,32 +5,74 @@
 
 # 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: $@";
index 4e4c7ce00fcd2db47d643bfece59e601041effa7..9e78822c00a50c09865139d39c8342ce1707de99 100644 (file)
@@ -1,328 +1,3 @@
-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
index a9a4ac354db51cc679109012260441925b291de0..6f7ae2b23bf1bd1759c4c2498cc375e28dd49ec0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-RELEASE=3.0
+RELEASE=4.0
 
 # h2xs -Afn LibArchive
 # h2xs -an LibArchive /usr/include/archive.h /usr/include/archive_entry.h
@@ -9,7 +9,7 @@ RELEASE=3.0
 #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}
 
index d354918abe63ecd9abc41283697ba78554f569e0..0097206bd100fcaac8a21869645a48027f8cdf8c 100644 (file)
@@ -1,3 +1,9 @@
+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
index 3daf11363d65c99baac56d9926277e36785ec77d..f75b940bbfafa1a7c4aa7a4700678f8bd4cfe340 100644 (file)
@@ -8,6 +8,6 @@ Standards-Version: 3.7.2
 
 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.