Bug in tar option parsing.

Rob Landley rob at landley.net
Mon Apr 16 19:35:27 UTC 2012


On 04/16/2012 11:48 AM, Denys Vlasenko wrote:
> Hi Rob,
> 
> On Mon, Apr 16, 2012 at 6:04 PM, Rob Landley <rob at landley.net> wrote:
>> The uClibc install does this:
>>
>> build/host/tar --exclude=ld-uClibc.so.lds -c *.so.*
> 
>>From what I see in uClibc/Makefile.in, it does a bit different
> thing (-cf - instead of -c):
> 
> $(TAR) --exclude=$(UCLIBC_LDSO_NAME).so.lds -cf - *.so.*
> 
> But anyway...

Yeah, but I already yanked that part and it didn't fix it.  I think it's
--exclude coming before -cf confusing the "tar xvjf" non-dash option
parsing logic?

>> And gets this:
>>
>> build/host/tar: invalid option -- '-'
>> BusyBox v1.19.3 (2012-04-15 20:55:55 CDT) multi-call binary.
> 
> Tried in pristine busybox-1.19.3 tree:
> 
> make defconfig
> make -j9
> ./busybox tar --exclude=ld-uClibc.so.lds -c M* >z.tar
> 
> and it worked.

Huh. That's funny...

> Rob, please send your .config...

Blah, somehow I switched CONFIG_LONG_OPTS off.  My bad.

Rob
-- 
GNU/Linux isn't: Linux=GPLv2, GNU=GPLv3+, they can't share code.
Either it's "mere aggregation", or a license violation.  Pick one.


More information about the busybox mailing list