From: Mike Frysinger Date: Mon, 11 Oct 2004 19:55:27 +0000 (-0000) Subject: latest tar needs fixes from cvs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9a8d02b02f4e9fc568b98cd9c97003bb27dd736c;p=buildroot.git latest tar needs fixes from cvs --- diff --git a/package/tar/tar-gnulib.patch b/package/tar/tar-gnulib.patch new file mode 100644 index 0000000000..e3ebf1648b --- /dev/null +++ b/package/tar/tar-gnulib.patch @@ -0,0 +1,99 @@ +Index: argp.h +=================================================================== +RCS file: /cvsroot/gnulib/gnulib/lib/argp.h,v +retrieving revision 1.5 +retrieving revision 1.8 +diff -u -b -B -r1.5 -r1.8 +--- tar.broke/lib/argp.h 4 Oct 2003 12:28:07 -0000 1.5 ++++ tar/lib/argp.h 30 Sep 2004 16:41:57 -0000 1.8 +@@ -1,5 +1,5 @@ + /* Hierarchial argument parsing, layered over getopt. +- Copyright (C) 1995,1996,1997,1998,1999,2003 Free Software Foundation, Inc. ++ Copyright (C) 1995-1999,2003,2004 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Written by Miles Bader . + +@@ -34,6 +34,9 @@ + #ifndef __THROW + # define __THROW + #endif ++#ifndef __NTH ++# define __NTH(fct) fct __THROW ++#endif + + #ifndef __attribute__ + /* This feature is available in gcc versions 2.5 and later. */ +@@ -48,6 +51,18 @@ + # endif + #endif + ++/* GCC 2.95 and later have "__restrict"; C99 compilers have ++ "restrict", and "configure" may have defined "restrict". */ ++#ifndef __restrict ++# if ! (2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__)) ++# if defined restrict || 199901L <= __STDC_VERSION__ ++# define __restrict restrict ++# else ++# define __restrict ++# endif ++# endif ++#endif ++ + #ifndef __error_t_defined + typedef int error_t; + # define __error_t_defined +@@ -111,11 +126,12 @@ + should be displayed in much the same manner as the options. If this flag + is set, then the option NAME field is displayed unmodified (e.g., no `--' + prefix is added) at the left-margin (where a *short* option would normally +- be displayed), and the documentation string in the normal place. For +- purposes of sorting, any leading whitespace and punctuation is ignored, +- except that if the first non-whitespace character is not `-', this entry +- is displayed after all options (and OPTION_DOC entries with a leading `-') +- in the same group. */ ++ be displayed), and the documentation string in the normal place. The NAME ++ field will be translated using gettext, unless OPTION_NO_TRANS is set (see ++ below). For purposes of sorting, any leading whitespace and punctuation is ++ ignored, except that if the first non-whitespace character is not `-', this ++ entry is displayed after all options (and OPTION_DOC entries with a leading ++ `-') in the same group. */ + #define OPTION_DOC 0x8 + + /* This option shouldn't be included in `long' usage messages (but is still +@@ -127,6 +143,11 @@ + OPTION_NO_USAGE. */ + #define OPTION_NO_USAGE 0x10 + ++/* Valid only in conjunction with OPTION_DOC. This option disables translation ++ of option name. */ ++#define OPTION_NO_TRANS 0x20 ++ ++ + struct argp; /* fwd declare this type */ + struct argp_state; /* " */ + struct argp_child; /* " */ +@@ -545,13 +566,13 @@ + # endif + + ARGP_EI void +-__argp_usage (__const struct argp_state *__state) __THROW ++__NTH (__argp_usage (__const struct argp_state *__state)) + { + __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); + } + + ARGP_EI int +-__option_is_short (__const struct argp_option *__opt) __THROW ++__NTH (__option_is_short (__const struct argp_option *__opt)) + { + if (__opt->flags & OPTION_DOC) + return 0; +@@ -563,7 +584,7 @@ + } + + ARGP_EI int +-__option_is_end (__const struct argp_option *__opt) __THROW ++__NTH (__option_is_end (__const struct argp_option *__opt)) + { + return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; + } diff --git a/package/tar/tar-remote-shell.patch b/package/tar/tar-remote-shell.patch new file mode 100644 index 0000000000..962da2e10d --- /dev/null +++ b/package/tar/tar-remote-shell.patch @@ -0,0 +1,23 @@ +--- tar.broke/src/tar.c.orig 2004-10-10 21:39:07.872276960 -0400 ++++ tar/src/tar.c 2004-10-10 21:39:52.512490616 -0400 +@@ -544,10 +544,18 @@ + show_default_settings (FILE *stream) + { + fprintf (stream, +- "--format=%s -f%s -b%d --rmt-command=%s --rsh-command=%s\n", ++ "--format=%s -f%s -b%d --rmt-command=%s" ++#ifdef REMOTE_SHELL ++" --rsh-command=%s" ++#endif ++ "\n", + archive_format_string (DEFAULT_ARCHIVE_FORMAT), + DEFAULT_ARCHIVE, DEFAULT_BLOCKING, +- DEFAULT_RMT_COMMAND, REMOTE_SHELL); ++ DEFAULT_RMT_COMMAND ++#ifdef REMOTE_SHELL ++ ,REMOTE_SHELL ++#endif ++ ); + } + + static void diff --git a/package/tar/tar-tests.patch b/package/tar/tar-tests.patch new file mode 100644 index 0000000000..2483e78d94 --- /dev/null +++ b/package/tar/tar-tests.patch @@ -0,0 +1,31 @@ +--- tar.broke/tests/listed02.sh 2004-10-11 00:39:45.443303624 +0200 ++++ tar/tests/listed02.sh 2004-10-11 00:38:02.566943208 +0200 +@@ -69,7 +69,10 @@ + echo Extracting main archive + tar -x -v --listed-incremental=tart.incr1 -f archive.1 + echo Extracting incremental archive +-tar -x -v --listed-incremental=tart.incr2 -f archive.2 ++# This command should produce three messages about deletion ++# of the existing files, that may appear in any order. Piping ++# to sort makes sure we don't depend on any particular ordering. ++tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort + + echo Final files: + find tart|sort +@@ -120,13 +123,13 @@ + tart/c1/ca1 + tart/c1/ca2 + Extracting incremental archive +-tart/ +-tar: Deleting \`tart/c1' + tar: Deleting \`tart/a1' + tar: Deleting \`tart/b1' ++tar: Deleting \`tart/c1' ++tart/ ++tart/b2 + tart/c0/ + tart/c2/ +-tart/b2 + tart/c2/ca1 + tart/c2/ca2 + tart/c2/ca3 diff --git a/package/tar/tar.mk b/package/tar/tar.mk index dea08a543d..001e938e20 100644 --- a/package/tar/tar.mk +++ b/package/tar/tar.mk @@ -18,6 +18,7 @@ tar-source: $(DL_DIR)/$(GNUTAR_SOURCE) $(GNUTAR_DIR)/.unpacked: $(DL_DIR)/$(GNUTAR_SOURCE) $(GNUTAR_CAT) $(DL_DIR)/$(GNUTAR_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + toolchain/patch-kernel.sh $(GNUTAR_DIR) package/tar/ tar*.patch touch $(GNUTAR_DIR)/.unpacked $(GNUTAR_DIR)/.configured: $(GNUTAR_DIR)/.unpacked