Upgrade to libarchive 2.1.9. Including bug fixes, this improves ar support
authorPeter Avalos <pavalos@dragonflybsd.org>
Fri, 27 Apr 2007 22:56:18 +0000 (22:56 +0000)
committerPeter Avalos <pavalos@dragonflybsd.org>
Fri, 27 Apr 2007 22:56:18 +0000 (22:56 +0000)
and adds read/write_compress_program.

Discussed-with:  joerg

lib/libarchive/Makefile
lib/libarchive/config.h
lib/libarchive/patches/archive_platform.h.patch
lib/libarchive/patches/archive_read_support_format_all.c.patch [deleted file]
lib/libarchive/patches/archive_write_disk_set_standard_lookup.c.patch [deleted file]
usr.bin/tar/Makefile
usr.bin/tar/patches/bsdtar_platform.h.patch

index a4b11ea..37102e1 100644 (file)
@@ -1,10 +1,10 @@
 # $FreeBSD: src/lib/libarchive/Makefile,v 1.50 2006/09/05 05:59:45 kientzle Exp $
-# $DragonFly: src/lib/libarchive/Makefile,v 1.8 2007/04/11 22:49:21 corecode Exp $
+# $DragonFly: src/lib/libarchive/Makefile,v 1.9 2007/04/27 22:56:18 pavalos Exp $
 
 LIB=   archive
 
 PATCHES!=      echo ${.CURDIR}/patches/*.patch
-CONTRIBDIR=    ${.CURDIR}/../../contrib/libarchive-2.0/libarchive
+CONTRIBDIR=    ${.CURDIR}/../../contrib/libarchive-2.1/libarchive
 .PATH: ${CONTRIBDIR}
 
 VERSION!=      cat ${CONTRIBDIR}/../version
@@ -33,7 +33,9 @@ SRCS= archive.h                                       \
        archive_read_support_compression_compress.c     \
        archive_read_support_compression_gzip.c         \
        archive_read_support_compression_none.c         \
+       archive_read_support_compression_program.c      \
        archive_read_support_format_all.c               \
+       archive_read_support_format_ar.c                \
        archive_read_support_format_cpio.c              \
        archive_read_support_format_empty.c             \
        archive_read_support_format_iso9660.c           \
@@ -53,12 +55,15 @@ SRCS=       archive.h                                       \
        archive_write_set_compression_bzip2.c           \
        archive_write_set_compression_gzip.c            \
        archive_write_set_compression_none.c            \
+       archive_write_set_compression_program.c         \
        archive_write_set_format.c                      \
+       archive_write_set_format_ar.c                   \
        archive_write_set_format_by_name.c              \
        archive_write_set_format_cpio.c                 \
        archive_write_set_format_pax.c                  \
        archive_write_set_format_shar.c                 \
-       archive_write_set_format_ustar.c
+       archive_write_set_format_ustar.c                \
+       filter_fork.c
 
 SRCS+= ${PATCHES}
 
@@ -69,6 +74,7 @@ MAN=  archive_entry.3                                 \
        archive_write_disk.3                            \
        libarchive.3                                    \
        libarchive-formats.5                            \
+       libarchive_internals.3                          \
        tar.5
 
 MLINKS+=       archive_entry.3 archive_entry_acl_add_entry.3
index 6ed8531..b9321cb 100644 (file)
@@ -1,5 +1,5 @@
-/* $DragonFly: src/lib/libarchive/config.h,v 1.5 2007/04/07 14:10:27 pavalos Exp $ */
-/* config.h.  Generated by configure.  */
+/* $DragonFly: src/lib/libarchive/config.h,v 1.6 2007/04/27 22:56:18 pavalos Exp $ */
+/* config.h.  Generated from config.h.in by configure.  */
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
 /* Define to 1 if you have the `acl_create_entry' function. */
 /* Define to 1 if you have the `chflags' function. */
 #define HAVE_CHFLAGS 1
 
+/* Define to 1 if you have the declaration of `INT64_MAX', and to 0 if you
+   don't. */
+#define HAVE_DECL_INT64_MAX 1
+
+/* Define to 1 if you have the declaration of `INT64_MIN', and to 0 if you
+   don't. */
+#define HAVE_DECL_INT64_MIN 1
+
+/* Define to 1 if you have the declaration of `SIZE_MAX', and to 0 if you
+   don't. */
+#define HAVE_DECL_SIZE_MAX 1
+
 /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
    don't. */
 #define HAVE_DECL_STRERROR_R 1
 
