On Friday 13 March 2009 01:03:33 pm Emery, Jacques wrote:
> Hi,
> 
> We've just integrated Busybox 13.2 on our embeded system and since then we 
> have some problems unpacking the file given in the attachement.

What problem exactly? Quick test with svn works:

# /root/srcdevel/bbox/fix/busybox.t5/busybox tar xvf rec_var.tgz; echo $?
./
./run/
./run/hosts
./log/
./ntp/
./data/
./lib/
./lib/urandom/
./dhcpc/
./config/
./config/hwversion.conf
0

> Though I've seen that a 13.3 version has just been released, I don't think 
> that the new release solves this problem either (I've seen the tar patch).
> I also attach two versions of the configuration file we use to compile 
> busybox (one version has much less features active).

This config is from "Busybox version: 1.10.1". Can you at least upgrade to 
1.10.4
before reporting the bug? Maybe it is fixed even in 1.10.4.


I tried adapting your config to svn code.
I answered this to "make oldconfig":

Make tar, rpm, modprobe etc understand .lzma data (FEATURE_SEAMLESS_LZMA) 
[N/y/?] (NEW) n
Make tar, rpm, modprobe etc understand .bz2 data (FEATURE_SEAMLESS_BZ2) [N/y/?] 
(NEW) y
Make tar, rpm, modprobe etc understand .gz data (FEATURE_SEAMLESS_GZ) [N/y/?] 
(NEW) y
Make tar and gunzip understand .Z data (FEATURE_SEAMLESS_Z) [N/y/?] (NEW) n
...
  Autodetect gz/bz2 compressed tarballs (FEATURE_TAR_AUTODETECT) [N/y/?] (NEW) y

and it indeed failed to autodetect .tgz and unpack the archive,
needs CONFIG_DESKTOP=y for that.

This is a bug, the fix is attached.

However, in your .config you have FEATURE_TAR_AUTODETECT off,
so it can't be your problem, you need to use "z" explicitly (xzvf).
Which brings me back to "What problem exactly do you have?"
--
vda
diff -d -urpN busybox.5/archival/libunarchive/get_header_tar.c busybox.6/archival/libunarchive/get_header_tar.c
--- busybox.5/archival/libunarchive/get_header_tar.c	2009-03-08 22:15:22.000000000 +0100
+++ busybox.6/archival/libunarchive/get_header_tar.c	2009-03-13 15:17:10.000000000 +0100
@@ -159,7 +159,7 @@ char FAST_FUNC get_header_tar(archive_ha
 
  again_after_align:
 
-#if ENABLE_DESKTOP
+#if ENABLE_DESKTOP || ENABLE_FEATURE_TAR_AUTODETECT
 	/* to prevent misdetection of bz2 sig */
 	*(uint32_t*)(&tar) = 0;
 	i = full_read(archive_handle->src_fd, &tar, 512);
@@ -210,7 +210,7 @@ char FAST_FUNC get_header_tar(archive_ha
 #if ENABLE_FEATURE_TAR_AUTODETECT
 		char FAST_FUNC (*get_header_ptr)(archive_handle_t *);
 
- USE_DESKTOP(autodetect:)
+ autodetect:
 		/* tar gz/bz autodetect: check for gz/bz2 magic.
 		 * If we see the magic, and it is the very first block,
 		 * we can switch to get_header_tar_gz/bz2/lzma().
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to