hello tar developers,

a debian package maintainer (Fernando Toledo <[email protected]>)
found out that after removing one file from a Debian source archive, two
other files were deleted as well. I tracked this down to a failure when
deleting the file via "tar --delete --file <archive> <file>":

Here is the case:

http://www2.inf.fh-brs.de/~fnatte2s/syncterm-1.0.tgz

$ gzip -d syncterm-1.0.tgz

$ tar -tf syncterm-1.0.tar | grep desktop
syncterm-1.0/src/syncterm/syncterm.desktop

$ tar --delete --file syncterm-1.0.tar syncterm-1.0/3rdp/dist/cryptlib.zip

$ tar -tf syncterm-1.0.tar | grep desktop
<no output>

What works is this:

$ cat syncterm-1.0.tar | tar --delete syncterm-1.0/3rdp/dist/cryptlib.zip > 
out.tar

I tried with tar 1.27.1 and tar 1.28.

This problem seems to be known [1], but I think there should be at least
a warning when using the in-place deletion.

[1] "The `--delete' option has been reported to work properly when tar acts
as a filter from stdin to stdout. "
https://www.gnu.org/software/tar/manual/html_node/delete.html

Thanks and Best Regards,
-- 
Felix Natter

Reply via email to