+/* Define to 1 if you have the declaration of `UINT32_MAX', and to 0 if you
+   don't. */
+#define HAVE_DECL_UINT32_MAX 1
+
+/* Define to 1 if you have the declaration of `UINT64_MAX', and to 0 if you
+   don't. */
+#define HAVE_DECL_UINT64_MAX 1
+
 /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
    */
 #define HAVE_DIRENT_H 1
 /* Define to 1 if you have the <paths.h> header file. */
 #define HAVE_PATHS_H 1
 
+/* Define to 1 if you have the `poll' function. */
+#define HAVE_POLL 1
+
+/* Define to 1 if you have the <poll.h> header file. */
+#define HAVE_POLL_H 1
+
 /* Define to 1 if you have the <pwd.h> header file. */
 #define HAVE_PWD_H 1
 
 /* Define to 1 if you have the `reallocf' function. */
 #define HAVE_REALLOCF 1
 
+/* Define to 1 if you have the `select' function. */
+#define HAVE_SELECT 1
+
 /* Define to 1 if you have the `setlocale' function. */
 #define HAVE_SETLOCALE 1
 
 /* Define to 1 if `st_rdev' is member of `struct stat'. */
 #define HAVE_STRUCT_STAT_ST_RDEV 1
 
+/* Define to 1 if `tm_gmtoff' is member of `struct tm'. */
+#define HAVE_STRUCT_TM_TM_GMTOFF 1
+
 /* Define to 1 if you have the <sys/acl.h> header file. */
 #define HAVE_SYS_ACL_H 1
 
 /* Define to 1 if you have the <sys/param.h> header file. */
 #define HAVE_SYS_PARAM_H 1
 
+/* Define to 1 if you have the <sys/select.h> header file. */
+#define HAVE_SYS_SELECT_H 1
+
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #define HAVE_SYS_STAT_H 1
 
 /* Define to 1 if you have the <unistd.h> header file. */
 #define HAVE_UNISTD_H 1
 
+/* Define to 1 if you have the `utime' function. */
+#define HAVE_UTIME 1
+
+/* Define to 1 if you have the `utimes' function. */
+#define HAVE_UTIMES 1
+
+/* Define to 1 if you have the <utime.h> header file. */
+#define HAVE_UTIME_H 1
+
 /* Define to 1 if you have the `vprintf' function. */
 #define HAVE_VPRINTF 1
 
 /* Define to 1 if you have the <wchar.h> header file. */
 #define HAVE_WCHAR_H 1
 
+/* Define to 1 if you have the `wcscpy' function. */
+#define HAVE_WCSCPY 1
+
+/* Define to 1 if you have the `wcslen' function. */
+#define HAVE_WCSLEN 1
+
+/* Define to 1 if you have the `wmemcmp' function. */
+#define HAVE_WMEMCMP 1
+
+/* Define to 1 if you have the `wmemcpy' function. */
+#define HAVE_WMEMCPY 1
+
 /* Define to 1 if you have the <zlib.h> header file. */
 #define HAVE_ZLIB_H 1
 
 #define PACKAGE_NAME "libarchive"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "libarchive 2.0.28"
+#define PACKAGE_STRING "libarchive 2.1.9"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "libarchive"
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.0.28"
+#define PACKAGE_VERSION "2.1.9"
 
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
 #define TIME_WITH_SYS_TIME 1
 
 /* Version number of package */
-#define VERSION "2.0.28"
+#define VERSION "2.1.9"
 
 /* Number of bits in a file offset, on hosts where this is settable. */
 /* #undef _FILE_OFFSET_BITS */
 /* Define to `int64_t' if <sys/types.h> does not define. */
 /* #undef off_t */
 
-/* Define to `unsigned' if <sys/types.h> does not define. */
+/* Define to `unsigned int' if <sys/types.h> does not define. */
 /* #undef size_t */
 
 /* Define to `_uint64_t' if <sys/types.h> does not define. */
 
 /* Define to `uint64_t' if <sys/types.h> does not define. */
 /* #undef uintmax_t */
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef uintptr_t */
index 85aaa47..1b46d51 100644 (file)
@@ -1,12 +1,12 @@
-$DragonFly: src/lib/libarchive/patches/Attic/archive_platform.h.patch,v 1.4 2007/03/26 00:03:44 pavalos Exp $
---- archive_platform.h.orig    2007-03-25 17:03:13.000000000 -0400
-+++ archive_platform.h 2007-03-25 17:03:35.000000000 -0400
-@@ -38,7 +38,7 @@
- #if defined(HAVE_CONFIG_H)
+$DragonFly: src/lib/libarchive/patches/Attic/archive_platform.h.patch,v 1.5 2007/04/27 22:56:18 pavalos Exp $
+--- archive_platform.h.orig    2007-04-22 16:12:59.000000000 -0400
++++ archive_platform.h 2007-04-22 16:13:09.000000000 -0400
+@@ -41,7 +41,7 @@
+ #include PLATFORM_CONFIG_H
+ #elif defined(HAVE_CONFIG_H)
  /* Most POSIX platforms use the 'configure' script to build config.h */
 -#include "../config.h"
 +#include "config.h"
