[RTEMS Project] #4568: untar: problems with existing directories

RTEMS trac trac at rtems.org
Thu Dec 9 07:19:47 UTC 2021


#4568: untar: problems with existing directories
--------------------------------+---------------------------------
 Reporter:  Christian Mauderer  |       Owner:  Christian Mauderer
     Type:  defect              |      Status:  closed
 Priority:  normal              |   Milestone:  Indefinite
Component:  lib                 |     Version:  6
 Severity:  normal              |  Resolution:  fixed
 Keywords:                      |  Blocked By:
 Blocking:                      |
--------------------------------+---------------------------------
Changes (by Christian Mauderer <christian.mauderer@…>):

 * status:  assigned => closed
 * resolution:   => fixed


Comment:

 In [changeset:"ffc57e3cf33ec0e2cc51ce214cedc24f390a7ea5/rtems"
 ffc57e3/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="ffc57e3cf33ec0e2cc51ce214cedc24f390a7ea5"
 untar: Make behavior similar to GNU or BSD tar

 RTEMS untar implementation had problems with overwriting or integrating
 archives into existing directory structures. This patch adapts the
 behavior to mimic that of a GNU tar or BSD tar and extends the tar01
 test to check for the behavior. That is:

 * If a directory structure exists, the files from the archive will be
   integrated. Existing files are overwritten.

 * If a file exists and the archive contains a directory with the same
   name, the file is removed and a directory is created. In the above
   example: if l1/l2 is a file it will be overwritten with a new
   directory.

 * If a directory exists and the archive contains a file with the same
   name, the directory will be replaced if it is empty. If it contains
   files, the result is an error.

 * An archive also can contain only a file without the parent
   directories. If in that case one of the parent directories exists as a
   file extracting the archive results in an error. In the example: if
   l1/l2 is a file and the archive doesn't contain the directories but
   only the file l1/l2/x.txt that would be an error.

 * In case of an error, it is possible that the archive has been
   partially extracted.

 Closes #4568
 }}}

--
Ticket URL: <http://devel.rtems.org/ticket/4568#comment:1>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list