4
0
Эх сурвалжийг харах

Fix Debian bug 230872, originally reported by Jeff King in
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=230872>.

Paul Eggert 21 жил өмнө
parent
commit
8b107d09e1
3 өөрчлөгдсөн 45 нэмэгдсэн , 68 устгасан
  1. 43 24
      ChangeLog
  2. 2 41
      doc/tar.texi
  3. 0 3
      src/tar.c

+ 43 - 24
ChangeLog

@@ -1,3 +1,21 @@
+2004-02-15  Paul Eggert  <eggert@twinsun.com>
+
+	Fix Debian bug 230872, originally reported by Jeff King in
+	<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=230872>.
+
+	* doc/tar.texi (posix compliance): Remove.  The whole section
+	was a misunderstanding of what POSIXLY_CORRECT is supposed to
+	mean.  The GNU Coding Standards says that POSIXLY_CORRECT
+	is for disabling extensions that are incompatible with POSIX:
+	it is not for disabling compatible extensions.  All references
+	to this section removed.
+	(posix): This format is created only if the posix format is
+	specified; it is no longer created if gnu format is specified
+	and POSIXLY_CORRECT is set.
+	* src/tar.c (decode_options): Ignore POSIXLY_CORRECT.
+	POSIX does not specify the behavior of tar, so we should
+	not worry about POSIXLY_CORRECT here.
+
 2004-01-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 2004-01-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	* Makefile.am: Removed m4
 	* Makefile.am: Removed m4
@@ -7,7 +25,7 @@
 	* bootstrap: Updated TP URL, improved help output. Default
 	* bootstrap: Updated TP URL, improved help output. Default
 	to :ext:anoncvs and set CVS_RSH, unless already set.
 	to :ext:anoncvs and set CVS_RSH, unless already set.
 	* m4/Makefile.am: Removed
 	* m4/Makefile.am: Removed
-	
+
 2004-01-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 2004-01-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	* bootstrap: Bugfix by Marco Gerards <metgerards@student.han.nl>:
 	* bootstrap: Bugfix by Marco Gerards <metgerards@student.han.nl>:
@@ -16,7 +34,7 @@
 2004-01-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 2004-01-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	Started rewriting buffer.c ...
 	Started rewriting buffer.c ...
-	
+
 	* bootstrap: New option --no-po
 	* bootstrap: New option --no-po
 	* src/buffer.c (new_volume,check_label_pattern): Changed return type.
 	* src/buffer.c (new_volume,check_label_pattern): Changed return type.
 	(time_to_start_writing): Changed data type
 	(time_to_start_writing): Changed data type
@@ -24,7 +42,7 @@
 	(open_archive) Moved option compatibility checks to tar.c
 	(open_archive) Moved option compatibility checks to tar.c
 	Other minor changes.
 	Other minor changes.
 	* src/common.h (maybe_backup_file): Changed return type
 	* src/common.h (maybe_backup_file): Changed return type
-	* src/misc.c: Likewise.	
+	* src/misc.c: Likewise.
 	* src/create.c: Updated invocations of safer_name_suffix
 	* src/create.c: Updated invocations of safer_name_suffix
 	* src/extract.c: Likewise
 	* src/extract.c: Likewise
 	* src/delete.c: Updated assignment to write_archive_to_stdout
 	* src/delete.c: Updated assignment to write_archive_to_stdout
@@ -34,19 +52,19 @@
 	* tests/recurse.sh: New test case.
 	* tests/recurse.sh: New test case.
 	* tests/mksparse.c: New file.
 	* tests/mksparse.c: New file.
 	* tests/Makefile.am: Added recurse.sh and mksparse.c
 	* tests/Makefile.am: Added recurse.sh and mksparse.c
-	
+
 2004-01-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 2004-01-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	* src/sparse.c (sparse_diff_file): Bugfix. Thanks
 	* src/sparse.c (sparse_diff_file): Bugfix. Thanks
 	Martin Simmons for the patch.
 	Martin Simmons for the patch.
 	* src/create.c (dump_dir0): Bugfix. Thanks Piotr Czerwinski
 	* src/create.c (dump_dir0): Bugfix. Thanks Piotr Czerwinski
 	<pius@pld-linux.org> for the patch.
 	<pius@pld-linux.org> for the patch.
-	
+
 2003-12-26  Paul Eggert  <eggert@twinsun.com>
 2003-12-26  Paul Eggert  <eggert@twinsun.com>
 
 
 	Synchronize with Gettext 0.13.1, Automake 1.8, Autoconf 2.59,
 	Synchronize with Gettext 0.13.1, Automake 1.8, Autoconf 2.59,
 	and translation website.
 	and translation website.