- #elif defined(__FreeBSD__)
- /* Building as part of FreeBSD system requires a pre-built config.h. */
- #include "config_freebsd.h"
+ #else
+ /* Warn if the library hasn't been (automatically or manually) configured. */
+ #error Oops: No config.h and no pre-built configuration in archive_platform.h.
diff --git a/lib/libarchive/patches/archive_read_support_format_all.c.patch b/lib/libarchive/patches/archive_read_support_format_all.c.patch
deleted file mode 100644 (file)
index bfb092e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-$DragonFly: src/lib/libarchive/patches/Attic/archive_read_support_format_all.c.patch,v 1.1 2007/04/11 22:49:22 corecode Exp $
-Index: archive_read_support_format_all.c
-===================================================================
-RCS file: /home/dcvs/src/contrib/libarchive-2.0/libarchive/archive_read_support_format_all.c,v
-retrieving revision 1.1.1.2
-diff -u -p -r1.1.1.2 archive_read_support_format_all.c
---- archive_read_support_format_all.c  7 Apr 2007 14:04:55 -0000       1.1.1.2
-+++ archive_read_support_format_all.c  11 Apr 2007 22:34:40 -0000
-@@ -31,7 +31,6 @@ 
- int
- archive_read_support_format_all(struct archive *a)
- {
--      archive_read_support_format_ar(a);
-       archive_read_support_format_cpio(a);
-       archive_read_support_format_empty(a);
-       archive_read_support_format_iso9660(a);
diff --git a/lib/libarchive/patches/archive_write_disk_set_standard_lookup.c.patch b/lib/libarchive/patches/archive_write_disk_set_standard_lookup.c.patch
deleted file mode 100644 (file)
index 215a286..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-$DragonFly: src/lib/libarchive/patches/Attic/archive_write_disk_set_standard_lookup.c.patch,v 1.1 2007/04/21 17:44:12 pavalos Exp $
-Index: archive_write_disk_set_standard_lookup.c
-===================================================================
-RCS file: /archive/FreeBSD-CVS/src/lib/libarchive/archive_write_disk_set_standard_lookup.c,v
-retrieving revision 1.1
-retrieving revision 1.2
-diff -u -r1.1 -r1.2
---- archive_write_disk_set_standard_lookup.c   3 Mar 2007 07:37:36 -0000       1.1
-+++ archive_write_disk_set_standard_lookup.c   20 Apr 2007 15:32:13 -0000      1.2
-@@ -24,7 +24,7 @@
-  */
- #include "archive_platform.h"
--__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk_set_standard_lookup.c,v 1.1 2007/03/03 07:37:36 kientzle Exp $");
-+__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_disk_set_standard_lookup.c,v 1.2 2007/04/20 15:32:13 kientzle Exp $");
- #ifdef HAVE_SYS_TYPES_H
- #include <sys/types.h>
-@@ -72,6 +72,7 @@
-       id_t     id;
- };
-+static const size_t cache_size = 127;
- static unsigned int   hash(const char *);
- static gid_t  lookup_gid(void *, const char *uname, gid_t);
- static uid_t  lookup_uid(void *, const char *uname, uid_t);
-@@ -99,10 +100,10 @@
- int
- archive_write_disk_set_standard_lookup(struct archive *a)
- {
--      struct bucket *ucache = malloc(sizeof(struct bucket[127]));
--      struct bucket *gcache = malloc(sizeof(struct bucket[127]));
--      memset(ucache, 0, sizeof(struct bucket[127]));
--      memset(gcache, 0, sizeof(struct bucket[127]));
-+      struct bucket *ucache = malloc(sizeof(struct bucket[cache_size]));
-+      struct bucket *gcache = malloc(sizeof(struct bucket[cache_size]));
-+      memset(ucache, 0, sizeof(struct bucket[cache_size]));
-+      memset(gcache, 0, sizeof(struct bucket[cache_size]));
-       archive_write_disk_set_group_lookup(a, gcache, lookup_gid, cleanup);
-       archive_write_disk_set_user_lookup(a, ucache, lookup_uid, cleanup);
-       return (ARCHIVE_OK);
-@@ -113,11 +114,8 @@
- {
-       int h;
-       struct bucket *b;
--      int cache_size;
-       struct bucket *gcache = (struct bucket *)private_data;
--      cache_size = 127;
--
-       /* If no gname, just use the gid provided. */
-       if (gname == NULL || *gname == '\0')
-               return (gid);
-@@ -153,11 +151,8 @@
- {
-       int h;
-       struct bucket *b;
--      int cache_size;
-       struct bucket *ucache = (struct bucket *)private_data;
--      cache_size = 127;
--
-       /* If no uname, just use the uid provided. */
-       if (uname == NULL || *uname == '\0')
-               return (uid);
-@@ -191,7 +186,12 @@
- static void
- cleanup(void *private)
- {
--      free(private);
-+      size_t i;
-+      struct bucket *cache = (struct bucket *)private;
-+
-+      for (i = 0; i < cache_size; i++)
-+              free(cache[i].name);
-+      free(cache);
- }
index c458119..0088506 100644 (file)
@@ -1,4 +1,4 @@
-# $DragonFly: src/usr.bin/tar/Makefile,v 1.7 2007/03/26 00:03:44 pavalos Exp $
+# $DragonFly: src/usr.bin/tar/Makefile,v 1.8 2007/04/27 22:56:18 pavalos Exp $
 
 PROG=  bsdtar
 SRCS=  bsdtar.c getdate.y matching.c read.c tree.c util.c write.c
@@ -8,7 +8,7 @@ LDADD=  -larchive -lbz2 -lz
 NOSHARED?=     yes
 
 PATCHES!=      echo ${.CURDIR}/patches/*.patch
-CONTRIBDIR=    ${.CURDIR}/../../contrib/libarchive-2.0/tar
+CONTRIBDIR=    ${.CURDIR}/../../contrib/libarchive-2.1/tar
 .PATH: ${CONTRIBDIR}
 SRCS+= ${PATCHES}
 CFLAGS+=       -I${.OBJDIR} -I${.CURDIR}/../../lib/libarchive -I${CONTRIBDIR} -I-
index b01e206..7832992 100644 (file)
@@ -1,13 +1,12 @@
-$DragonFly: src/usr.bin/tar/patches/Attic/bsdtar_platform.h.patch,v 1.1 2006/09/18 01:47:10 pavalos Exp $
-
---- bsdtar_platform.h.orig     2006-09-17 12:41:40.000000000 -0700
-+++ bsdtar_platform.h  2006-09-17 12:42:02.000000000 -0700
-@@ -36,7 +36,7 @@
- #define       BSDTAR_PLATFORM_H_INCLUDED
- #if HAVE_CONFIG_H
+$DragonFly: src/usr.bin/tar/patches/Attic/bsdtar_platform.h.patch,v 1.2 2007/04/27 22:56:18 pavalos Exp $
+--- bsdtar_platform.h.orig     2007-04-22 16:19:24.000000000 -0400
++++ bsdtar_platform.h  2007-04-22 16:19:35.000000000 -0400
+@@ -39,7 +39,7 @@
+ #include PLATFORM_CONFIG_H
+ #elif defined(HAVE_CONFIG_H)
+ /* Most POSIX platforms use the 'configure' script to build config.h */
 -#include "../config.h"
 +#include "config.h"
  #else
- #ifdef __FreeBSD__
+ /* Warn if bsdtar hasn't been (automatically or manually) configured. */
+ #error Oops: No config.h and no built-in configuration in bsdtar_platform.h.