Menu

#80 Creating tar from tar files does break content

v1.0 (example)
open
nobody
None
5
2014-09-28
2014-09-10
Massimo B.
No

Creating a tar from a list of file where some are also tar files, then the resulting archive will not have the tar files but their content. However tar -cf does it correct, only xarchiver has the issue, no matter if bz2 or xz:

$ file *
cache.ext4.tar.a: POSIX tar archive (GNU)
kernel.img: data
system.ext4.tar: empty

$ tar -tf cache.ext4.tar.a
cache/
cache/lost+found/
cache/recovery/
cache/recovery/log
cache/recovery/last_log
cache/dalvik-cache/
cache/dalvik-cache/system@framework@core.jar@classes.dex
cache/dalvik-cache/system@framework@core-junit.jar@classes.dex
cache/dalvik-cache/system@framework@bouncycastle.jar@classes.dex
cache/dalvik-cache/system@framework@ext.jar@classes.dex
cache/dalvik-cache/system@framework@framework.jar@classes.dex
cache/dalvik-cache/system@framework@telephony-common.jar@classes.dex
cache/dalvik-cache/system@framework@mms-common.jar@classes.dex
cache/dalvik-cache/system@framework@android.policy.jar@classes.dex
cache/dalvik-cache/system@framework@services.jar@classes.dex
cache/dalvik-cache/system@framework@apache-xml.jar@classes.dex

$ file *
cache.ext4.tar.a: POSIX tar archive (GNU)
kernel.img: data
system.ext4.tar: empty
test2.tar.bz2: bzip2 compressed data, block size = 900k
xarchiver_created.tar.bz2: bzip2 compressed data, block size = 900k

$ tar -tf test2.tar.bz2
cache.ext4.tar.a
kernel.img
system.ext4.tar

$ tar -tf xarchiver_created.tar.bz2
cache/
cache/lost+found/
cache/recovery/
cache/recovery/log
cache/recovery/last_log
cache/dalvik-cache/
cache/dalvik-cache/system@framework@core.jar@classes.dex
cache/dalvik-cache/system@framework@core-junit.jar@classes.dex
cache/dalvik-cache/system@framework@bouncycastle.jar@classes.dex
cache/dalvik-cache/system@framework@ext.jar@classes.dex
cache/dalvik-cache/system@framework@framework.jar@classes.dex
cache/dalvik-cache/system@framework@telephony-common.jar@classes.dex
cache/dalvik-cache/system@framework@mms-common.jar@classes.dex
cache/dalvik-cache/system@framework@android.policy.jar@classes.dex
cache/dalvik-cache/system@framework@services.jar@classes.dex
cache/dalvik-cache/system@framework@apache-xml.jar@classes.dex

Discussion

  • Teo Box

    Teo Box - 2014-09-18

    Hi,
    I'll try to reproduce your issue, with no luck !
    with the same test-case I've got correct archive (tar inside tar)

    maybe my test case is wrong or I miss something.

    btw, here is my test case:

    $find test
    test
    test/b
    test/b/somecode.py
    test/b/DarkCleanLinux.tar.gz
    test/Lyrics.html
    test/rdesktop-1.7.0.tar.gz
    test/somecode.py
    test/a
    test/a/somecode.py
    test/a/DarkCleanLinux.tar.gz

    right clic on test folder, create archive <tar.bz2> named test.tar.bz2

    $file test.tar.bz2
    test.tar.bz2: bzip2 compressed data, block size = 900k

    $tar tf test.tar.bz2
    test/b/somecode.py
    test/b/DarkCleanLinux.tar.gz
    test/Lyrics.html
    test/rdesktop-1.7.0.tar.gz
    test/somecode.py
    test/a/somecode.py
    test/a/DarkCleanLinux.tar.gz

    Archive content look fine, which version of xarchiver are you using ?
    could you retry with the latest version.

    Best regards

    TB

     
  • Massimo B.

    Massimo B. - 2014-09-18

    I'm using 0.5.3-r1 on Gentoo.

    Creating test data:

    $ for num in {1..5};do dd if=/dev/urandom bs=1k count=1 > $num.data;done

    $ for num in {1..3};do tar cvjf $num.data.bz2 $num.data;done

    $ file *
    1.data: data
    1.data.bz2: bzip2 compressed data, block size = 900k
    2.data: data
    2.data.bz2: bzip2 compressed data, block size = 900k
    3.data: data
    3.data.bz2: bzip2 compressed data, block size = 900k
    4.data: data
    5.data: data

    $ tar tvjf 1.data.bz2
    -rw-r--r-- mburcher/mburcher 1024 2014-09-18 12:52 1.data

    Creating a test.bz2 by selecting all files in Xfce Thunar and calling Create Archive.

    $ file test.bz2
    test.bz2: bzip2 compressed data, block size = 900k

    $ tar tvjf test.bz2
    tar: This does not look like a tar archive
    tar: Skipping to next header
    tar: Exiting with failure status due to previous errors

    Opening test.bz2 with xarchiver shows a single file "test".

     

    Last edit: Massimo B. 2014-09-18
  • Teo Box

    Teo Box - 2014-09-18

    Hi,

    I see, i see !!

    We have release several patch since the 0.5.3 is out, concerning tar and other format.
    you can find these fix at

    https://sourceforge.net/p/xarchiver/patches/

    Look from the patch #19
    --accept-pre-posix-tar-files.patch--

    The 0.5.4 should be released soon, and I think, should resolve your issue.

    You can retry with all these patch applied and keep us informed.

    Best regards
    TB

     
  • Massimo B.

    Massimo B. - 2014-09-18

    With 0.5.4 released I'm going to trigger the update in the Gentoo tree.

     
  • Steven

    Steven - 2014-09-27

    I've applied every valid patch I could find to a github repo of xarchiver, if it's any use to you guys? The number of patches was getting too big!

    https://github.com/stevenhoneyman/xarchiver

     
  • Giuseppe Torelli

    Hi, I released 0.5.4 with a patch for this bug. Let me know if the bug still occurs, thank you.

     

Log in to post a comment.