aboutsummaryrefslogtreecommitdiff
path: root/archivers
diff options
context:
space:
mode:
authorChristian Weisgerber <naddy@FreeBSD.org>2004-04-28 21:00:26 +0000
committerChristian Weisgerber <naddy@FreeBSD.org>2004-04-28 21:00:26 +0000
commit91241807188077761afc654eda1b0a2fe303ede5 (patch)
treeacee5a682ac048cf5119107e5c991a83d932a389 /archivers
parentf73c24c04c6024e6acc2fb146f9226588915126f (diff)
downloadports-91241807188077761afc654eda1b0a2fe303ede5.tar.gz
ports-91241807188077761afc654eda1b0a2fe303ede5.zip
Update to 1.13.94 and jettison private FreeBSD modifications.
Notable changes in this release: - Support for POSIX.1-2001 and ustar archive formats. - Various option flag changes. - New message translations. - Bug fixes.
Notes
Notes: svn path=/head/; revision=107881
Diffstat (limited to 'archivers')
-rw-r--r--archivers/gtar/Makefile16
-rw-r--r--archivers/gtar/distinfo4
-rw-r--r--archivers/gtar/files/patch-configure86
-rw-r--r--archivers/gtar/files/patch-src::buffer.c14
-rw-r--r--archivers/gtar/files/patch-src::common.h25
-rw-r--r--archivers/gtar/files/patch-src::compare.c12
-rw-r--r--archivers/gtar/files/patch-src::create.c10
-rw-r--r--archivers/gtar/files/patch-src::extract.c45
-rw-r--r--archivers/gtar/files/patch-src::list.c51
-rw-r--r--archivers/gtar/files/patch-src::misc.c32
-rw-r--r--archivers/gtar/files/patch-src::names.c52
-rw-r--r--archivers/gtar/files/patch-src::rtapelib.c29
-rw-r--r--archivers/gtar/files/patch-src::tar.c201
-rw-r--r--archivers/gtar/pkg-plist11
14 files changed, 27 insertions, 561 deletions
diff --git a/archivers/gtar/Makefile b/archivers/gtar/Makefile
index 3f0d3dd61db4..580d03ecb9c4 100644
--- a/archivers/gtar/Makefile
+++ b/archivers/gtar/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= tar
-PORTVERSION= 1.13.25
-PORTREVISION= 8
+PORTVERSION= 1.13.94
CATEGORIES= archivers sysutils
MASTER_SITES= ${MASTER_SITE_GNU_ALPHA}
MASTER_SITE_SUBDIR= ${PORTNAME}
@@ -18,14 +17,13 @@ COMMENT= GNU version of the traditional tar archiver
INFO= tar
+USE_BZIP2= yes
USE_GETTEXT= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --program-prefix=g
CONFIGURE_ENV= CPPFLAGS='-I${LOCALBASE}/include' \
LDFLAGS='-L${LOCALBASE}/lib ${LDSTATIC}' \
- DEFAULT_ARCHIVE='/dev/sa0' \
- MAKEINFO='makeinfo --no-split' \
- am_cv_func_iconv=no
+ DEFAULT_ARCHIVE='/dev/sa0'
.if defined(WANT_STATIC)
LDSTATIC= -static
@@ -33,10 +31,4 @@ LDSTATIC= -static
LDSTATIC=
.endif
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} >= 470000
-IGNORE= is in the base system
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/archivers/gtar/distinfo b/archivers/gtar/distinfo
index 9c06154209a0..135f7fece51f 100644
--- a/archivers/gtar/distinfo
+++ b/archivers/gtar/distinfo
@@ -1,2 +1,2 @@
-MD5 (tar-1.13.25.tar.gz) = 6ef8c906e81eee441f8335652670ac4a
-SIZE (tar-1.13.25.tar.gz) = 1312227
+MD5 (tar-1.13.94.tar.bz2) = ff0c45f0158f92d76b46ec9181b25ae6
+SIZE (tar-1.13.94.tar.bz2) = 1050554
diff --git a/archivers/gtar/files/patch-configure b/archivers/gtar/files/patch-configure
deleted file mode 100644
index 804028c3abf4..000000000000
--- a/archivers/gtar/files/patch-configure
+++ /dev/null
@@ -1,86 +0,0 @@
---- configure.orig Wed Aug 29 23:44:29 2001
-+++ configure Sat Sep 8 07:57:39 2001
-@@ -3734,9 +3734,9 @@
- fi
-
- test $jm_cv_func_decl_free != yes
--
-+ac_status=$?
- cat >>confdefs.h <<EOF
--#define HAVE_DECL_FREE $?
-+#define HAVE_DECL_FREE $ac_status
- EOF
-
- echo "$as_me:3742: checking whether getgrgid is declared" >&5
-@@ -3791,9 +3791,9 @@
- fi
-
- test $jm_cv_func_decl_getgrgid != yes
--
-+ac_status=$?
- cat >>confdefs.h <<EOF
--#define HAVE_DECL_GETGRGID $?
-+#define HAVE_DECL_GETGRGID $ac_status
- EOF
-
- echo "$as_me:3799: checking whether getpwuid is declared" >&5
-@@ -3848,9 +3848,9 @@
- fi
-
- test $jm_cv_func_decl_getpwuid != yes
--
-+ac_status=$?
- cat >>confdefs.h <<EOF
--#define HAVE_DECL_GETPWUID $?
-+#define HAVE_DECL_GETPWUID $ac_status
- EOF
-
- echo "$as_me:3856: checking whether getenv is declared" >&5
-@@ -3905,9 +3905,9 @@
- fi
-
- test $jm_cv_func_decl_getenv != yes
--
-+ac_status=$?
- cat >>confdefs.h <<EOF
--#define HAVE_DECL_GETENV $?
-+#define HAVE_DECL_GETENV $ac_status
- EOF
-
- echo "$as_me:3913: checking whether malloc is declared" >&5
-@@ -3962,9 +3962,9 @@
- fi
-
- test $jm_cv_func_decl_malloc != yes
--
-+ac_status=$?
- cat >>confdefs.h <<EOF
--#define HAVE_DECL_MALLOC $?
-+#define HAVE_DECL_MALLOC $ac_status
- EOF
-
- echo "$as_me:3970: checking whether strtoul is declared" >&5
-@@ -4019,9 +4019,9 @@
- fi
-
- test $jm_cv_func_decl_strtoul != yes
--
-+ac_status=$?
- cat >>confdefs.h <<EOF
--#define HAVE_DECL_STRTOUL $?
-+#define HAVE_DECL_STRTOUL $ac_status
- EOF
-
- echo "$as_me:4027: checking whether strtoull is declared" >&5
-@@ -4076,9 +4076,9 @@
- fi
-
- test $jm_cv_func_decl_strtoull != yes
--
-+ac_status=$?
- cat >>confdefs.h <<EOF
--#define HAVE_DECL_STRTOULL $?
-+#define HAVE_DECL_STRTOULL $ac_status
- EOF
-
- echo "$as_me:4084: checking which ioctl field to test for reversed bytes" >&5
diff --git a/archivers/gtar/files/patch-src::buffer.c b/archivers/gtar/files/patch-src::buffer.c
deleted file mode 100644
index f0346806ed87..000000000000
--- a/archivers/gtar/files/patch-src::buffer.c
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- src/buffer.c 2002/06/01 21:08:46 1.1
-+++ src/buffer.c 2002/06/01 21:09:16
-@@ -1540,7 +1540,7 @@
- child = xfork ();
- if (child == 0)
- {
-- execlp (shell, "-sh", "-i", 0);
-+ execlp (shell, "-sh", "-i", (char *) 0);
- exec_fatal (shell);
- }
- else
diff --git a/archivers/gtar/files/patch-src::common.h b/archivers/gtar/files/patch-src::common.h
deleted file mode 100644
index 6215a44754ac..000000000000
--- a/archivers/gtar/files/patch-src::common.h
+++ /dev/null
@@ -1,25 +0,0 @@
-
-$FreeBSD$
-
---- src/common.h 2002/06/01 21:08:46 1.1
-+++ src/common.h 2002/06/01 21:09:16
-@@ -152,6 +152,9 @@
- /* Patterns that match file names to be excluded. */
- GLOBAL struct exclude *excluded;
-
-+/* Boolean value. */
-+GLOBAL int fast_read_option;
-+
- /* Specified file containing names to work on. */
- GLOBAL const char *files_from_option;
-
-@@ -195,6 +198,9 @@
-
- /* Boolean value. */
- GLOBAL int multi_volume_option;
-+
-+/* Boolean value. */
-+GLOBAL int namelist_freed;
-
- /* The same variable hold the time, whether mtime or ctime. Just fake a
- non-existing option, for making the code clearer, elsewhere. */
diff --git a/archivers/gtar/files/patch-src::compare.c b/archivers/gtar/files/patch-src::compare.c
index f6c79e504590..6252f1f4bdcc 100644
--- a/archivers/gtar/files/patch-src::compare.c
+++ b/archivers/gtar/files/patch-src::compare.c
@@ -1,14 +1,14 @@
$FreeBSD$
---- src/compare.c 2002/06/01 21:08:46 1.1
-+++ src/compare.c 2002/06/01 21:09:16
-@@ -565,7 +565,7 @@
- size_t len = strlen (current_link_name);
+--- src/compare.c.orig Sun Apr 4 11:53:30 2004
++++ src/compare.c Thu Apr 22 17:50:16 2004
+@@ -327,7 +327,7 @@
+ size_t len = strlen (current_stat_info.link_name);
char *linkbuf = alloca (len + 1);
-- status = readlink (current_file_name, linkbuf, len + 1);
-+ status = readlink (current_file_name, linkbuf, len);
+- status = readlink (current_stat_info.file_name, linkbuf, len + 1);
++ status = readlink (current_stat_info.file_name, linkbuf, len);
if (status < 0)
{
diff --git a/archivers/gtar/files/patch-src::create.c b/archivers/gtar/files/patch-src::create.c
index f012ae313219..1dc168a8f691 100644
--- a/archivers/gtar/files/patch-src::create.c
+++ b/archivers/gtar/files/patch-src::create.c
@@ -1,14 +1,14 @@
$FreeBSD$
---- src/create.c 2002/06/01 21:08:46 1.1
-+++ src/create.c 2002/06/01 21:09:16
-@@ -1473,7 +1473,7 @@
- if (linklen != current_stat.st_size || linklen + 1 == 0)
+--- src/create.c.orig Thu Apr 22 17:51:04 2004
++++ src/create.c Thu Apr 22 17:51:24 2004
+@@ -1408,7 +1408,7 @@
+ if (linklen != stat->stat.st_size || linklen + 1 == 0)
xalloc_die ();
buffer = (char *) alloca (linklen + 1);
- size = readlink (p, buffer, linklen + 1);
+ size = readlink (p, buffer, linklen);
if (size < 0)
{
- if (ignore_failed_read_option)
+ readlink_diag (p);
diff --git a/archivers/gtar/files/patch-src::extract.c b/archivers/gtar/files/patch-src::extract.c
deleted file mode 100644
index e49d24faf86b..000000000000
--- a/archivers/gtar/files/patch-src::extract.c
+++ /dev/null
@@ -1,45 +0,0 @@
-
-$FreeBSD$
-
---- src/extract.c.orig Mon Sep 24 20:55:17 2001
-+++ src/extract.c Wed Oct 2 19:10:55 2002
-@@ -19,6 +19,8 @@
- with this program; if not, write to the Free Software Foundation, Inc.,
- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-+/* $FreeBSD$ */
-+
- #include "system.h"
- #include <quotearg.h>
-
-@@ -110,7 +112,9 @@
- extr_init (void)
- {
- we_are_root = geteuid () == 0;
-+#ifndef __FreeBSD__
- same_permissions_option += we_are_root;
-+#endif
- same_owner_option += we_are_root;
- xalloc_fail_func = extract_finish;
-
-@@ -1019,10 +1023,19 @@
- {
- struct stat st1, st2;
- int e;
-+ size_t skiplinkcrud;
-+
-+ if (absolute_names_option)
-+ skiplinkcrud = 0;
-+ else {
-+ skiplinkcrud = FILESYSTEM_PREFIX_LEN (current_link_name);
-+ while (ISSLASH (current_link_name[skiplinkcrud]))
-+ skiplinkcrud++;
-+ }
-
- /* MSDOS does not implement links. However, djgpp's link() actually
- copies the file. */
-- status = link (current_link_name, CURRENT_FILE_NAME);
-+ status = link (current_link_name + skiplinkcrud, CURRENT_FILE_NAME);
-
- if (status == 0)
- {
diff --git a/archivers/gtar/files/patch-src::list.c b/archivers/gtar/files/patch-src::list.c
deleted file mode 100644
index 4709199d176c..000000000000
--- a/archivers/gtar/files/patch-src::list.c
+++ /dev/null
@@ -1,51 +0,0 @@
-
-$FreeBSD$
-
---- src/list.c.orig Wed Sep 26 23:05:04 2001
-+++ src/list.c Tue Jun 4 15:05:15 2002
-@@ -24,6 +24,9 @@
-
- #include "system.h"
- #include <quotearg.h>
-+#ifdef HAVE_LANGINFO_CODESET
-+#include <langinfo.h>
-+#endif
-
- #include "common.h"
-
-@@ -78,6 +81,10 @@
- {
- prev_status = status;
- status = read_header (0);
-+ /* check if the namelist got emptied during the course of reading */
-+ /* the tape, if so stop by setting status to EOF */
-+ if (namelist_freed)
-+ status = HEADER_END_OF_FILE;
- switch (status)
- {
- case HEADER_STILL_UNREAD:
-@@ -832,6 +839,7 @@
- char const *
- tartime (time_t t)
- {
-+#if !defined(__FreeBSD__) || !defined(HAVE_LANGINFO_CODESET)
- static char buffer[max (UINTMAX_STRSIZE_BOUND + 1,
- INT_STRLEN_BOUND (int) + 16)];
- char *p;
-@@ -870,6 +878,16 @@
- while (buffer + sizeof buffer - 19 - 1 < p)
- *--p = ' ';
- return p;
-+#else /* __FreeBSD__ */
-+ static char buffer[80];
-+ static int d_first = -1;
-+
-+ if (d_first < 0)
-+ d_first = (*nl_langinfo(D_MD_ORDER) == 'd');
-+ strftime(buffer, sizeof(buffer), d_first ? "%e %b %R %Y" : "%b %e %R %Y",
-+ localtime(&t));
-+ return buffer;
-+#endif /* __FreeBSD__ */
- }
-
- /* Actually print it.
diff --git a/archivers/gtar/files/patch-src::misc.c b/archivers/gtar/files/patch-src::misc.c
deleted file mode 100644
index 8d5564eec1cd..000000000000
--- a/archivers/gtar/files/patch-src::misc.c
+++ /dev/null
@@ -1,32 +0,0 @@
-
-$FreeBSD$
-
---- src/misc.c.orig Mon Aug 27 01:14:26 2001
-+++ src/misc.c Wed Oct 2 19:10:55 2002
-@@ -214,6 +214,13 @@
- return 0;
- }
- while (! ISSLASH (*p));
-+
-+ do
-+ {
-+ if (! *p++)
-+ return 0;
-+ }
-+ while ( ISSLASH (*p));
- }
- }
-
-@@ -549,10 +556,8 @@
- chmod_error_details (char const *name, mode_t mode)
- {
- int e = errno;
-- char buf[10];
-- decode_mode (mode, buf);
-- ERROR ((0, e, _("%s: Cannot change mode to %s"),
-- quotearg_colon (name), buf));
-+ ERROR ((0, e, _("%s: Cannot change mode to 0%o"),
-+ quotearg_colon (name), mode));
- }
-
- void
diff --git a/archivers/gtar/files/patch-src::names.c b/archivers/gtar/files/patch-src::names.c
deleted file mode 100644
index 0403fa23abfc..000000000000
--- a/archivers/gtar/files/patch-src::names.c
+++ /dev/null
@@ -1,52 +0,0 @@
-
-$FreeBSD$
-
---- src/names.c 2002/06/01 21:08:46 1.1
-+++ src/names.c 2002/06/01 21:09:16
-@@ -549,6 +549,7 @@
- while (1)
- {
- struct name *cursor = namelist;
-+ struct name *tmpnlp;
-
- if (!cursor)
- return ! files_from_option;
-@@ -572,6 +573,38 @@
- nametail = &namelist;
- }
- chdir_do (cursor->change_dir);
-+ if (fast_read_option)
-+ {
-+ /* remove the current entry, since we found a match */
-+ if (namelist->next == NULL)
-+ {
-+ /* the list contains one element */
-+ free(namelist);
-+ namelist = 0;
-+ nametail = &namelist;
-+ /* set a boolean to decide wether we started with a */
-+ /* non-empty namelist, that was emptied */
-+ namelist_freed = 1;
-+ }
-+ else
-+ {
-+ if (cursor == namelist)
-+ {
-+ /* the first element is the one */
-+ tmpnlp = namelist->next;
-+ free(namelist);
-+ namelist = tmpnlp;
-+ }
-+ else
-+ {
-+ tmpnlp = namelist;
-+ while (tmpnlp->next != cursor)
-+ tmpnlp = tmpnlp->next;
-+ tmpnlp->next = cursor->next;
-+ free(cursor);
-+ }
-+ }
-+ }
-
- /* We got a match. */
- return 1;
diff --git a/archivers/gtar/files/patch-src::rtapelib.c b/archivers/gtar/files/patch-src::rtapelib.c
deleted file mode 100644
index 0ac28e95f6d9..000000000000
--- a/archivers/gtar/files/patch-src::rtapelib.c
+++ /dev/null
@@ -1,29 +0,0 @@
-
-$FreeBSD$
-
---- src/rtapelib.c 2002/06/01 21:08:46 1.1
-+++ src/rtapelib.c 2002/06/01 21:09:16
-@@ -437,6 +437,9 @@
- /* Identify the remote command to be executed. */
-
- if (!remote_shell)
-+ remote_shell = getenv("TAR_RSH");
-+
-+ if (!remote_shell)
- {
- #ifdef REMOTE_SHELL
- remote_shell = REMOTE_SHELL;
-@@ -488,10 +491,10 @@
- #endif
-
- if (remote_user)
-- execl (remote_shell, remote_shell_basename, remote_host,
-- "-l", remote_user, "/etc/rmt", (char *) 0);
-+ execlp (remote_shell, remote_shell_basename, "-l", remote_user,
-+ remote_host, "/etc/rmt", (char *) 0);
- else
-- execl (remote_shell, remote_shell_basename, remote_host,
-+ execlp (remote_shell, remote_shell_basename, remote_host,
- "/etc/rmt", (char *) 0);
-
- /* Bad problems if we get here. */
diff --git a/archivers/gtar/files/patch-src::tar.c b/archivers/gtar/files/patch-src::tar.c
deleted file mode 100644
index 781003101b5c..000000000000
--- a/archivers/gtar/files/patch-src::tar.c
+++ /dev/null
@@ -1,201 +0,0 @@
-
-$FreeBSD$
-
---- src/tar.c 2002/06/01 21:08:46 1.1
-+++ src/tar.c 2002/06/01 21:09:16
-@@ -184,7 +184,9 @@
- {"block-number", no_argument, 0, 'R'},
- {"block-size", required_argument, 0, OBSOLETE_BLOCKING_FACTOR},
- {"blocking-factor", required_argument, 0, 'b'},
-+ {"bzip", no_argument, 0, 'j'},
- {"bzip2", no_argument, 0, 'j'},
-+ {"bunzip2", no_argument, 0, 'j'},
- {"catenate", no_argument, 0, 'A'},
- {"checkpoint", no_argument, &checkpoint_option, 1},
- {"compare", no_argument, 0, 'd'},
-@@ -200,6 +202,7 @@
- {"exclude", required_argument, 0, EXCLUDE_OPTION},
- {"exclude-from", required_argument, 0, 'X'},
- {"extract", no_argument, 0, 'x'},
-+ {"fast-read", no_argument, &fast_read_option, 1},
- {"file", required_argument, 0, 'f'},
- {"files-from", required_argument, 0, 'T'},
- {"force-local", no_argument, &force_local_option, 1},
-@@ -230,6 +233,7 @@
- {"no-ignore-case", no_argument, 0, NO_IGNORE_CASE_OPTION},
- {"no-wildcards", no_argument, 0, NO_WILDCARDS_OPTION},
- {"no-wildcards-match-slash", no_argument, 0, NO_WILDCARDS_MATCH_SLASH_OPTION},
-+ {"norecurse", no_argument, &recursion_option, 0},
- {"no-recursion", no_argument, &recursion_option, 0},
- {"no-same-owner", no_argument, &same_owner_option, -1},
- {"no-same-permissions", no_argument, &same_permissions_option, -1},
-@@ -266,6 +270,7 @@
- {"touch", no_argument, 0, 'm'},
- {"uncompress", no_argument, 0, 'Z'},
- {"ungzip", no_argument, 0, 'z'},
-+ {"unlink", no_argument, 0, 'U'},
- {"unlink-first", no_argument, 0, 'U'},
- {"update", no_argument, 0, 'u'},
- {"use-compress-program", required_argument, 0, USE_COMPRESS_PROGRAM_OPTION},
-@@ -326,15 +331,17 @@
- -k, --keep-old-files don't replace existing files when extracting\n\
- --overwrite overwrite existing files when extracting\n\
- --overwrite-dir overwrite directory metadata when extracting\n\
-- -U, --unlink-first remove each file prior to extracting over it\n\
-+ -U, --unlink,\n\
-+ --unlink-first remove each file prior to extracting over it\n\
- --recursive-unlink empty hierarchies prior to extracting directory\n\
- -S, --sparse handle sparse files efficiently\n\
- -O, --to-stdout extract files to standard output\n\
- -G, --incremental handle old GNU-format incremental backup\n\
- -g, --listed-incremental=FILE\n\
- handle new GNU-format incremental backup\n\
-- --ignore-failed-read do not exit with nonzero on unreadable files\n"),
-- stdout);
-+ --ignore-failed-read do not exit with nonzero on unreadable files\n\
-+ --fast-read stop after desired names in archive have been found\n"),
-+ stdout);
- fputs (_("\
- \n\
- Handling of file attributes:\n\
-@@ -344,6 +351,8 @@
- --atime-preserve don't change access times on dumped files\n\
- -m, --modification-time don't extract file modified time\n\
- --same-owner try extracting files with the same ownership\n\
-+ --show-omitted-dirs show omitted directories while processing the\n\
-+ archive\n\
- --no-same-owner extract files as yourself\n\
- --numeric-owner always use numbers for user/group names\n\
- -p, --same-permissions extract permissions information\n\
-@@ -357,7 +366,7 @@
- \n\
- Device selection and switching:\n\
- -f, --file=ARCHIVE use archive file or device ARCHIVE\n\
-- --force-local archive file is local even if has a colon\n\
-+ --force-local archive file is local even if it has a colon\n\
- --rsh-command=COMMAND use remote COMMAND instead of rsh\n\
- -[0-7][lmh] specify drive and density\n\
- -M, --multi-volume create/list/extract multi-volume archive\n\
-@@ -381,7 +390,7 @@
- PATTERN at list/extract time, a globbing PATTERN\n\
- -o, --old-archive, --portability write a V7 format archive\n\
- --posix write a POSIX format archive\n\
-- -j, --bzip2 filter the archive through bzip2\n\
-+ -j, -y, --bzip, --bzip2, --bunzip2 filter the archive through bzip2\n\
- -z, --gzip, --ungzip filter the archive through gzip\n\
- -Z, --compress, --uncompress filter the archive through compress\n\
- --use-compress-program=PROG filter through PROG (must accept -d)\n"),
-@@ -390,9 +399,9 @@
- \n\
- Local file selection:\n\
- -C, --directory=DIR change to directory DIR\n\
-- -T, --files-from=NAME get names to extract or create from file NAME\n\
-+ -T, -I, --files-from=NAME get names to extract or create from file NAME\n\
- --null -T reads null-terminated names, disable -C\n\
-- --exclude=PATTERN exclude files, given as a PATTERN\n\
-+ --exclude=PATTERN exclude files, given as a a globbing PATTERN\n\
- -X, --exclude-from=FILE exclude patterns listed in FILE\n\
- --anchored exclude patterns match file name start (default)\n\
- --no-anchored exclude patterns match after any /\n\
-@@ -404,14 +413,17 @@
- --no-wildcards-match-slash exclude pattern wildcards do not match '/'\n\
- -P, --absolute-names don't strip leading `/'s from file names\n\
- -h, --dereference dump instead the files symlinks point to\n\
-+ -n, --norecurse\n\
- --no-recursion avoid descending automatically in directories\n\
- -l, --one-file-system stay in local file system when creating archive\n\
- -K, --starting-file=NAME begin at file NAME in the archive\n"),
- stdout);
- #if !MSDOS
- fputs (_("\
-- -N, --newer=DATE only store files newer than DATE\n\
-- --newer-mtime=DATE compare date and time when data changed only\n\
-+ -N, --newer=DATE only store files with creation time newer than\n\
-+ DATE\n\
-+ --newer-mtime=DATE only store files with modification time newer\n\
-+ than DATE\n\
- --after-date=DATE same as -N\n"),
- stdout);
- #endif
-@@ -425,7 +437,7 @@
- --help print this help, then exit\n\
- --version print tar program version number, then exit\n\
- -v, --verbose verbosely list files processed\n\
-- --checkpoint print directory names while reading the archive\n\
-+ --checkpoint print number of buffer reads/writes\n\
- --totals print total bytes written while creating archive\n\
- -R, --block-number show block number within archive with each message\n\
- -w, --interactive ask for confirmation for every action\n\
-@@ -467,7 +479,7 @@
- Y per-block gzip compression */
-
- #define OPTION_STRING \
-- "-01234567ABC:F:GIK:L:MN:OPRST:UV:WX:Zb:cdf:g:hijklmoprstuvwxyz"
-+ "-01234567ABC:F:GI:K:L:MnN:OPRST:UV:WX:Zb:cdf:g:hijklmoprstuvwxyz"
-
- static void
- set_subcommand_option (enum subcommand subcommand)
-@@ -507,6 +519,7 @@
- excluded = new_exclude ();
- newer_mtime_option = TYPE_MINIMUM (time_t);
- recursion_option = FNM_LEADING_DIR;
-+ namelist_freed = 0;
-
- owner_option = -1;
- group_option = -1;
-@@ -691,13 +704,8 @@
- ignore_zeros_option = 1;
- break;
-
-- case 'I':
-- USAGE_ERROR ((0, 0,
-- _("Warning: the -I option is not supported;"
-- " perhaps you meant -j or -T?")));
-- break;
--
- case 'j':
-+ case 'y':
- set_use_compress_program_option ("bzip2");
- break;
-
-@@ -744,6 +752,10 @@
- multi_volume_option = 1;
- break;
-
-+ case 'n':
-+ recursion_option = 0;
-+ break;
-+
- #if !MSDOS
- case 'N':
- after_date_option = 1;
-@@ -834,6 +846,7 @@
- break;
-
- case 'T':
-+ case 'I':
- files_from_option = optarg;
- break;
-
-@@ -875,12 +888,6 @@
- }
- break;
-
-- case 'y':
-- USAGE_ERROR ((0, 0,
-- _("Warning: the -y option is not supported;"
-- " perhaps you meant -j?")));
-- break;
--
- case 'z':
- set_use_compress_program_option ("gzip");
- break;
-@@ -1266,7 +1273,7 @@
- #endif
- start_time = time (0);
- program_name = argv[0];
-- setlocale (LC_ALL, "");
-+ (void) setlocale (LC_ALL, "");
- bindtextdomain (PACKAGE, LOCALEDIR);
- textdomain (PACKAGE);
-
diff --git a/archivers/gtar/pkg-plist b/archivers/gtar/pkg-plist
index ab6593554cd5..cf3076f95efa 100644
--- a/archivers/gtar/pkg-plist
+++ b/archivers/gtar/pkg-plist
@@ -6,17 +6,26 @@ share/locale/da/LC_MESSAGES/tar.mo
share/locale/de/LC_MESSAGES/tar.mo
share/locale/es/LC_MESSAGES/tar.mo
share/locale/et/LC_MESSAGES/tar.mo
+share/locale/fi/LC_MESSAGES/tar.mo
share/locale/fr/LC_MESSAGES/tar.mo
+share/locale/gl/LC_MESSAGES/tar.mo
+share/locale/hr/LC_MESSAGES/tar.mo
+share/locale/hu/LC_MESSAGES/tar.mo
share/locale/id/LC_MESSAGES/tar.mo
share/locale/it/LC_MESSAGES/tar.mo
share/locale/ja/LC_MESSAGES/tar.mo
share/locale/ko/LC_MESSAGES/tar.mo
+share/locale/ms/LC_MESSAGES/tar.mo
+share/locale/nb/LC_MESSAGES/tar.mo
share/locale/nl/LC_MESSAGES/tar.mo
-share/locale/no/LC_MESSAGES/tar.mo
share/locale/pl/LC_MESSAGES/tar.mo
share/locale/pt/LC_MESSAGES/tar.mo
share/locale/pt_BR/LC_MESSAGES/tar.mo
+share/locale/ro/LC_MESSAGES/tar.mo
share/locale/ru/LC_MESSAGES/tar.mo
+share/locale/sk/LC_MESSAGES/tar.mo
share/locale/sl/LC_MESSAGES/tar.mo
share/locale/sv/LC_MESSAGES/tar.mo
share/locale/tr/LC_MESSAGES/tar.mo
+share/locale/zh_CN/LC_MESSAGES/tar.mo
+share/locale/zh_TW/LC_MESSAGES/tar.mo