-	
+
 	* bootstrap: Don't bother skipping codeset.m4, glibc21.m4,
 	* bootstrap: Don't bother skipping codeset.m4, glibc21.m4,
 	intdiv0.m4, inttypes_h.m4, inttypes.m4, inttypes-pri.m4,
 	intdiv0.m4, inttypes_h.m4, inttypes.m4, inttypes-pri.m4,
 	isc-posix.m4, and lcmessage.m4 from gnulib.  This list of files is
 	isc-posix.m4, and lcmessage.m4 from gnulib.  This list of files is
@@ -105,7 +123,7 @@
 	* tests/delete03.sh: Likewise.
 	* tests/delete03.sh: Likewise.
 	* tests/extrac04.sh: Likewise.
 	* tests/extrac04.sh: Likewise.
 	* tests/multiv01.sh: Likewise.
 	* tests/multiv01.sh: Likewise.
-	
+
 2003-12-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 2003-12-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	* src/incremen.c (write_directory_file): Use sys_truncate
 	* src/incremen.c (write_directory_file): Use sys_truncate
@@ -127,7 +145,7 @@
 	stored on local CVS on mirddin. This repository will
 	stored on local CVS on mirddin. This repository will
 	be synchronized with Savannah as soon as the latter
 	be synchronized with Savannah as soon as the latter
 	becomes operational again.
 	becomes operational again.
-	
+
 2003-12-01  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 2003-12-01  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	* TODO: Updated
 	* TODO: Updated
@@ -175,9 +193,9 @@
 2003-11-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 2003-11-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	Rewritten sparse file handling.
 	Rewritten sparse file handling.
-	
+
 	* src/sparse.c: New file. Provides a universal framework
 	* src/sparse.c: New file. Provides a universal framework
-	for various methods for sparse files handling.  
+	for various methods for sparse files handling.
 	* src/Makefile.am: Added sparse.c
 	* src/Makefile.am: Added sparse.c
 	* src/common.h (struct sp_array,sparsearray,sp_array_size)
 	* src/common.h (struct sp_array,sparsearray,sp_array_size)
 	(init_sparsearray,fill_in_sparse_array): Removed
 	(init_sparsearray,fill_in_sparse_array): Removed
@@ -203,16 +221,16 @@
 	diagnostics functions.
 	diagnostics functions.
 	* src/incremen.c: Use new diagnostics functions.
 	* src/incremen.c: Use new diagnostics functions.
 	* src/names.c: Likewise.
 	* src/names.c: Likewise.
-	
+
 2003-11-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 2003-11-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	* configure.ac: Fixed check for setsockopt
 	* configure.ac: Fixed check for setsockopt
 
 
 	* src/create.c: Do not zero-terminate name field if
 	* src/create.c: Do not zero-terminate name field if
-	the name is exactly 100 characters long. 
+	the name is exactly 100 characters long.
 	(write_ustar_long_name): Fixed cheking for unsplittable
 	(write_ustar_long_name): Fixed cheking for unsplittable
 	names.
 	names.
-	
+
 2003-11-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 2003-11-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	* src/create.c (start_header): Removed debugging hook
 	* src/create.c (start_header): Removed debugging hook
@@ -242,7 +260,7 @@
 	* src/xheader.c (atime_decoder,gid_decoder,ctime_decoder)
 	* src/xheader.c (atime_decoder,gid_decoder,ctime_decoder)
 	(mtime_decoder,size_decoder,uid_decoder): Use xstrtoumax.
 	(mtime_decoder,size_decoder,uid_decoder): Use xstrtoumax.
 	Fixes `pax-big-10g' bug.
 	Fixes `pax-big-10g' bug.
-	
+
 2003-11-12  Paul Eggert  <eggert@twinsun.com>
 2003-11-12  Paul Eggert  <eggert@twinsun.com>
 
 
 	Fix some C compatibility bugs reported by Joerg Schilling.
 	Fix some C compatibility bugs reported by Joerg Schilling.
@@ -259,7 +277,7 @@
 	(DEFAULT_ST_BLKSIZE): New macro.
 	(DEFAULT_ST_BLKSIZE): New macro.
 	(ST_BLKSIZE): Use it, instead of DEV_BSIZE.
 	(ST_BLKSIZE): Use it, instead of DEV_BSIZE.
 	* src/tar.c (enum): Remove comma just before }.
 	* src/tar.c (enum): Remove comma just before }.
