[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: