rob at landley.net
Tue Aug 30 02:46:27 UTC 2005
So, the fix that went into 1.01 recently added bzip2 support to tar (by
calling bzip2 as an external executable). But it's dependent on -z support
rather than -j support.
I'm trying to untangle the CONFIG option tree for tar, and preferably prune
it, and my brain is hurting. I started by trying to collapse together
TAR_GZIP and TAR_BZIP2 into TAR_ZIP, and it broke because the "create" and
"extract" logic are sort of independent but not really. We shell out to
external commands for the create case, but in the extract case we use the
built-in functionality to recognize the header type, and pulling on any of
the dangling threads of this reveals an enormous tangle underneath.
Apparently, making -z and -j be the same option forces the build to suck in
the gzip and bunzip2 logic...
Is there anybody here who currently understands this code? I'd really rather
avoid going through it with a chainsaw, but making minor changes here keeps
breaking seemingly unrelated things. (In _theory_ tar -z and -j support
don't require built-in gzip/gunzip/bzip/bunzip because it can shell out. In
practice, it's not that simple...)
More information about the busybox