tar-1.31 aborts with --no-overwrite-dir when the dir is already there, thus breaking some of my scripts. $ mkdir d $ touch d/f $ tar cf test.tar ./d $ gdb --args tar --no-overwrite-dir -x -f test.tar ... (gdb) r Starting program: /bin/tar --no-overwrite-dir -x -f test.tar Program received signal SIGABRT, Aborted. 0x00007ffff783b76b in raise () from /lib64/libc.so.6 (gdb) bt #0 0x00007ffff783b76b in raise () from /lib64/libc.so.6 #1 0x00007ffff783cfb1 in abort () from /lib64/libc.so.6 #2 0x000055555556c4f8 in maybe_recoverable (file_name=0x5555557f3ba0 "./d", regular=false, interdir_made=0x7fffffffd4ab) at extract.c:790 #3 0x000055555556cde0 in extract_dir (file_name=0x5555557f3ba0 "./d", typeflag=53) at extract.c:1031 #4 0x000055555556e48b in extract_archive () at extract.c:1709 #5 0x0000555555577b86 in read_and (do_something=0x55555556e230 <extract_archive>) at list.c:229 #6 0x000055555558b54f in main (argc=5, argv=0x7fffffffd718) at tar.c:2761 Looks like it got fixed upstream already: http://git.savannah.gnu.org/cgit/tar.git/commit/?id=85c005ee1345c342f707f3c55317daf6cb050603
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef8f8b69456c968e4d7a467fa708419f55891f0b commit ef8f8b69456c968e4d7a467fa708419f55891f0b Author: Thomas Deutschmann <whissi@gentoo.org> AuthorDate: 2019-01-11 01:34:21 +0000 Commit: Thomas Deutschmann <whissi@gentoo.org> CommitDate: 2019-01-11 01:34:21 +0000 app-arch/tar: remove misplaced call to abort() Closes: https://bugs.gentoo.org/675140 Package-Manager: Portage-2.3.54, Repoman-2.3.12 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> .../tar-1.31-remove-erroneous-abort-call.patch | 33 ++++++++++++++++++++++ .../tar/{tar-1.31.ebuild => tar-1.31-r1.ebuild} | 2 ++ 2 files changed, 35 insertions(+)