aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--archivers/gtar/Makefile11
-rw-r--r--archivers/gtar/distinfo6
-rw-r--r--archivers/gtar/files/patch-configure23
-rw-r--r--archivers/gtar/files/patch-gnu_Makefile.in15
-rw-r--r--archivers/gtar/files/patch-gnu_dirent.in.h16
-rw-r--r--archivers/gtar/files/patch-lib_Makefile.in14
-rw-r--r--archivers/gtar/files/patch-lib_rtapelib.c28
-rw-r--r--archivers/gtar/files/patch-src_incremen.c23
-rw-r--r--archivers/gtar/files/patch-src_names.c14
-rw-r--r--archivers/gtar/files/patch-tests_gzip.at12
10 files changed, 60 insertions, 102 deletions
diff --git a/archivers/gtar/Makefile b/archivers/gtar/Makefile
index 5aceaf271bd0..9a10ed294382 100644
--- a/archivers/gtar/Makefile
+++ b/archivers/gtar/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= tar
-PORTVERSION= 1.22
-PORTREVISION= 3
+PORTVERSION= 1.23
CATEGORIES= archivers sysutils
MASTER_SITES= ${MASTER_SITE_GNU}
MASTER_SITE_SUBDIR= ${PORTNAME}
@@ -16,8 +15,8 @@ PKGNAMEPREFIX= g
MAINTAINER= naddy@FreeBSD.org
COMMENT= GNU version of the traditional tape archiver
-RUN_DEPENDS= lzop:${PORTSDIR}/archivers/lzop \
- xz:${PORTSDIR}/archivers/xz
+# only force dependencies for compressors that have a single-letter option
+RUN_DEPENDS= xz:${PORTSDIR}/archivers/xz
INFO= tar
@@ -26,7 +25,8 @@ USE_BZIP2= yes
USE_ICONV= yes
GNU_CONFIGURE= yes
MAKE_JOBS_SAFE= yes
-CONFIGURE_ARGS= --program-prefix=g
+CONFIGURE_ARGS= --program-prefix=g \
+ --disable-silent-rules
CONFIGURE_ENV= CPPFLAGS='-I${LOCALBASE}/include' \
LDFLAGS='-L${LOCALBASE}/lib ${LDSTATIC}' \
DEFAULT_ARCHIVE=/dev/sa0 \
@@ -34,6 +34,7 @@ CONFIGURE_ENV= CPPFLAGS='-I${LOCALBASE}/include' \
.if defined(WANT_STATIC)
LDSTATIC= -static
+MAKE_ARGS+= LIBINTL='$$(LTLIBINTL)' LIBICONV='$$(LTLIBICONV)'
.else
LDSTATIC=
.endif
diff --git a/archivers/gtar/distinfo b/archivers/gtar/distinfo
index 2275687ad382..05f8346061d6 100644
--- a/archivers/gtar/distinfo
+++ b/archivers/gtar/distinfo
@@ -1,3 +1,3 @@
-MD5 (tar-1.22.tar.bz2) = 07fa517027f426bb80f5f5ff91b63585
-SHA256 (tar-1.22.tar.bz2) = 3cefb67f197a3f8f5235999fe749ced0889466a71ddcbc96fddca84e5d53aa4d
-SIZE (tar-1.22.tar.bz2) = 2094575
+MD5 (tar-1.23.tar.bz2) = 41e2ca4b924ec7860e51b43ad06cdb7e
+SHA256 (tar-1.23.tar.bz2) = c9328372db62fbb1d94c9e4e3cefc961111af46de47085b635359c00a0eebe36
+SIZE (tar-1.23.tar.bz2) = 2189324
diff --git a/archivers/gtar/files/patch-configure b/archivers/gtar/files/patch-configure
deleted file mode 100644
index a093b86461d5..000000000000
--- a/archivers/gtar/files/patch-configure
+++ /dev/null
@@ -1,23 +0,0 @@
-
-$FreeBSD$
-
---- configure.orig 2008-12-28 16:50:16.000000000 +0100
-+++ configure 2008-12-28 16:50:43.000000000 +0100
-@@ -40829,7 +40829,7 @@
- NEXT_FLOAT_H!$NEXT_FLOAT_H$ac_delim
- FLOAT_H!$FLOAT_H$ac_delim
- FNMATCH_H!$FNMATCH_H$ac_delim
--LIBINTL!$LIBINTL$ac_delim
-+LIBINTL!$LTLIBINTL$ac_delim
- LTLIBINTL!$LTLIBINTL$ac_delim
- NEXT_SYS_TIME_H!$NEXT_SYS_TIME_H$ac_delim
- HAVE_SYS_TIME_H!$HAVE_SYS_TIME_H$ac_delim
-@@ -41101,7 +41101,7 @@
- DEFAULT_ARCHIVE!$DEFAULT_ARCHIVE$ac_delim
- DEFAULT_BLOCKING!$DEFAULT_BLOCKING$ac_delim
- DEFAULT_QUOTING_STYLE!$DEFAULT_QUOTING_STYLE$ac_delim
--LIBICONV!$LIBICONV$ac_delim
-+LIBICONV!$LTLIBICONV$ac_delim
- LTLIBICONV!$LTLIBICONV$ac_delim
- USE_NLS!$USE_NLS$ac_delim
- GETTEXT_MACRO_VERSION!$GETTEXT_MACRO_VERSION$ac_delim
diff --git a/archivers/gtar/files/patch-gnu_Makefile.in b/archivers/gtar/files/patch-gnu_Makefile.in
new file mode 100644
index 000000000000..3477e898899c
--- /dev/null
+++ b/archivers/gtar/files/patch-gnu_Makefile.in
@@ -0,0 +1,15 @@
+$FreeBSD$
+
+Don't install lib/charset.alias.
+
+--- gnu/Makefile.in.orig 2010-03-17 21:55:42.000000000 +0100
++++ gnu/Makefile.in 2010-03-17 21:56:32.000000000 +0100
+@@ -1860,7 +1860,7 @@ langinfo.h: langinfo.in.h $(CXXDEFS_H) $
+ # avoid installing it.
+
+ all-local: charset.alias ref-add.sed ref-del.sed
+-install-exec-local: install-exec-localcharset
++install-exec-local:
+ install-exec-localcharset: all-local
+ if test $(GLIBC21) = no; then \
+ case '$(host_os)' in \
diff --git a/archivers/gtar/files/patch-gnu_dirent.in.h b/archivers/gtar/files/patch-gnu_dirent.in.h
new file mode 100644
index 000000000000..857d9bf2c0f4
--- /dev/null
+++ b/archivers/gtar/files/patch-gnu_dirent.in.h
@@ -0,0 +1,16 @@
+$FreeBSD$
+
+7.x up to 7.3 lacks the fdopendir() prototype in <dirent.h>.
+
+--- gnu/dirent.in.h.orig 2010-03-29 17:48:45.000000000 +0200
++++ gnu/dirent.in.h 2010-03-29 17:49:00.000000000 +0200
+@@ -79,9 +79,7 @@ _GL_WARN_ON_USE (dirfd, "dirfd is unport
+ _GL_FUNCDECL_RPL (fdopendir, DIR *, (int fd));
+ _GL_CXXALIAS_RPL (fdopendir, DIR *, (int fd));
+ # else
+-# if !@HAVE_FDOPENDIR@
+ _GL_FUNCDECL_SYS (fdopendir, DIR *, (int fd));
+-# endif
+ _GL_CXXALIAS_SYS (fdopendir, DIR *, (int fd));
+ # endif
+ _GL_CXXALIASWARN (fdopendir);
diff --git a/archivers/gtar/files/patch-lib_Makefile.in b/archivers/gtar/files/patch-lib_Makefile.in
deleted file mode 100644
index 463b9a8fe2bb..000000000000
--- a/archivers/gtar/files/patch-lib_Makefile.in
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- lib/Makefile.in.orig
-+++ lib/Makefile.in
-@@ -938,7 +938,7 @@
-
- install-data-am:
-
--install-exec-am: install-exec-local
-+install-exec-am:
-
- install-info: install-info-am
-
diff --git a/archivers/gtar/files/patch-lib_rtapelib.c b/archivers/gtar/files/patch-lib_rtapelib.c
deleted file mode 100644
index e6c81e14a0aa..000000000000
--- a/archivers/gtar/files/patch-lib_rtapelib.c
+++ /dev/null
@@ -1,28 +0,0 @@
-
-$FreeBSD$
-
---- lib/rtapelib.c.orig
-+++ lib/rtapelib.c
-@@ -570,7 +570,8 @@
-
- sprintf (command_buffer, "R%lu\n", (unsigned long) length);
- if (do_command (handle, command_buffer) == -1
-- || (status = get_status (handle)) == SAFE_READ_ERROR)
-+ || (status = get_status (handle)) == SAFE_READ_ERROR
-+ || status > length)
- return SAFE_READ_ERROR;
-
- for (counter = 0; counter < status; counter += rlen, buffer += rlen)
-@@ -706,6 +707,12 @@
- || (status = get_status (handle), status == -1))
- return -1;
-
-+ if (status > sizeof (struct mtop))
-+ {
-+ errno = EOVERFLOW;
-+ return -1;
-+ }
-+
- for (; status > 0; status -= counter, argument += counter)
- {
- counter = safe_read (READ_SIDE (handle), argument, status);
diff --git a/archivers/gtar/files/patch-src_incremen.c b/archivers/gtar/files/patch-src_incremen.c
deleted file mode 100644
index 57a7af62940e..000000000000
--- a/archivers/gtar/files/patch-src_incremen.c
+++ /dev/null
@@ -1,23 +0,0 @@
-
-$FreeBSD$
-
---- src/incremen.c.orig
-+++ src/incremen.c
-@@ -870,7 +870,7 @@
- time_t sec;
- long int nsec;
- char *buf = 0;
-- size_t bufsize;
-+ size_t bufsize = 0;
- char *ebuf;
- long lineno = 1;
-
-@@ -1230,7 +1230,7 @@
- {
- int fd;
- char *buf = 0;
-- size_t bufsize;
-+ size_t bufsize = 0;
-
- /* Open the file for both read and write. That way, we can write
- it later without having to reopen it, and don't have to worry if
diff --git a/archivers/gtar/files/patch-src_names.c b/archivers/gtar/files/patch-src_names.c
new file mode 100644
index 000000000000..011f2d79ee0e
--- /dev/null
+++ b/archivers/gtar/files/patch-src_names.c
@@ -0,0 +1,14 @@
+$FreeBSD$
+
+Fix an instance of use-after-free(), from upstream.
+
+--- src/names.c.orig 2010-03-27 21:57:39.000000000 +0100
++++ src/names.c 2010-03-27 21:58:02.000000000 +0100
+@@ -950,6 +950,7 @@ collect_and_sort_names (void)
+ {
+ if (p->child)
+ rebase_child_list (p->child, name);
++ hash_delete (nametab, name);
+ /* FIXME: remove_directory (p->caname); ? */
+ remname (p);
+ free_name (p);
diff --git a/archivers/gtar/files/patch-tests_gzip.at b/archivers/gtar/files/patch-tests_gzip.at
index d7c2cfedd22f..4a0f89779114 100644
--- a/archivers/gtar/files/patch-tests_gzip.at
+++ b/archivers/gtar/files/patch-tests_gzip.at
@@ -1,15 +1,15 @@
-$FreeBSD: /tmp/pcvs/ports/archivers/gtar/files/Attic/patch-tests_gzip.at,v 1.1 2008-12-30 17:41:11 naddy Exp $
+$FreeBSD: /tmp/pcvs/ports/archivers/gtar/files/Attic/patch-tests_gzip.at,v 1.2 2010-03-29 17:36:25 naddy Exp $
---- tests/gzip.at.orig
-+++ tests/gzip.at
-@@ -32,8 +32,7 @@
+--- tests/gzip.at.orig 2010-01-26 12:30:21.000000000 +0100
++++ tests/gzip.at 2010-03-17 21:41:11.000000000 +0100
+@@ -31,8 +31,7 @@ tar xfvz /dev/null
],
- [0],
+ [2],
[],
-[
-gzip: stdin: unexpected end of file
+[gzip: (stdin): unexpected end of file
tar: Child returned status 1
- tar: Error exit delayed from previous errors
+ tar: Error is not recoverable: exiting now
],