-	
+
 2003-11-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 2003-11-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	* src/list.c (decode_header): Initialize st_atime and
 	* src/list.c (decode_header): Initialize st_atime and
@@ -304,7 +322,7 @@
 	* src/system.h [MSDOS]: Fixed spelling of EACCES. Added
 	* src/system.h [MSDOS]: Fixed spelling of EACCES. Added
 	macro overriding broken mkdir prototypes.
 	macro overriding broken mkdir prototypes.
 
 
-2003-10-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>  
+2003-10-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	* configure.ac: Check for dev_t and ino_t.
 	* configure.ac: Check for dev_t and ino_t.
 	* m4/Makefile.am: Added missing files.
 	* m4/Makefile.am: Added missing files.
@@ -318,11 +336,11 @@
 	* src/delete.c: Likewise.
 	* src/delete.c: Likewise.
 	* src/extract.c: Likewise.
 	* src/extract.c: Likewise.
 	* src/rtapelib.c: Likewise.
 	* src/rtapelib.c: Likewise.
-	
-2003-10-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net> 
+
+2003-10-04  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	Implemented --occurrence option.
 	Implemented --occurrence option.
-	
+
 	* NEWS: Updated.
 	* NEWS: Updated.
 	* src/tar.c: New option --occurrence.
 	* src/tar.c: New option --occurrence.
 	* src/common.h (occurrence_option): New global
 	* src/common.h (occurrence_option): New global
@@ -340,12 +358,12 @@
 	(names_done): Removed
 	(names_done): Removed
 	(all_names_found,names_notfound): Rewritten.
 	(all_names_found,names_notfound): Rewritten.
 
 
-2003-10-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net> 
+2003-10-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	* src/tar.c: Removed extra precaution regarding
 	* src/tar.c: Removed extra precaution regarding
 	subcommand_option == CAT_SUBCOMMAND
 	subcommand_option == CAT_SUBCOMMAND
 	* lib/Makefile.am: Updated
 	* lib/Makefile.am: Updated
-	
+
 2003-10-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 2003-10-02  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
 
 
 	* src/common.h (names_done): New function.
 	* src/common.h (names_done): New function.
@@ -354,7 +372,7 @@
 	condition.
 	condition.
 	* src/tar.c: New option --first-copy
 	* src/tar.c: New option --first-copy
 	* NEWS: Updated
 	* NEWS: Updated
-	
+
 2003-09-24  Paul Eggert  <eggert@twinsun.com>
 2003-09-24  Paul Eggert  <eggert@twinsun.com>
 
 
 	* src/rmt.c (main): Don't translate Copyright string; international
 	* src/rmt.c (main): Don't translate Copyright string; international
@@ -4548,8 +4566,9 @@
 See ChangeLog.1 for earlier changes.
 See ChangeLog.1 for earlier changes.
 
 
 
 
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003 Free Software Foundation,
-Inc.
+
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004 Free Software
+Foundation, Inc.
 
 
 This file is part of GNU tar.
 This file is part of GNU tar.
 
 

+ 2 - 41
doc/tar.texi

@@ -584,7 +584,6 @@ Introduction
 * Definitions::                 Some Definitions
 * Definitions::                 Some Definitions
 * What tar Does::               What @command{tar} Does
 * What tar Does::               What @command{tar} Does
 * Naming tar Archives::         How @command{tar} Archives are Named
 * Naming tar Archives::         How @command{tar} Archives are Named
-* posix compliance::
 * Current status::              Current development status of @GNUTAR{}
 * Current status::              Current development status of @GNUTAR{}
 * Authors::                     @GNUTAR{} Authors
 * Authors::                     @GNUTAR{} Authors
 * Reports::                     Reporting bugs or suggestions
 * Reports::                     Reporting bugs or suggestions
@@ -832,7 +831,6 @@ archives need not (and these days, typically do not) reside on tapes.
 * Definitions::                 Some Definitions
 * Definitions::                 Some Definitions
 * What tar Does::               What @command{tar} Does
 * What tar Does::               What @command{tar} Does
 * Naming tar Archives::         How @command{tar} Archives are Named
 * Naming tar Archives::         How @command{tar} Archives are Named
-* posix compliance::
 * Current status::              Current development status of @GNUTAR{}
 * Current status::              Current development status of @GNUTAR{}
 * Authors::                     @GNUTAR{} Authors
 * Authors::                     @GNUTAR{} Authors
 * Reports::                     Reporting bugs or suggestions
 * Reports::                     Reporting bugs or suggestions
@@ -1001,37 +999,6 @@ the operation of @command{tar}, this causes no difficulty.  However, in
 this manual, we consistently refer to ``archives'' and ``archive
 this manual, we consistently refer to ``archives'' and ``archive
 members'' to make learning to use @command{tar} easier for novice users.
 members'' to make learning to use @command{tar} easier for novice users.
 
 
-@node posix compliance
-@section @sc{posix} Compliance
-
-@noindent
-@FIXME{must ask franc,ois about this.  dan hagerty thinks this might
-be an issue, but we're not really sure at this time.  dan just tried a
-test case of mixing up options' orders while the variable was set, and
-there was no problem...}
-@FIXME{I did not notice any problems either. Besides, the only piece
-of code that really uses POSIXLY_CORRECT is the one that forces
-creation of POSIX archives. I guess this paragraph should be removed.
-
---gray}
-
-
-We make some of our recommendations throughout this book for one
-reason in addition to what we think of as ``good sense''.  The main
-additional reason for a recommendation is to be compliant with the
-@sc{posix} standards.  If you set the shell environment variable
-@env{POSIXLY_CORRECT}, @GNUTAR{} will force you to
-adhere to these standards.  Therefore, if this variable is set and you
-violate one of the @sc{posix} standards in the way you phrase a
-command, for example, @GNUTAR{} will not allow the
-command and will signal an error message.  You would then have to
-reorder the options or rephrase the command to comply with the
-@sc{posix} standards.
-
-Notice also, that if this environment variable is set, @GNUTAR{}
-will create @acronym{POSIX} archives. Currently this means that
-no @acronym{GNU} extensions will be allowed (@pxref{posix}).
-
 @node Current status
 @node Current status
 @section Current development status of @GNUTAR{}
 @section Current development status of @GNUTAR{}
 
 
@@ -1671,8 +1638,7 @@ written out mnemonically can affect how well you remember which option
 does what, and therefore where different names have to be placed.
 does what, and therefore where different names have to be placed.
 (Placing options in an unusual order can also cause @command{tar} to
 (Placing options in an unusual order can also cause @command{tar} to
 report an error if you have set the shell environment variable
 report an error if you have set the shell environment variable
-@env{POSIXLY_CORRECT}; @pxref{posix compliance} for more information
-on this.)
+@env{POSIXLY_CORRECT}.)
 
 
 @node create dir
 @node create dir
 @subsection Archiving Directories
 @subsection Archiving Directories
@@ -6393,12 +6359,7 @@ The version @value{VERSION} of @GNUTAR{} is able
 to read and create archives conforming to @sc{posix.1-2001} standard.
 to read and create archives conforming to @sc{posix.1-2001} standard.
 
 
 A @sc{posix} conformant archive will be created if @command{tar}
 A @sc{posix} conformant archive will be created if @command{tar}
-was given @value{op-format-posix} option, or if it was given
-@value{op-format-gnu} option and the environment variable
-@env{POSIXLY_CORRECT} is set. The later usage is retained for
-compatibility with previous versions of @GNUTAR{}
-and is discouraged.
-
+was given @value{op-format-posix} option.
 Notice, that currently @acronym{GNU} extensions are not
 Notice, that currently @acronym{GNU} extensions are not
 allowed with this format. Following is the list of options that
 allowed with this format. Following is the list of options that
 cannot be used with @value{op-format-posix}:
 cannot be used with @value{op-format-posix}:

+ 0 - 3
src/tar.c

@@ -1275,9 +1275,6 @@ see the file named COPYING for details."));
   if (archive_format == DEFAULT_FORMAT)
   if (archive_format == DEFAULT_FORMAT)
     archive_format = DEFAULT_ARCHIVE_FORMAT;
     archive_format = DEFAULT_ARCHIVE_FORMAT;
 
 
-  if (archive_format == GNU_FORMAT && getenv ("POSIXLY_CORRECT"))
-    archive_format = POSIX_FORMAT; /*FIXME?*/
-
   if (volume_label_option && subcommand_option == CREATE_SUBCOMMAND)
   if (volume_label_option && subcommand_option == CREATE_SUBCOMMAND)
     assert_format (FORMAT_MASK (OLDGNU_FORMAT)
     assert_format (FORMAT_MASK (OLDGNU_FORMAT)
 		   | FORMAT_MASK (GNU_FORMAT));
 		   | FORMAT_MASK (GNU_FORMAT));