summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/untar (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update company nameSebastian Huber2023-05-201-1/+1
| | | | | The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
* libmisc/untar: Use a larger block size to read and write filesChris Johns2022-04-061-20/+33
| | | | | | | - A larger block size lets files systems work better. On JFFS a 512 byte compressed block means lots of small flash updates Closes #4635
* cpukit/libmisc/untar: Change license to BSD-2Joel Sherrill2022-03-223-9/+66
| | | | Updates #3053.
* cpukit/: Scripted embedded brains header file clean upJoel Sherrill2022-03-101-6/+0
| | | | Updates #4625.
* untar: Make behavior similar to GNU or BSD tarChristian Mauderer2021-12-091-20/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* untar: Properly make parent pathSebastian Huber2019-11-261-144/+46
| | | | Close #3823.
* untar: Make path also for symbolic linksSebastian Huber2019-11-251-9/+8
| | | | Close #3823.
* untar: Unify untar supportSebastian Huber2019-11-251-94/+87
| | | | Update #3823.
* Remove make preinstallChris Johns2018-01-251-260/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
* untar: ConstifySebastian Huber2017-12-142-2/+2
|
* Include missing <string.h>Sebastian Huber2017-08-251-0/+2
| | | | Update #2133.
* untar: Fix compile errorSebastian Huber2017-07-281-1/+1
|
* untar: Fix use of uninitialized variableSebastian Huber2017-07-281-0/+2
|
* Fix untar mkdir when the directory exists.Chris Johns2016-11-181-3/+5
|
* libmisc/xz: Add xz decompression.Chris Johns2016-10-132-0/+172
| | | | Add support to untar XZ compressed files.
* libmisc/untar: Set the perms to the value in the tar file.Chris Johns2016-08-092-20/+34
| | | | | | | This patch parses the mode field in the tar header and sets the directory or file to the mode value in the header. Closes #2768.
* Add Untar_FromGzChunk_Print() + TestAlexander Krutwig2016-07-262-0/+122
|
* Add Untar_FromChunk_Print() + TestAlexander Krutwig2016-07-262-1/+197
|
* libmisc/untar: Support directory create and overwrites. Share the common code.Chris Johns2016-06-032-127/+343
| | | | | | | | | | | | | | | | | | | Support creating directories for files with a path depth greater than 1. Some tar files can have files with a path depth greater than 1 and no directory entry in the tar file to create a directory. Support overwriting existing files and directories failing in a similar way to tar on common hosts. If a file is replaced with a file delete the file and create a new file. If a directory replaces a file remove the file and create the directory. If a file replaces a directory remove the directory, and if the directory is not empty and cannot be removed report an error. If a directory alreday exists do nothing leaving the contents untouched. The untar code now shares the common header parsing and initial processing with the actual writes still separate. No changes to the IMFS have been made. Updates #2415. Closes #2207.
* untar: do not exit with error when created directory already exists.Pavel Pisa2015-11-231-1/+29
| | | | | | | | | | | | | | The problem exists for both RTEMS untar implementations and their variants: Untar_FromMemory(), Untar_FromFile() and rtems_tarfs_load(). If filesystem object already exists at extracted directory path then if it is directory, creation is ignored. Attempt to delete/unlink object and make directory is tried for other cases. This simple approach problem reported in ticket fixes #2413. Behavior follows GNU tar and BSD tar practice for directories but much more work is required to achieve full semantics of the full featured tar implementation still.
* untar.c: Coverity ID 26151 and reformatJoel Sherrill2015-01-041-295/+251
| | | | | | | | The Coverity issue was an ignored return value from a read() in a loop which should have been a seek() since the data read was ignored. The file itself needed reformatting to conform to RTEMS style.
* Delete or rename MIN/MAX macros and definesSebastian Huber2014-11-211-3/+1
| | | | Include <sys/param.h> if necessary to get the MIN()/MAX() macros.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-212-2/+2
|
* untar: check return value from mkdirGedare Bloom2013-09-051-1/+5
| | | | | | Check the return value from mkdir instead of failing silently. 1063857 Unchecked return value from library
* Stop a resource leakCynthia Rempel2013-08-261-0/+1
| | | | Stops a resource leak in the event that the system cannot malloc
* Header File Doxygen Enhancement Task #1Alex Ivanov2012-12-281-1/+3
|
* libmisc: Doxygen Enhancement Task #2Mathew Kallada2012-12-192-3/+18
| | | | http://www.google-melange.com/gci/task/view/google/gci2012/7959228
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-113-6/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* 2011-11-07 Ralf Corsepius <ralf.corsepius@rtems.org>Joel Sherrill2011-11-071-0/+1
| | | | | | PR 1952/cpukit * libmisc/untar/untar.c: Add return code for failure when unable to write file.
* 2011-06-24 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-241-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/rtems/bspIo.h, include/rtems/concat.h, include/rtems/endian.h, include/rtems/fs.h, include/rtems/irq.h, include/rtems/pci.h, include/rtems/userenv.h, libblock/include/rtems/flashdisk.h, libblock/include/rtems/nvdisk-sram.h, libblock/include/rtems/nvdisk.h, libcsupport/include/clockdrv.h, libcsupport/include/console.h, libcsupport/include/iosupp.h, libcsupport/include/spurious.h, libcsupport/include/motorola/mc68230.h, libcsupport/include/rtems/assoc.h, libcsupport/include/rtems/error.h, libcsupport/include/rtems/framebuffer.h, libcsupport/include/rtems/gxx_wrappers.h, libcsupport/include/rtems/libcsupport.h, libcsupport/include/rtems/libio_.h, libcsupport/include/rtems/malloc.h, libcsupport/include/rtems/termiostypes.h, libcsupport/include/sys/statvfs.h, libcsupport/include/sys/termios.h, libcsupport/include/sys/utsname.h, libcsupport/include/zilog/z8036.h, libcsupport/include/zilog/z8530.h, libcsupport/include/zilog/z8536.h, libfs/src/imfs/imfs.h, libfs/src/pipe/pipe.h, libmisc/capture/capture-cli.h, libmisc/capture/capture.h, libmisc/cpuuse/cpuuse.h, libmisc/devnull/devnull.h, libmisc/devnull/devzero.h, libmisc/dumpbuf/dumpbuf.h, libmisc/fb/fb.h, libmisc/fb/mw_uid.h, libmisc/mouse/mouse_parser.h, libmisc/shell/shellconfig.h, libmisc/stringto/stringto.h, libmisc/untar/untar.h, libnetworking/memory.h, posix/include/aio.h, posix/include/mqueue.h, posix/include/semaphore.h, posix/include/rtems/posix/aio_misc.h, posix/include/rtems/posix/barrier.h, posix/include/rtems/posix/cond.h, posix/include/rtems/posix/config.h, posix/include/rtems/posix/key.h, posix/include/rtems/posix/mqueue.h, posix/include/rtems/posix/mutex.h, posix/include/rtems/posix/posixapi.h, posix/include/rtems/posix/priority.h, posix/include/rtems/posix/psignal.h, posix/include/rtems/posix/pthread.h, posix/include/rtems/posix/ptimer.h, posix/include/rtems/posix/rwlock.h, posix/include/rtems/posix/semaphore.h, posix/include/rtems/posix/sigset.h, posix/include/rtems/posix/spinlock.h, posix/include/rtems/posix/threadsup.h, posix/include/rtems/posix/time.h, posix/include/rtems/posix/timer.h, posix/inline/rtems/posix/barrier.inl, posix/inline/rtems/posix/cond.inl, posix/inline/rtems/posix/mqueue.inl, posix/inline/rtems/posix/mutex.inl, posix/inline/rtems/posix/priority.inl, posix/inline/rtems/posix/pthread.inl, posix/inline/rtems/posix/rwlock.inl, posix/inline/rtems/posix/semaphore.inl, posix/inline/rtems/posix/spinlock.inl, posix/inline/rtems/posix/timer.inl, rtems/mainpage.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/object.h, rtems/include/rtems/rtems/timer.h, rtems/inline/rtems/rtems/barrier.inl, rtems/inline/rtems/rtems/timer.inl, rtems/src/semtranslatereturncode.c, sapi/include/rtems/config.h, sapi/include/rtems/fatal.h, sapi/include/rtems/mptables.h, score/include/rtems/score/object.h, score/include/rtems/score/priority.h, score/inline/rtems/score/object.inl, score/inline/rtems/score/priority.inl: Add @file Doxygen directives and descriptions to files which originated with RTEMS. This improves the file list page generated by Doxygen.
* 2010-08-24 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2010-08-241-6/+8
| | | | | * libmisc/untar/untar.c: Return if open fails. Use ssize_t for read() return value.
* 2010-07-27 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-07-271-3/+4
| | | | | * libfs/src/imfs/imfs_load_tar.c, libmisc/untar/untar.c: Now supports both pax and GNU tar created tar files.
* 2010-06-13 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2010-06-131-1/+1
| | | | | | | * include/rtems/tar.h, libcsupport/include/tar.h: Remove. * configure.ac: Require toolchain to provide tar.h. * libfs/src/imfs/imfs_load_tar.c, libmisc/untar/untar.h: Use <tar.h> instead of <rtems/tar.h>.
* 2007-09-05 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2007-09-052-7/+8
| | | | * libmisc/untar/untar.c, libmisc/untar/untar.h: Clean up prototype.
* 2007-09-04 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2007-09-042-18/+25
| | | | | * libmisc/untar/untar.c, libmisc/untar/untar.h: Add const to char *. Use printk.
* 2005-02-09 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-091-5/+2
| | | | * libmisc/untar/untar.c (_rtems_octal2ulong): Replace.
* New header guards.Ralf Corsepius2005-02-071-3/+3
|
* 2005-02-07 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-072-48/+55
| | | | | | * libfs/src/imfs/imfs.h, libfs/src/imfs/imfs_load_tar.c, libmisc/untar/untar.c, libmisc/untar/untar.h: Various generalizations and fixes.
* 2005-01-27 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-01-272-9/+11
| | | | | * libmisc/untar/untar.h: New prototype to eleminate warnings. * libmisc/untar/untar.c: Cosmetics, add symlinks.
* 2004-09-17 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2004-09-171-0/+6
| | | | | | | | | PR 677/misc * libmisc/dumpbuf/dumpbuf.h, libmisc/fsmount/fsmount.h, libmisc/rtmonuse/rtmonuse.h, libmisc/serdbg/serdbg.h, libmisc/serdbg/serdbgcnf.h, libmisc/serdbg/termios_printk.h, libmisc/serdbg/termios_printk_cnf.h, libmisc/untar/untar.h: Add extern C wrappers.
* 2004-04-17 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-04-171-2/+2
| | | | | | | | | | | | | | | * libmisc/capture/capture-cli.c, libmisc/cpuuse/cpuuse.c, libmisc/dumpbuf/dumpbuf.c, libmisc/fsmount/fsmount.c, libmisc/monitor/mon-command.c, libmisc/monitor/mon-config.c, libmisc/monitor/mon-dname.c, libmisc/monitor/mon-driver.c, libmisc/monitor/mon-extension.c, libmisc/monitor/mon-itask.c, libmisc/monitor/mon-monitor.c, libmisc/monitor/mon-mpci.c, libmisc/monitor/mon-object.c, libmisc/monitor/mon-prmisc.c, libmisc/monitor/mon-queue.c, libmisc/monitor/mon-symbols.c, libmisc/monitor/mon-task.c, libmisc/rtmonuse/rtmonuse.c, libmisc/shell/cmds.c, libmisc/shell/shell.c, libmisc/shell/shell.h, libmisc/stackchk/check.c, libmisc/untar/untar.c: Use fprintf(stdout,...) instead of printf.
* Remove stray white spaces.Ralf Corsepius2004-04-161-3/+3
|
* Remove stray white spaces.Ralf Corsepius2004-04-151-1/+0
|
* Unused.Ralf Corsepius2004-03-081-2/+0
|
* 2003-11-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2003-11-281-42/+0
| | | | | | | | | | | | | | | | | * capture/Makefile.am: Remove. * cpuuse/Makefile.am: Remove. * devnull/Makefile.am: Remove. * dummy/Makefile.am: Remove. * dumpbuf/Makefile.am: Remove. * fsmount/Makefile.am: Remove. * monitor/Makefile.am: Remove. * mw-fb/Makefile.am: Remove. * rtmonuse/Makefile.am: Remove. * serdbg/Makefile.am: Remove. * shell/Makefile.am: Remove. * stackchk/Makefile.am: Remove. * untar/Makefile.am: Remove. * Makefile.am: Merge-in the Makefile.ams above.
* 2003-11-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2003-11-202-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * capture/config.h: Remove. * capture/Makefile.am: Remove config.h. AM_CPPFLAGS += -I$(top_builddir). * cpuuse/config.h: Remove. * cpuuse/Makefile.am: Remove config.h. AM_CPPFLAGS += -I$(top_builddir). * devnull/config.h: Remove. * devnull/Makefile.am: Remove config.h. AM_CPPFLAGS += -I$(top_builddir). * dummy/config.h: Remove. * dummy/Makefile.am: Remove config.h. AM_CPPFLAGS += -I$(top_builddir). * dumpbuf/config.h: Remove. * dumpbuf/Makefile.am: Remove config.h. AM_CPPFLAGS += -I$(top_builddir). * monitor/config.h: Remove. * monitor/Makefile.am: Remove config.h. AM_CPPFLAGS += -I$(top_builddir). * mw-fb/config.h: Remove. * mw-fb/Makefile.am: Remove config.h. AM_CPPFLAGS += -I$(top_builddir). * rtmonuse/config.h: Remove. * rtmonuse/Makefile.am: Remove config.h. AM_CPPFLAGS += -I$(top_builddir). * serdbg/config.h: Remove. * serdbg/Makefile.am: Remove config.h. AM_CPPFLAGS += -I$(top_builddir). * shell/config.h: Remove. * shell/Makefile.am: Remove config.h. AM_CPPFLAGS += -I$(top_builddir). * stackchk/config.h: Remove. * stackchk/Makefile.am: Remove config.h. AM_CPPFLAGS += -I$(top_builddir). * untar/config.h: Remove. * untar/Makefile.am: Remove config.h. AM_CPPFLAGS += -I$(top_builddir).
* 2003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-09-042-2/+2
| | | | | | | | | * cpuuse/cpuuse.c, cpuuse/cpuuse.h, devnull/devnull.c, devnull/devnull.h, dummy/dummy.c, dumpbuf/dumpbuf.c, dumpbuf/dumpbuf.h, fsmount/fsmount.c, fsmount/fsmount.h, serdbg/serdbgio.c, serdbg/termios_printk.c, stackchk/check.c, stackchk/internal.h, stackchk/stackchk.h, untar/untar.c, untar/untar.h: URL for license changed.
* 2003-07-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2003-07-082-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Remove (Merged into ../configure.ac). * Makefile.am: Reflect having merged configure.ac into ../configure.ac. * capture/config.h: New. * capture/Makefile.am: Add config.h. Reflect having merged configure.ac into ../configure.ac. * cpuuse/config.h: New. * cpuuse/Makefile.am: Add config.h. Reflect having merged configure.ac into ../configure.ac. * devnull/config.h: New. * devnull/Makefile.am: Add config.h. Reflect having merged configure.ac into ../configure.ac. * dummy/config.h: New. * dummy/Makefile.am: Add config.h. Reflect having merged configure.ac into ../configure.ac. * dumpbuf/config.h: New. * dumpbuf/Makefile.am: Add config.h. Reflect having merged configure.ac into ../configure.ac. * monitor/config.h: New. * monitor/Makefile.am: Add config.h. Reflect having merged configure.ac into ../configure.ac. * mw-fb/config.h: New. * mw-fb/Makefile.am: Add config.h. Reflect having merged configure.ac into ../configure.ac. * rtmonuse/config.h: New. * rtmonuse/Makefile.am: Add config.h. Reflect having merged configure.ac into ../configure.ac. * serdbg/config.h: New. * serdbg/Makefile.am: Add config.h. Reflect having merged configure.ac into ../configure.ac. * shell/config.h: New. * shell/Makefile.am: Add config.h. Reflect having merged configure.ac into ../configure.ac. * stackchk/config.h: New. * stackchk/Makefile.am: Add config.h. Reflect having merged configure.ac into ../configure.ac. * untar/config.h: New. * untar/Makefile.am: Add config.h. Reflect having merged configure.ac into ../configure.ac. * wrapup/Makefile.am: Reflect having merged configure.ac into ../configure.ac.
* 2003-07-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2003-07-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * capture/capture-cli.c: Add config-header support. * capture/capture.c: Add config-header support. * cpuuse/cpuuse.c: Add config-header support. * devnull/devnull.c: Add config-header support. * dummy/dummy.c: Add config-header support. * dumpbuf/dumpbuf.c: Add config-header support. * monitor/mon-command.c: Add config-header support. * monitor/mon-config.c: Add config-header support. * monitor/mon-dname.c: Add config-header support. * monitor/mon-driver.c: Add config-header support. * monitor/mon-extension.c: Add config-header support. * monitor/mon-itask.c: Add config-header support. * monitor/mon-manager.c: Add config-header support. * monitor/mon-monitor.c: Add config-header support. * monitor/mon-mpci.c: Add config-header support. * monitor/mon-object.c: Add config-header support. * monitor/mon-prmisc.c: Add config-header support. * monitor/mon-queue.c: Add config-header support. * monitor/mon-server.c: Add config-header support. * monitor/mon-symbols.c: Add config-header support. * monitor/mon-task.c: Add config-header support. * mw-fb/mw_fb.c: Add config-header support. * mw-fb/mw_uid.c: Add config-header support. * rtmonuse/rtmonuse.c: Add config-header support. * serdbg/serdbg.c: Add config-header support. * serdbg/serdbgio.c: Add config-header support. * serdbg/termios_printk.c: Add config-header support. * shell/cmds.c: Add config-header support. * stackchk/check.c: Add config-header support. * untar/untar.c: Add config-header support.
* 2002-01-24 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2003-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | * configure.ac: Add check for weak function attribute. Remove AM_CONDITIONAL([RTEMS_LIBSHELL]. Add AM_CONDITIONAL(LIBSHELL), AM_CONDITIONAL(LIBSERDBG). * capture/Makefile.am: Use *.a instead of *-tmp.a. * cpuuse/Makefile.am: Use *.a instead of *-tmp.a. * devnull/Makefile.am: Use *.a instead of *-tmp.a. * dummy/Makefile.am: Use *.a instead of *-tmp.a. * dumpbuf/Makefile.am: Use *.a instead of *-tmp.a. * monitor/Makefile.am: Use *.a instead of *-tmp.a. * mw-fb/Makefile.am: Use *.a instead of *-tmp.a. * rtmonuse/Makefile.am: Use *.a instead of *-tmp.a. * serdbg/Makefile.am: Use *.a instead of *-tmp.a. Build iff LIBSERDBG is true. * shell/Makefile.am: Use *.a instead of *-tmp.a. Build iff LIBSHELL is true. * stackchk/Makefile.am: Use *.a instead of *-tmp.a. * untar/Makefile.am: Use *.a instead of *-tmp.a. * wrapup/Makefile.am: Reflect changes above.