Summary: | app-arch/tar-1.15.1-r1 fails to extract archives with some permissions | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Oleg Stopolenko <cronfy> |
Component: | New packages | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | ||
Priority: | High | ||
Version: | 2006.0 | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://lists.gnu.org/archive/html/bug-tar/2006-08/msg00036.html | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | Example of buggy tar archive |
Description
Oleg Stopolenko
2006-08-08 06:43:24 UTC
*** This bug has been marked as a duplicate of 141197 *** Are you sure this bug is a duplicate for 141197? Look: BUG 141197 says tar extracts files WITH WRONG PERMISSIONS. THIS BUG says tar extracts files WITH CORRECT PERMISSIONS (perms were set by my with `chmod -R 000 dir1`), but tar sets these perms too early so it can not continue an extraction due lack of permissions. Looks like tar 1. extracts everything (as it thinks) from dir4 1.1 sets perms on dir4 2. extracts everything from dir4-1 2.2 sets perms on dir4-1 3. and NOW it suddenly finds out there are still unextracted content for dir4, but perms were already set at step 1.1 - tar can't write anything to this directory. tar version? emerge --info? Here it is. cronfy@cronfy ~ $ tar --version tar (GNU tar) 1.15.1 cronfy@cronfy ~ $ emerge --info Portage 2.1-r1 (default-linux/x86/2006.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.17-gentoo-r4cronfy i686) ================================================================= System uname: 2.6.17-gentoo-r4cronfy i686 Intel(R) Celeron(R) CPU 2.40GHz Gentoo Base System version 1.6.14 app-admin/eselect-compiler: [Not Present] dev-lang/python: 2.4.2 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.12-r6 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=pentium4 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O3 -march=pentium4 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="ftp://phil.pht/ http://ftp.citkit.ru/pub/Linux/gentoo http://mirror.aiya.ru/pub/gentoo/" LINGUAS="en ru" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X apm avi berkdb bitmap-fonts cli crypt dlloader dri eds emboss encode foomaticdb fortran gdbm gif gpm gtk2 imlib isdnlog jpeg kde libg++ libwww mad mikmod motif mpeg ncurses nls nptl opengl pam pcre pdflib perl png pppd python qt qt3 qt4 quicktime readline reflection session spl ssl tcpd truetype truetype-fonts type1-fonts udev xml xorg zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux linguas_en linguas_ru userland_GNU video_cards_i915" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY tar was emerged this way: cronfy@cronfy ~ $ emerge -pv tar [ebuild R ] app-arch/tar-1.15.1-r1 USE="nls -build -bzip2 -static" 0 kB Created attachment 93830 [details]
Example of buggy tar archive
This is the archive I created with makebug.sh on my FreeBSD system. I could not extract all it's files on my Gentoo box.
upstream answer: Run tar with --delay-directory-restore option in this case. tar does not know anything about this option: cronfy@cronfy ~/tmp $ tar -jxvf tarbug.tbz --delay-directory-restore tar: unrecognized option `--delay-directory-restore' Try `tar --help' or `tar --usage' for more information. it's in tar-1.15.9x+ |