Christian Mauderer ffc57e3cf3 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
2021-12-09 08:23:47 +01:00
2021-10-13 14:45:37 -05:00
2020-10-10 13:50:41 +02:00
2020-12-02 13:03:49 +01:00
2013-09-19 13:16:06 +02:00
2020-04-27 11:35:21 +10:00

Real-Time Executive for Multiprocessing Systems (RTEMS)
-------------------------------------------------------

RTEMS, Real-Time Executive for Multiprocessor Systems, is a real-time executive
(kernel) which provides a high performance environment for embedded
applications with the following features:

 - standards based user interfaces
 - multitasking capabilities
 - homogeneous and heterogeneous multiprocessor systems
 - event-driven, priority-based, preemptive scheduling
 - optional rate monotonic scheduling
 - intertask communication and synchronization
 - priority inheritance
 - responsive interrupt management
 - dynamic memory allocation
 - high level of user configurability
 - open source with a friendly user license

Project git repositories are located at https://git.rtems.org/

 RTEMS Kernel:        : https://git.rtems.org/rtems/
 RTEMS Source Builder : https://git.rtems.org/rtems-source-builder/
 RTEMS Tools          : https://git.rtems.org/rtems-tools/
 RTEMS Documentation  : https://git.rtems.org/rtems-docs/
 RTEMS FreeBSD        : https://git.rtems.org/rtems-libbsd/

Online documentation is available at https://docs.rtems.org/

 RTEMS User Manual : https://docs.rtems.org/branches/master/user/index.html
 RTEMS RSB Manual  : https://docs.rtems.org/branches/master/rsb/index.html
 RTEMS Classic API : https://docs.rtems.org/branches/master/c-user/index.html
 RTEMS POSIX API   : https://docs.rtems.org/branches/master/posix-users/index.html

RTEMS Doxygen for CPUKit : https://docs.rtems.org/doxygen/branches/master/

RTEMS POSIX 1003.1 Compliance Guide :
 https://docs.rtems.org/branches/master/posix-compliance/index.html

 - Details the standards base functionality and profiles RTEMS supportsXo

RTEMS Developers Wiki : http://devel.rtems.org

 - Bug reporting, community knowledge and tutorials.

RTEMS Mailing Lists : https://lists.rtems.org/mailman/listinfo

 - The RTEMS Project maintains mailing lists which are used for most
   discussions:

   * For general-purpose questions related to using RTEMS, use the rtems-users
     ml: https://lists.rtems.org/mailman/listinfo/users

   * For questions and discussion related to development of RTEMS, use the
     rtems-devel ml: https://lists.rtems.org/mailman/listinfo/devel

The version number for this software is indicated in the VERSION file.
Description
RTEMS is a ​real-time executive in use by embedded systems applications around the world and beyond
Readme 126 MiB
Languages
C 93.9%
Assembly 3.4%
Ada 1.4%
Python 0.3%
HTML 0.3%
Other 0.4%