Bug#969761: engrampa: Broken tar archive when including symlinks to directories
Package: engrampa
Version: 1.24.1-1
Severity: normal
Dear Maintainer,
when creating an archive including a symbolic link to a non-empty directory,
the resulting tar archive contains both a directory with the target content and
a symbolic link who share the same name, resulting in a broken archive.
I investigated a bit the issue which was described by Olivier Humbert on
debian-user-french ML (thread is in French) readable at
https://lists.debian.org/debian-user-french/2020/09/msg00036.html
To reproduce the issue, the following steps should be enough:
workdir="$(mktemp --directory)"
mkdir -p $workdir/base/directory/
touch $workdir/base/directory/empty
ln -s directory $workdir/base/link
engrampa $workdir/base/ -a $workdir/archive.tar && echo 'engrampa OK'
tar tvf $workdir/archive.tar base/link
rm -rfI "$workdir"
The output should be along the lines of:
engrampa OK
hrw-r--r-- user/user 0 2020-09-07 23:26 base/link/empty
lrwxrwxrwx user/user 0 2020-09-07 23:26 base/link -> directory
Trying to extract the archive using `tar xf "$workdir/archive.tar"` gives an
error:
tar: base/link: Cannot create symlink to 'directory': File exists
tar: Exiting with failure status due to previous errors
Best regards,
David Sinquin
-- System Information:
Debian Release: bullseye/sid
APT prefers testing
APT policy: (990, 'testing'), (600, 'stable-updates'), (600, 'proposed-updates'), (500, 'stable'), (100, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.7.0-3-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages engrampa depends on:
ii bzip2 1.0.8-4
ii engrampa-common 1.24.1-1
ii gzip 1.10-2
ii libc6 2.31-3
ii libcairo2 1.16.0-4
ii libcaja-extension1 1.24.0-1
ii libgdk-pixbuf2.0-0 2.40.0+dfsg-5
ii libglib2.0-0 2.64.4-1
ii libgtk-3-0 3.24.22-1
ii libjson-glib-1.0-0 1.4.4-2
ii libmagic1 1:5.38-5
ii libpango-1.0-0 1.46.1-1
ii p7zip-full 16.02+dfsg-8
ii tar 1.30+dfsg-7
Versions of packages engrampa recommends:
ii gvfs 1.44.1-1+b1
ii unzip 6.0-25
ii xz-utils 5.2.4-1+b1
ii zip 3.0-11+b1
Versions of packages engrampa suggests:
ii arj 3.10.22-23
ii binutils 2.35-2
ii cpio 2.13+dfsg-2
pn lha <none>
pn lzip <none>
ii lzop 1.04-1
ii ncompress 4.2.4.6-3
ii p7zip-rar 16.02-3
pn rar <none>
ii rpm2cpio 4.14.2.1+dfsg1-1.1+b1
ii rzip 2.1-4.1
ii sharutils 1:4.15.2-5
pn unace <none>
pn unalz <none>
ii unar 1.10.1-2+b6
ii unrar 1:5.6.6-2
ii xz-utils [lzma] 5.2.4-1+b1
pn zoo <none>
-- debconf-show failed
Reply to: